직접 작성한 초기 기술서 :
naive_Development Roadmap.docx
반도체 제조 산업은 나노미터 단위의 정밀도를 요구하며, 아주 미세한 결함조차도 전체 회로의 기능 정지와 막대한 경제적 손실을 초래할 수 있는 고도의 정밀 공정이다. 전통적인 룰 기반의 자동 광학 검사(AOI) 시스템은 고정된 알고리즘을 통해 결함을 식별해 왔으나, 조명 조건의 변화, 반도체 소자의 복잡한 기하학적 구조, 그리고 배경 노이즈로 인한 높은 오탐율(False Positive)이라는 고질적인 문제를 안고 있다.1 이러한 한계를 극복하기 위해 제안된 본 보고서는 솔트룩스의 루시아(Luxia) 멀티모달 거대언어모델(LLM)과 랭체인(LangChain) 프레임워크, 그리고 OpenCV 기반의 고도화된 영상 처리 기술을 결합한 ‘적응형 2단계 검사(Adaptive Two-Stage Inspection)’ AI 에이전트 시스템에 대한 세밀한 기술적 정의를 제공한다.3
본 시스템의 설계 철학은 효율성과 정밀도의 조화에 있다. 모든 이미지를 고해상도로 정밀 분석하는 것은 API 호출 비용과 처리 시간 측면에서 비경제적이기 때문에, 전체적인 상태를 먼저 파악하고 모호한 경우에만 정밀 검사를 수행하는 계층적 구조를 채택한다.3
시스템은 최신 파이썬 환경인 3.13.3 버전을 기반으로 구축되며, 에이전트의 논리적 흐름을 제어하기 위해 랭체인 표현 언어(LCEL)를 적극 활용한다. 이는 모듈식 설계를 가능하게 하여 정책 변화에 유연하게 대응할 수 있도록 한다.3
| 구성 요소 | 선택 기술 | 기술적 역할 및 선정 이유 |
|---|---|---|
| 언어 및 런타임 | Python 3.13.3 | 강력한 라이브러리 생태계 및 비동기 처리(Asyncio) 지원 |
| 에이전트 오케스트레이션 | LangChain (LCEL) | 프롬프트, 모델, 파서를 하나의 체인으로 결합하여 가독성과 유지보수성 향상 |
| LLM API | Saltlux Luxia API | 한국어 특화 및 멀티모달 추론 능력이 검증된 luxia3-llm 모델군 활용 5 |
| 컴퓨터 비전 | OpenCV, PIL, Numpy | 이미지 전처리, CLAHE 적용, 타일링 및 골든 이미지 비교 수행 7 |
| 데이터 처리 | Pandas | CSV 입출력 관리 및 행 단위 데이터 안정성 확보 3 |
| 사용자 인터페이스 | Streamlit | 대시보드 구성 및 실시간 분석 로그 시각화 9 |
| 웹 아키텍처 | Flask, Node.js, Tailwind CSS | 서버 사이드 로직 확장 및 프론트엔드 UI의 전문성 강화 3 |
에이전트의 두뇌 역할을 하는 루시아 API는 https://bridge.luxiacloud.com/luxia/v1/chat 엔드포인트를 통해 통신한다.6 시스템은 모델의 파라미터(Temperature, Top_p, Max_tokens)를 정밀하게 튜닝하여 결함 판정의 일관성을 확보한다. 특히 반도체 결함 탐지라는 특수 목적을 위해 luxia3-llm-32b-0731 모델을 주력으로 사용하며, 속도가 중요한 전처리 단계에서는 luxia3-llm-8b-0731 모델을 교차 활용하여 경제성을 극대화한다.6
SaltluxLLMWrapper 클래스는 랭체인의 BaseChatModel을 상속받아 구현되며, 이는 솔트룩스 고유의 API 키 인증 방식과 멀티모달 메시지 포맷을 표준 랭체인 인터페이스로 변환하는 역할을 수행한다.3 이미지 데이터는 URL 형태로 전달되거나 Base64 인코딩을 통해 메시지 본문에 포함되어 모델이 픽셀 수준의 정보와 텍스트 지침을 동시에 해석할 수 있도록 한다.10
AI 에이전트가 최선의 판단을 내리기 위해서는 LLM에 전달되는 이미지의 품질이 보장되어야 한다. 이를 위해 VisionTools 클래스는 세 가지 핵심 기능을 제공한다. 대개 영상 전처리를 거치게 되면 컴퓨팅 파워와 시간이 더욱 증가하게 되기 때문에 LLM을 통해서 명백하게 판단가능한 데이터를 제외하고 나서 나머지 애매한 데이터들에 대해서 영상 전처리를 수행하게 된다.
LLM에서 골든 이미지와 비교하여 명확하게 구분된 데이터들을 제외하고 그 다음 이미지들을 확인할 때에 트랜지스터가 반듯하게 정렬되어있는지, 트랜지스터가 파손되었는지 , 핀(다리)가 제대로 꽂혀있는지 등은 그 트랜지스터의 윤곽선을 보고 명확하게 알 수 있다. 따라서,
이미지를 기준으로 상단부터 아래방향으로 70%, 아래에서부터 상단방향으로 60%로 두개로 이미지를 나눈다. 상단 이미지에는 트랜지스터가 대개 모두 포함되며 상단이미지로부터 트랜지스터 불량 여부를 판단, 아래 이미지로부터 핀 고장을 판단하게 된다. 이렇게 타일링을 거친후에 이미지를 더욱 명백하게 판단할 수 있도록 나눈다.