모두의포트폴리오
PE · FDE 직군을 위한 포트폴리오 밀키트
예전 판입니다 (1판)이 문서는 2026-08-02 에 새 판으로 개정됐습니다. 산출물을 웹 대시보드에서 인계 문서를 내는 CLI로 좁히고, 이 포트폴리오가 물류 도메인 전문성을 주장하지 않는다는 문장을 명시했습니다.최신 판 보기 →
경력포트로직스 · [FDE] Forward Deployed Engineer

수출입 물류 문서에서 핵심 항목을 추출하고 누락을 짚는 PoC

포트로직스 공고에서 뽑은 세 가지 시그널.

포트로직스 TOMS는 이메일에 의존하던 수출입 물류 문서를 다루는 솔루션이라, 물류 문서 추출·누락 점검 도구는 화주별로 다른 포트로직스의 실제 문서 양식이 있어야 학습되고 검증된다.

01

디지털 포워더 물류

'디지털 포워더로 물류에 IT 기술력'. 문서 추출이 물류 자동화의 핵심.

포워더물류IT
02

이메일 의존 업무

'이메일 의존 업무·비효율 정보 관리 해결'. 문서 추출·누락 점검이 직격.

이메일정보 관리효율
03

TOMS 솔루션

'자사 솔루션 TOMS'. 추출 결과가 솔루션 입력이 됨.

솔루션투명성신뢰

포트폴리오 요약

수출입 물류 문서(이메일·서류)를 받아 핵심 항목(선적·금액·기한)을 원문 근거와 함께 추출하고, 누락·불일치를 짚는 1주 FDE PoC.

고객 정의

포트로직스 FDE. 물류 서류를 사람이 일일이 옮겨 적던 일을, 자동 추출 + 누락 점검 도구로 옮기고 싶은 사람.

고민 지점

문서에 추출 스키마를 붙이면, LLM 이 (a) 핵심 항목을 원문 근거와 함께 추출하고 (b) 누락·불일치를 짚을 수 있다.

주차별 일정

1주차여기까지로 완성

물류 문서 추출 + 누락 점검

물류 문서를 받아 핵심 항목을 원문 근거와 함께 추출하고 누락·불일치를 짚는 동작하는 도구.

  1. 1일 · 스키마 설계 + 판정/생성 규칙 정의
  2. 2-3일 · ingest + 핵심 파이프라인 + Zod 검증
  3. 4일 · 물류 문서 추출 + 누락 점검 핵심 로직 + 근거 인용
  4. 5일 · 대시보드결과·근거 한 화면
  5. 6일 · 일부러 만든 결측·경계·미등록 30종으로 안 깨지는지 점검 + 5% 사람 확인
  6. 7일 · 7일치 시연 영상 + 직접 만든 정답과 비교한 기준선여기까지가 1주차 완성품
2주차선택 성장

추출 정확도 검증

검수자 라벨과 추출 일치도(κ)를 재고, 누락·환각 비율을 보여주는 대시보드.

  1. 8-9일 · 추출 정확도 검증사람 라벨/정답 대비 일치도(Cohen’s κ 또는 정확도) 측정
  2. 10-11일 · 임계·기준 보정 + 오탐 점검
3주차선택 성장

솔루션 연동

추출 결과를 TOMS 등 물류 솔루션에 자동 입력 연동하는 단계.

  1. 12-14일 · 솔루션 연동 확장
  2. 15일 · 확장 시연 + 3주 통합 영상

데모 · 측정 지표

01

물류 문서를 넣으면 핵심 항목과 누락이 원문 근거와 함께 나오는 걸 시연한다

02

추출 항목의 원문 근거(span)가 실제 문서에 존재하는 비율 100%. 없으면 환각 차단

측정: span 일치 규칙, 표본: 추출 200건

03

일부러 만든 결측·불일치·미등록 화주 문서 30종을 넣어도 추출이 멈추지 않고 처리되는 걸 시연한다

정직 경계선

진짜 성능 검증은 여기서 멈춘다

위 수치는 더미데이터 자가채점이며, 실제 추출 정확도는 포트로직스 실데이터 + 실 검수자가 있어야 측정 가능. 이 포트폴리오는 그 검증을 바로 돌릴 수 있는 상태까지 만든다.

미리 알아둬야 할 것들

이건 고객·실데이터 없이 혼자 만든 포트폴리오라 모든 수치는 합성 데이터 자가채점이다. 면접에서 '데모 동작 + 실검증 준비 상태'로 솔직히 설명하는 게 오히려 신뢰를 준다

