사건 처리 파이프라인
사건 한 건을 인테이크부터 검수 패키지까지 끌고 가는 자리입니다. “이 사건 분석해줘”, “사건 처리 시작”, “자료 넣었어”, “사건 폴더 만들어” 같은 발화가 legal-case-orchestrator를 트리거합니다. 각 단계는 파일 산출물로 다음 단계에 넘기고, 단계 사이마다 변호사 검수 게이트가 들어갑니다.
전체 흐름
섹션 제목: “전체 흐름”graph TB intake[인테이크 - 사건유형, 자료분량, 산출범위, 자료형태, 양식] folder[사건 폴더 생성 - 사건유형_YYYYMMDD] wait[자료 투입 대기 - 자료 넣었어] pre[① 전처리 - preprocessing-agent] fact[② 사실관계 - fact-agent] g1{변호사 검수} law[③ 법리 검토 - legal-research-agent] g2{변호사 검수} qa[④ QA - qa-agent] brief[⑤ 서면 - brief-agent, 조건부] contract[⑥ 계약 - contract-agent, 조건부]
intake --> folder --> wait --> pre --> fact --> g1 g1 -->|확인| law --> g2 g2 -->|확인| qa --> brief qa --> contract1) 세션 오리엔테이션
섹션 제목: “1) 세션 오리엔테이션”오케스트레이터는 시작할 때 진행 중인 사건 폴더가 있는지 확인합니다(*_*/CASE_INFO.md 스캔). 있으면 마지막 단계부터 이어가고, 없으면 인테이크부터 시작합니다. 법제처 API 키가 없으면 법리 검토가 Mock 모드로 돈다는 걸 미리 알립니다.
2) 인테이크
섹션 제목: “2) 인테이크”질문을 세 개 이하씩 묶어 받습니다. 사건 유형(형사, 민사, 가사, 계약과 상사, 혼합), 자료 분량(소량, 중간, 대량), 산출물 범위(사실관계 보고서, 법리 검토, 전처리만, 서면 초안, 계약 검토), 자료 형태(PDF, DOCX와 HWP, 이미지, 전자소송 ZIP, 혼합), 법인 양식 원본 유무(서면 초안을 고른 경우만)를 묻습니다.
3) 사건 폴더 생성
섹션 제목: “3) 사건 폴더 생성”현재 작업 폴더 안에 사건 폴더를 만듭니다. 폴더명은 {사건유형}_{YYYYMMDD}이고, 사건번호를 알면 {사건번호}_{유형}입니다. 모든 처리는 이 폴더 안으로 한정됩니다(S6 샌드박스).
{CASE_DIR}/├── 00_원자료/{전자소송, 카카오톡_이미지, 계약서_영수증, 기타}/├── 01_분석결과/├── 02_서면초안/├── 03_법리검토/├── 04_검수대기/├── 양식원본/└── CASE_INFO.md # 사건유형, 산출범위, 분량, 생성일, 상태폴더가 만들어지면 자료를 넣으라고 안내하고, 사용자가 “자료 넣었어”라고 할 때까지 대기합니다.
4) 파이프라인 체이닝
섹션 제목: “4) 파이프라인 체이닝”각 에이전트는 이전 산출물의 경로를 입력으로 받고, 파일 경로와 메타데이터를 출력합니다. 에이전트 간 전달은 본문 복붙이 아니라 파일 경로로만 합니다. 컨텍스트를 아끼는 자리입니다.
| 단계 | 에이전트 | 입력 → 출력 | 게이트 |
|---|---|---|---|
| ① 전처리 | preprocessing-agent | 00_원자료/ → extracted/ + 자료목록 | 자료 수 보고 |
| ② 사실 | fact-agent | extracted/ → facts.json + 사실관계보고서.xlsx | 변호사 검수 |
| ③ 법리 | legal-research-agent | facts.json → 법리검토.docx + 인용검증.json | 변호사 검수 |
| ④ 검수 | qa-agent | 산출물 전체 → 04_검수대기/ 패키지 | — |
| ⑤ 서면 | brief-agent(조건부) | 사실 + 법리 + 양식원본/ → 서면_draft.docx | 양식 없으면 보류 |
| ⑥ 계약 | contract-agent(조건부) | 계약서 → redline.docx | 계약 의뢰 시만 |
산출물 범위에서 고른 단계만 실행합니다. 전처리(①)는 항상 먼저 돕니다.
5) 검수 게이트
섹션 제목: “5) 검수 게이트”②와 ③ 뒤에 변호사 검수가 들어갑니다. 사용자가 “확인했어”나 “다음”이라고 하기 전에는 다음 단계로 넘기지 않습니다. ②에서는 모순과 추정을 확인하고, ③에서는 인용을 재확인합니다. AI는 검수를 대행하지 않습니다. 게이트는 사람 몫입니다.
자료가 많을 때 전처리(①)는 검수 게이트가 없고 문서별로 독립적이라, 결정론적 워크플로우로 병렬 추출을 위임할 수 있습니다. 하지만 ②와 ③의 검수 게이트는 절대 워크플로우 안에 넣지 않습니다. 건너뛰면 신뢰 실패입니다.
6) 에러 핸들링
섹션 제목: “6) 에러 핸들링”에이전트가 실패하면 원인을 보고하고 해당 단계를 재시도합니다(최대 2회). 초과하면 사용자 확인을 받습니다. HWP나 OCR 추출 실패 같은 입력 결함은 보류 항목으로 표시하고 파이프라인은 계속합니다(부분 산출). 자료 삭제 같은 파괴적 작업은 자동으로 실행하지 않습니다(S5).
7) 완료 보고
섹션 제목: “7) 완료 보고”처리가 끝나면 사건 폴더와 산출물을 요약합니다. 사실관계 보고서의 타임라인과 모순 수, 법리 검토의 쟁점과 환각률, 서면 수를 한 줄씩 보고합니다.
각 에이전트가 어떻게 구성되는지는 구성에 있습니다. 단계별 상세는 전처리, 사실관계와 법리검토, 검수와 서면에서 봅니다.