AI 단계(보라)는 Claude 가, 결정론적 단계(초록)는 코드가 수행합니다. 모든 단계는 하나의 PartSpec(부품 사양 JSON)을 주고받습니다.
입력PDF · 링크 · 부품 번호
→
① 자료 확보업로드/다운로드
없으면 웹 검색 에이전트
→
② 페이지 선별핀 표·패키지 도면·
권장 랜드 패턴 페이지
→
③ 추출핀 · 패키지 치수 →
PartSpec
→
④ 생성.kicad_sym
.kicad_mod (IPC-7351)
→
⑤ 검증규칙 검사 +
kicad-cli 파싱
→
⑥ AI 검토데이터시트와
교차 대조
→
⑥-2 3D 모델도면 판독 → STEP
렌더 대조 검토
→
⑦ 저장라이브러리 +
근거 기록
↺ ⑥ 에서 오류가 발견되면 검토 에이전트의 수정 사양으로 ④ → ⑤ → ⑥ 을 다시 수행합니다 (기본 최대 2회). 끝까지 통과하지 못하면 검토 필요 상태로 사람에게 넘깁니다.
| 단계 | 수행 | 하는 일 | 산출물 |
| ① 자료 확보 | 코드 / Claude (web_search·web_fetch) | 업로드 PDF 사용, 링크 다운로드(HTML 이면 PDF 링크 추적). 둘 다 없으면 제조사 공식 사이트 우선으로 후보 URL 을 찾고 차례로 내려받기 시도 | datasheet.pdf |
| ② 페이지 선별 | 코드 (PyMuPDF) | 키워드 점수(pin description, package outline, land pattern…)로 최대 24쪽 선택, 표지·마지막 도면 페이지 보강 | 부분 PDF + 원본 페이지 번호 |
| ③ 추출 | Claude (구조화 출력) | 주문 코드에 맞는 패키지 선택, 핀 번호·이름·전기적 타입, 치수 min/max, 권장 랜드 패턴(있으면 패드 좌표), 근거 페이지 기록 | PartSpec JSON |
| ④ 생성 | 코드 | 심볼: 전원 위/GND 아래/입력 왼쪽/출력 오른쪽 자동 배치, 100 mil 격자. 풋프린트: 패키지 유형별 IPC-7351B Nominal 계산, 코너 간섭·EP 간격 자동 보정, EP 페이스트 분할, 실크/팹/코트야드 | .kicad_sym, .kicad_mod |
| ⑤ 검증 | 코드 + kicad-cli | 핀 번호 중복, 심볼↔패드 1:1 대응, 패드 겹침/간격, 피치 일치, 코트야드 포함, 애뉼러 링, 치수 상식 검사, KiCad 파싱·렌더링 | 검증 리포트 |
| ⑥ AI 검토 | Claude (독립 검토자) | “틀렸다고 가정하고” 데이터시트와 항목별 대조. 오류가 있으면 수정된 전체 사양 제시 | 판정 · 지적 사항 · 수정 사양 |
| ⑥-2 3D 모델 | Claude + 코드 + kicad-cli | 패키지 도면에서 몸체 두께 · 띄움 · 리드 두께/모양 · 윗모서리 경사 · 색 · 각인(Device Marking) 판독 → 다면체 조합으로 STEP(색 포함) 생성 · 획 글꼴로 각인 → 작은 보드에 놓고 kicad-cli pcb render → 그림을 도면과 대조 검토, 틀리면 수정해 다시 | .step (풋프린트에 연결) |
| ⑦ 저장 | 코드 | 심볼 라이브러리에 병합(같은 이름 교체), 풋프린트 파일, 사양·검증·검토 기록 JSON(데이터시트 SHA-1 포함), 데이터시트 사본, lib-table 생성 | library/ |
| 폴더 일괄 | 코드 | 폴더의 PDF 를 큐에 넣고 동시 처리 수만큼 ①~⑦ 을 반복. 데이터시트 SHA-1 로 이미 저장된 파일은 건너뛰고, 라이브러리 병합은 잠금으로 한 번에 하나씩 기록 | 파일별 결과 표 |
app/pipeline.py | 작업 관리와 단계 오케스트레이션 (검토 반복 루프, 폴더 일괄 큐 포함) |
app/agents/finder.py | 데이터시트 웹 검색 에이전트 |
app/agents/extractor.py | 추출 · 검토 에이전트 프롬프트 |
app/agents/llm.py | Claude 호출 — API(스트리밍, JSON 스키마 출력, 거절 시 대체 모델) 또는 CLI 백엔드 선택 |
app/agents/claude_cli.py | Claude Code CLI 헤드리스 실행 (claude -p --json-schema, API 키 불필요) |
app/datasheet.py | 다운로드, 관련 페이지 선별 |
app/kicad/symbol.py · footprint.py | KiCad 9 형식 생성기 |
app/kicad/model3d.py · marking.py · render3d.py | 3D 형상 · STEP 출력 · 각인 글꼴 · KiCad 렌더 |
app/agents/model3d_agent.py | 도면 판독 · 3D 렌더 대조 검토 프롬프트 |
app/kicad/verify.py · preview.py · library.py | 검증 · 미리보기 · 저장 |