정답을 내가 만들었으니 잘 맞는 게 당연. 그래서 결측·경계·미등록·표기 흔들림 케이스를 더미에 일부러 섞어 쉬운 문제만 푸는 게 아님을 보여준다

환각 위험: 원문에 없는 값은 추출하지 않고 '확인 필요'로 표시. 가드로 강제

실제 도입 시 달라지는 것: 실 고객 데이터·환경이 더미와 다르므로 규칙·파이프라인을 실데이터로 맞춰야 한다(도입 단계 과제)

더미 데이터

① 인라인 샘플 · ② seed.json 다운로드 · ③ 증강 프롬프트. 세 층 모두 동일한 schema 에서 파생.

logistics_docsTABLE· 12 rows

물류 문서를 추출 입력으로 쓴다

② logistics_docs.seed.json 다운로드
① 인라인 샘플 (프리뷰 5 / 12)
doc_idshipper_rawshipper_idfieldvaluespan
LG900OO상사(구)—선적일——
LG901화주0sh0금액0금액 0
LG902불일치sh2금액9999999—
LG903미등록화주—컨테이너ABC원문에 없음
LG000화주0sh0선적일v0원문 0
③ 증강 프롬프트 (본인 LLM 에 붙여서 N 배 늘리기)
z.object({ doc_id: z.string(), shipper_raw: z.string(), shipper_id: z.string().nullable(), field: z.string(), value: z.string().nullable(), span: z.string().nullable() }). 쉬운 데이터만 만들지 말 것. 다음 하드 케이스를 의도적으로 섞어라: value/span null(추출 실패·근거 없음), value 0/극단, span 원문 불일치(환각), shipper_id null 미등록, shipper_raw 표기 흔들림. 형식 깨뜨리기 시도 3건도 별도로.
schema (3 층의 단일 출처)
z.object({ doc_id: z.string(), shipper_raw: z.string(), shipper_id: z.string().nullable(), field: z.string(), value: z.string().nullable(), span: z.string().nullable() })

기술 상세 · 아키텍처·운영·출력 스키마

기술 스택 매핑
AWS배포 + 문서 스토리지
LLM항목 추출 + 원문 근거 인용
LangChain추출 체인
LlamaIndex문서 인덱싱
Claude추출 본 모델 + 환각 가드
LLM 선택
model
Claude Sonnet(추출) + RAG + 규칙 기반 누락·인용 검증
prompt
few-shot 3 + 근거 인용 강제 + 출력 schema 강제 + 단정 가드
rationale
추출은 LLM, 누락·인용 존재는 규칙으로 검증.
결정 게이트
1주차 끝1주차 완성품이 자동으로 도는가. 여기까지가 그 자체로 제출 가능한 완성품.

✓ pass → 그대로 멈춰도 완성품. 더 키우려면 2주차(추출 정확도 검증)로.

2주차 끝추출 정확도 검증 결과가 나오는가.

✓ pass → 여기서 멈춰도 완결. 더 키우려면 3주차(솔루션 연동)로.

재사용 레이어 · 코어 70% / 도메인 30%
core (재사용 가능)
  • 문서 추출 + 원문 근거 인용 파이프라인
  • 누락·불일치 규칙 엔진
  • Zod 스키마 강제 검증
  • 추출 검수 대시보드
  • 5% 인간 spot-check 샘플러
domain (교체 대상)
  • 물류 문서·선적 항목 스키마
  • 수출입 용어 사전
  • 문서 표기 정규화
출력 스키마 · extract_output

물류 추출 + 누락

schema (JSON Schema)
z.object({ doc_id: z.string(), items: z.array(z.object({ field: z.string(), value: z.string(), span: z.string() })), missing: z.array(z.string()), flagged: z.boolean() })
모범 출력 (3)
[
  {
    "doc_id": "LG000",
    "items": [
      {
        "field": "선적일",
        "value": "2026-06-01",
        "span": "선적일: 2026-06-01"
      }
    ],
    "missing": [],
    "flagged": false
  },
  {
    "doc_id": "LG903",
    "items": [],
    "missing": [
      "컨테이너 근거 없음. 환각 차단"
    ],
    "flagged": true
  },
  {
    "doc_id": "LG900",
    "items": [],
    "missing": [
      "선적일 추출 실패"
    ],
    "flagged": true
  }
]
검증 노트 (자동 vs 수동)

items 의 span 이 원문에 존재하는지·missing 규칙은 자동 검증, 추출 정확성은 검수자/judge 검증.