사전 10분 학습 카드 · 실제 화면 모크업 · 복사해서 바로 쓰는 입력값 · AI가 실제로 뱉는 출력값까지 담은 Step 1 완성형 교보재입니다. 부장님이 혼자 읽고, 세션에서 직접 손으로 확인하고, 이후 벤더에게 질문할 수 있는 상태를 목표로 합니다.
READ ME FIRST
이 문서 사용법 — 10분 / 60분 / 30분
플립러닝 구조입니다. 세션 전에 각 모듈 맨 위의 파란 카드만 읽으셔도 세션 참여가 가능합니다.
시점
시간
읽을 것 / 할 것
세션 전
10분
각 모듈 상단 사전 학습 카드 3개(1-1·1-2·1-3)만 읽습니다. 나머지는 안 읽으셔도 됩니다. 카드 안의 사전 체크포인트에 O/X만 표시해 오시면 세션 밀도가 크게 올라갑니다.
세션 중
60분
모크업 화면과 코드 블록을 함께 봅니다. 코드 블록의 복사 버튼으로 Obsidian·ChatGPT에 직접 붙여넣습니다. 진행표는 세션 진행표 참조.
세션 후
30분
체크박스를 채우고(브라우저에 자동 저장됨), 벤더 질문 카드 10를 부서 RFP 초안 폴더에 옮겨 둡니다.
문서 안 표시 규칙표준·규격 국제표준/법령 원문에 근거한 내용으로 시간이 지나도 잘 바뀌지 않습니다.
확인 필요 정책·사업명·수치·제품처럼 세션 당일 원문(보도자료·공고문)으로 재확인해야 하는 내용입니다. 보고서에 인용하기 전 반드시 확인하십시오.
시뮬레이션 교육용으로 만든 가상 데이터·가상 실행 결과이며 실측값이 아닙니다.
MODULE 1-1 필수 실습표준·규격
기계판독(Machine-Readable) 데이터 포맷 & Obsidian 지식고 구축
AI가 못 읽는 문서는 AI 사업의 대상이 아닙니다. "우리 자료가 기계가 읽을 수 있는 상태인가"를 판단하는 눈을 만듭니다.
⏱ 세션 전 10분사전 학습 카드 1-1
핵심 직관 비유 — 종이해도 vs ECDIS 벡터해도
종이해도(또는 스캔한 PDF·.hwp)는 사람 눈으로만 읽힙니다. 수심 5m 미만 구역을 찾으려면 항해사가 직접 눈으로 훑어야 하죠.
반면 ECDIS의 S-57/S-101 벡터해도는 수심·부표·항로가 각각 객체와 속성값으로 들어 있어, "안전등심선 10m 이하 구역을 붉게 칠하라"는 질의(Query)가 가능합니다.
AI 시대의 문서 포맷이 정확히 이 차이입니다. HWPX·Markdown·JSON은 벡터해도, 스캔 PDF·이미지 전자결재는 종이해도입니다.
RAG가 안 되는 이유의 8할은 모델이 아니라 해도가 종이라서입니다.
사전 체크포인트 (O/X만 표시해 오세요)
우리 부서가 지난달 만든 문서 중 스캔 이미지·표가 그림으로 박힌 문서가 몇 %쯤 되는가? (감으로 O/X)
부서 규정집·매뉴얼을 파일 하나만 열어서 목차·표·용어 정의가 텍스트로 선택(드래그)되는지 확인했는가?
"AI가 우리 규정을 학습하게 하자"고 할 때, 어떤 파일을 넘길지 지금 바로 지목할 수 있는가?
3줄 요약
모델을 바꾸는 것보다 포맷을 바꾸는 것이 RAG 품질에 더 크게 기여한다. 발주 전에 문서 자산부터 진단한다.
공공 행정문서는 HWPX(개방형 XML), 기술 지식은 Markdown, 시스템 연동은 JSON/EDI, 관계 추론은 그래프가 정답이다.
지식은 파일이 아니라 연결이다. Obsidian 백링크로 "복원성 ↔ VGM ↔ BAPLIE"가 자동으로 이어지는 것을 손으로 확인한다.
※ Obsidian은 노트가 내 PC의 .md 파일로만 저장되고 기본 상태에서 서버로 전송되지 않습니다. 공공기관 개인 지식관리 도구로 적합한 이유입니다. 단, Sync·Publish 부가서비스는 외부 전송이므로 사용하지 않습니다.
1. 포맷별 기계판독성 비교 — "이 문서, AI에 넘겨도 되나?"
포맷
구조 특성
RAG 파싱 적합도
BPA 도메인 활용 예시
리더가 볼 리스크
HWP (구 바이너리)
비공개 바이너리 구조. 텍스트 추출 시 표·머리말·각주 깨짐.
낮음 전처리 필수
레거시 공문 아카이브
파싱 실패를 모델 성능 탓으로 오인 → 사업 재발주
HWPX표준
XML 기반 개방형 문서(ZIP+XML). 태그로 문단·표·속성 접근 가능.
중~상 표 구조 보존 양호
내부 행정문서, 규정집, 기안문, 공문서
변환만 하고 표·서식이 이미지로 박힌 경우 효과 없음
PDF (텍스트 레이어)
레이아웃 고정. 컬럼·표 순서가 뒤섞여 추출되는 경우 빈번.
중 레이아웃 파서 필요
대외 공표 자료, 국제협약 원문(IMO/ISO)
스캔 PDF는 사실상 이미지 → OCR 비용·오류 발생
Markdown표준
경량 평문. 제목 계층(#)·표·링크가 그대로 의미 구조가 됨.
최상 토큰 효율 최고
기술 매뉴얼, 지식관리(PKM), 프롬프트 템플릿, 시스템 규칙 파일
서식·결재선 표현 불가 → 행정문서 대체 불가
CSV
표 형태 순수 데이터. 단, 자료형·단위 정보가 없음.
상(수치 연산 주의)
물동량 통계, 장비 가동 로그
단위 미표기(kg/톤) → 10배 오류의 온상 (1-2 참조)
JSON표준
Key-Value 명시. 스키마 검증 가능. 데이터 매트릭스 보존.
최상 스키마 강제 가능
TOS 연동 API, AI 출력 규격, 알림톡 페이로드
스키마 미정의 시 벤더별 상이 → 종속(Lock-in)
XML / EDIFACT표준
세그먼트·자격코드 기반 국제 전자문서. 규격서가 곧 스키마.
상 규격 지식 필수
BAPLIE, COPRAR, COARRI, CODECO, MOVINS
LLM이 규격을 암기하는 척 하며 창작 (1-2 실증)
Graph DB (RDF / Property)
노드-엣지 관계 저장. 다단계 관계 추론(Graph RAG)에 강점.
특수 구축비 높음
선박↔선석↔안벽크레인↔장치장↔컨테이너 관계 추적, 사고 원인 역추적
초기 온톨로지 설계 실패 시 재구축 = 사업 실패
발주 관점 한 줄
RFP에 "RAG 정확도 90%"만 쓰면 안 됩니다. "납품 대상 문서 N건의 포맷 구성(HWPX/PDF-텍스트/스캔) 사전 진단서 제출"을 과업에 넣으십시오.
포맷 진단 없이 시작한 RAG 사업은 대부분 "데이터 정제 추가 비용" 협의로 지연됩니다.
2. Obsidian 실제 화면 — 3분할 인터페이스 미리보기
세션에서 부장님이 직접 보게 될 화면입니다. 왼쪽 폴더 트리, 가운데 편집기, 오른쪽 백링크 + 그래프 세 영역만 기억하시면 됩니다.
Obsidian — BPA_항만지식고 (Vault)
📁 파일 탐색기
▾ BPA_항만지식고
▾ 01_선박운항
선박_복원성.md
VGM_검증총중량.md
▾ 02_EDI표준
BAPLIE_적부계획.md
COPRAR_하역지시.md
▾ 03_안전규정
IMDG_위험물규칙.md
▾ 04_터미널운영
선석배정_DDBAP.md
▸ 05_학습노트
기울임 = 아직 만들지 않은 노트
01_선박운항 / 선박_복원성.md · 편집 모드
---
tags: [선박운항, 안전, 복원성]
확인일: 2026-09-06
출처: IMO IS Code 2008 (Res. MSC.267(85))
---# 선박 복원성 (Ship Stability)
선박이 외력으로 기울어졌을 때 원래 평형으로 돌아오려는 성질.
**GM이 작으면** 복원력이 약해 전복 위험이 커진다.
## 핵심 관리 지표
- **GM(횡메타센터 높이)**: 경심 M과 무게중심 G 사이 거리
- **GM 악화 원인**: 상단 갑판(High Tier) 과중량 적재
- **FSE(자유표면효과)**: 탱크 부분적재 시 G 상승
## 연관 데이터
- 중량 근거: [[VGM_검증총중량]]
- 적부 위치: [[BAPLIE_적부계획]]
- 격리 규칙: [[IMDG_위험물규칙]]
🔗 백링크 (3)
BAPLIE_적부계획.md중량 오기는 [[선박_복원성]]을 악화…
IMDG_위험물규칙.md오적재는 [[선박_복원성]] 및 화재…
VGM_검증총중량.md실측 근거가 [[선박_복원성]] 계산의…
🕸 그래프 뷰
점선·빈 원 = 링크만 걸리고 아직 없는 노트
화면 구성 재현 이미지 · 실제 Obsidian UI는 버전에 따라 다를 수 있습니다.
3. 복사해서 바로 쓰는 마크다운 노트 3종 (+보너스 1종)
Obsidian 설치 → 새 보관함(Vault) 만들기 → 이름 BPA_항만지식고 → 아래 파일을 하나씩 새 노트로 붙여넣기. 파일명은 첫 줄 제목과 동일하게 지정합니다. 대괄호 [[노트명]] 부분이 자동으로 링크가 되는지 확인하십시오.
① 01_선박운항 / 선박_복원성.md
---
tags: [선박운항, 안전, 복원성]
확인일: 2026-09-06
출처: IMO 2008 IS Code (Res. MSC.267(85)), SOLAS Ch.II-1
---# 선박 복원성 (Ship Stability)
선박이 외력을 받아 기울어졌을 때 원래의 평형 상태로 돌아오려는 성질.
복원성이 부족하면 횡경사 → 화물 이동 → 전복으로 이어진다.
## 핵심 관리 지표
- **GM (횡메타센터 높이)**: 경심(M)과 무게중심(G) 사이의 거리. GM > 0 이어야 안정.
- **GZ 곡선**: 경사각별 복원정(Righting Lever). 면적이 곧 복원 에너지.
- **GM 악화 원인**: 상단 갑판(High Tier)에 과중량 컨테이너 적재 → G 상승 → GM 감소.
- **FSE (자유표면효과)**: 밸러스트/연료 탱크 부분 적재 시 유효 G 상승.
## 연관 규정 및 데이터
- 중량의 실측 근거: [[VGM_검증총중량]]
- 적부 위치 및 배치 정보: [[BAPLIE_적부계획]]
- 위험물 상호 격리 수칙: [[IMDG_위험물규칙]]## AI 적용 시 주의
복원성 계산은 **결정론적 물리 계산**이다. LLM에게 계산을 시키지 않는다.
LLM의 역할은 *입력값 수집·이상치 탐지·보고서 초안*까지이며,
계산은 검증된 로딩 컴퓨터(Loading Computer)가 수행하고 최종 확인은 1등항해사가 한다.
② 02_EDI표준 / BAPLIE_적부계획.md
---
tags: [EDI, EDIFACT, 적부계획, 터미널운영]
확인일: 2026-09-06
출처: UN/EDIFACT D.95B, SMDG BAPLIE 구현 가이드
---# BAPLIE 적부계획 (Bayplan / Stowage Plan Occupied and Empty Locations)
선사 ↔ 터미널 간에 **"어느 칸에 어떤 컨테이너가 실려 있는가"**를 주고받는
UN/EDIFACT 표준 전자문서. ISO 9735 구문 규칙을 따른다.
## 주요 데이터 요소 (Segment)
1. **LOC+147**: 적부 위치. Bay-Row-Tier **7자리** 식별자 (예: `0100882`)
2. **MEA+WT**: 중량. 단위 코드 `KGM` 필수 → [[VGM_검증총중량]]
3. **EQD+CN**: 컨테이너 번호 + ISO 규격코드(45G1=40ft HC, 22G1=20ft GP)
4. **DGS+IMD**: 위험물 등급/UN번호 → [[IMDG_위험물규칙]]
5. **LOC+9 / LOC+11**: 선적항(POL) / 양하항(POD)
## 안전성 검증 연결
- 적재 중량 오기는 [[선박_복원성]]을 직접 악화시킨다.
- 선석·시간 배정 결과는 [[선석배정_DDBAP]] 노트에서 다룬다.
## AI 적용 시 주의
LLM은 EDI 규격을 **암기한 척** 하며 없는 세그먼트를 창작한다.
반드시 파서(코드)가 1차 처리하고, LLM은 *해석·요약·이상 설명*만 담당한다.
③ 03_안전규정 / IMDG_위험물규칙.md
---
tags: [안전, 위험물, IMDG, 국제협약]
확인일: 2026-09-06
출처: IMDG Code (IMO), 위험물선박운송 및 저장규칙
---# IMDG 위험물 규칙 (International Maritime Dangerous Goods Code)
해상 운송 위험물의 분류·표찰·수납·**격리(Segregation)**를 규정한 국제 기준.
## 분류 (Class 1~9)
- **Class 1** 폭발성 물질 · **Class 2** 가스 · **Class 3** 인화성 액체
- **Class 4** 가연성 고체 · **Class 5** 산화성 물질 · **Class 6** 독물·전염성
- **Class 7** 방사성 · **Class 8** 부식성 · **Class 9** 기타 (리튬전지 UN3480 등)
## 격리 원칙
"Away from / Separated from / Separated by a complete compartment /
Separated longitudinally" 4단계. 격리표는 사람이 최종 확인한다.
## 시스템 연동
- [[BAPLIE_적부계획]]의 DGS 세그먼트에 등급·UN번호가 명시되어야 한다.
- 오적재는 화재·유독가스뿐 아니라 [[선박_복원성]]에도 영향을 준다.
## AI 적용 시 주의
격리표 판정을 LLM 단독으로 시키지 않는다. 규칙표는 **결정론적 룰엔진**으로 구현하고
LLM은 *"왜 이 조합이 금지인지"* 설명 생성에만 사용한다.
④ [보너스] 01_선박운항 / VGM_검증총중량.md — 끊긴 링크를 잇는 노트
---
tags: [중량, 안전, SOLAS, VGM]
확인일: 2026-09-06
출처: SOLAS Ch.VI Reg.2 (VGM 의무화, 2016.7 시행)
---# VGM 검증총중량 (Verified Gross Mass)
컨테이너 **총중량(화물+포장+컨테이너 자체 무게)**을 화주가 검증해 제출하는 제도.
미제출 컨테이너는 선적 금지. SOLAS 개정으로 2016년 7월부터 전 세계 의무.
## 검증 방법
- **Method 1**: 적재 완료된 컨테이너를 계량대에서 통째로 계량
- **Method 2**: 개별 화물·포장·고박재 중량 합산 + 컨테이너 자중(Tare)
## 단위 함정 (AI 사고 다발 구간)
EDI에서는 `KGM`(킬로그램)이 표준이나, 사내 문서는 **톤(t)** 혼용이 잦다.
`24500 KGM` = 24.5 t 이다. 이 자릿수 혼동이 [[선박_복원성]] 계산을 무너뜨린다.
→ 상세 사고 사례는 Module 1-2 참조.
## 연관
- [[BAPLIE_적부계획]] MEA 세그먼트로 전달됨
- [[선박_복원성]] 계산의 입력값
이 4번째 노트가 중요한 이유
①~③ 노트만 만들면 [[VGM_검증총중량]]은 "링크는 걸렸는데 실체가 없는 노트"로 남습니다(그래프에서 점선·빈 원).
이것이 바로 지식 자산의 구멍을 시각적으로 드러내는 기능입니다.
RAG 사업에서도 똑같습니다 — "참조는 되는데 원문이 없는 규정"이 환각의 최대 공급원입니다.
부서 지식고를 만들 때는 점선 노드부터 채우는 것이 우선순위입니다.
4. 백링크가 만드는 관계망 — 그래프 뷰에 나타나는 결과
Obsidian은 [[노트A]]를 쓰기만 하면 노트A 쪽에 "역방향 링크(백링크)"를 자동 생성합니다. 사람이 양쪽에 링크를 두 번 걸 필요가 없습니다. 위 4개 노트를 만들면 아래 관계가 자동으로 형성됩니다.
노트
내가 건 링크 (아웃링크 →)
자동 생성된 백링크 (← 역방향)
선박_복원성
VGM_검증총중량, BAPLIE_적부계획, IMDG_위험물규칙
BAPLIE_적부계획, IMDG_위험물규칙, VGM_검증총중량 (3)
BAPLIE_적부계획
VGM_검증총중량, IMDG_위험물규칙, 선박_복원성, 선석배정_DDBAP
선박_복원성, IMDG_위험물규칙, VGM_검증총중량 (3)
IMDG_위험물규칙
BAPLIE_적부계획, 선박_복원성
선박_복원성, BAPLIE_적부계획 (2)
VGM_검증총중량
선박_복원성, BAPLIE_적부계획
선박_복원성, BAPLIE_적부계획 (2)
선석배정_DDBAP (미생성 노트)
—
BAPLIE_적부계획 (1) → 그래프에 점선 빈 원으로 표시
그래프 뷰 (Graph View) — 전체 보관함
노드 크기 = 연결 수. 점선 원 = 링크만 있고 노트가 없는 "지식 공백" 지점.
리더의 관점으로 번역하면
이 그래프가 곧 Graph RAG의 축소판입니다. 벤더가 "Graph RAG로 구축하겠다"고 하면 물어야 할 것은 기술이 아니라 온톨로지입니다 —
"노드는 무엇으로 정의하는가(선박? 컨테이너? 규정 조항?)", "엣지 관계 종류는 몇 개인가", "누가 관계를 유지·보수하는가".
부장님이 오늘 손으로 만든 노드 5개가 그 질문의 기준점이 됩니다.
MODULE 1-2 선택 실습표준·규격
BAPLIE EDI 실습 데이터 & AI 환각(Hallucination) 실증 실험
"AI가 틀린다"는 말은 누구나 합니다. 오늘은 어떻게 틀리는지를 눈으로 보고, 규칙 한 장으로 막히는 것까지 확인합니다.
⏱ 세션 전 10분사전 학습 카드 1-2
핵심 직관 비유 — 레이더의 False Echo(허상 표적)
레이더 화면에 실제로는 없는 배가 찍히는 일은 흔합니다. 사이드로브 반사, 다중 반사, 간섭…
그런데 화면상으로는 진짜 표적과 완벽히 똑같이 보입니다. 그래서 항해사는 "화면에 있다 = 존재한다"로 믿지 않고
육안·ARPA·AIS·VHF로 교차 확인합니다. 이건 훈련이 아니라 규정입니다.
LLM의 환각이 정확히 False Echo입니다. 문장은 유창하고 형식은 완벽한데 근거가 없습니다.
따라서 답은 "더 좋은 모델"이 아니라, 항해에서 이미 쓰고 있는 교차확인 규정을 AI 워크플로에 이식하는 것입니다.
그것이 오늘 만들 System Skill + HITL 게이트입니다.
사전 체크포인트 (O/X만 표시해 오세요)
우리 부서가 AI에게 시키는 일 중 숫자를 계산하거나 옮겨 적는 작업이 있는가?
그 결과를 사람이 원본과 대조하는 절차가 문서로 정해져 있는가? (감으로 O/X)
AI가 "모르겠습니다"라고 답하면, 우리는 그걸 성능 미달로 볼 것인가 정상 동작으로 볼 것인가?
3줄 요약
환각은 버그가 아니라 언어모델의 기본 동작이다. 없앨 수 없고 가둘 수만 있다 — 규칙·스키마·게이트로 가둔다.
가장 위험한 환각은 틀린 문장이 아니라 그럴듯한 숫자다. 24,500kg이 2,450kg으로 바뀌면 복원성 계산이 무너진다.
좋은 AI는 "총계를 낼 수 없습니다"라고 멈추는 AI다. RFP에는 정확도뿐 아니라 거절률·미상 처리 규격을 함께 써야 한다.
1. 실습 입력값 — UN/EDIFACT BAPLIE 샘플 (교육용 축약본)
아래를 그대로 복사해서 ChatGPT·Gemini·Claude 대화창에 붙여넣습니다. 컨테이너 3개가 들어 있고, 그중 1개는 의도적으로 중량(MEA) 정보가 빠져 있습니다. 이 빈칸을 AI가 어떻게 처리하는지가 오늘 실험의 핵심입니다.
※ 세 번째 컨테이너(0140886 / MSCU9988776)에는 MEA 세그먼트가 없습니다 — 실무에서 흔한 "VGM 미제출" 상황을 재현한 것입니다.
※ 실 운영 파일은 컨테이너당 RFF·FTX·TMP(냉동온도) 등이 더 붙습니다. 교육 목적으로 핵심 세그먼트만 남긴 축약본입니다.
세그먼트 해설 — 이 표만 알면 EDI가 읽힙니다
세그먼트
이름
의미
샘플에서의 값
UNB / UNZ
교환 봉투
발신자·수신자·일시. 편지의 겉봉투.
MSCHQ → BPANPT, 26-09-06 14:00
UNH / UNT
메시지 헤더/트레일러
메시지 종류와 버전, 세그먼트 개수. UNT 숫자와 실제 개수가 다르면 파일 손상.
BAPLIE D:95B, 23개
BGM
문서 시작
문서번호·기능코드(9=원본).
BAY20260906
DTM
일시
137=문서일시, 178=실제 접안(ATB)/예정.
26-09-07 02:00 (ETB)
TDT
운송 수단
항차·선사·IMO 번호·선명.
241N / MSC / IMO 9776171 / MSC BUSAN
LOC+5 / +61
출발항 / 최종항
UN/LOCODE 5자리.
KRPUS (부산)
LOC+147★
적부 위치
Bay-Row-Tier 7자리. 이 문서의 심장. 아래 해부도 참조.
0100882 / 0090884 / 0140886
MEA+WT★
중량
단위코드 KGM + 값. 없으면 VGM 미상.
24500 / 21800 / 없음
EQD+CN
컨테이너 정보
컨테이너 번호 + ISO 규격(45G1=40ft HC, 22G1=20ft GP, 45R1=40ft 냉동).
부장님이 세션에서 바로 던지실 질문
"Tier가 82부터 시작하는 이유가 뭔가?" → 갑판 상부와 선창 내부를 번호대로 구분하기 위해서입니다.
선창 내부는 02, 04, 06…, 갑판 위는 82, 84, 86…으로 올라갑니다(짝수만 사용 — 홀수는 20ft 전용 관행).
즉 82단은 "높은 곳"이 아니라 "갑판 바로 위 첫 단"입니다.
이 상식이 없으면 AI가 "82단에 적재 = 매우 높음 = 복원성 위험"이라고 그럴듯하게 틀린 보고서를 써도 걸러내지 못합니다.
도메인 지식이 곧 환각 탐지기입니다.
2. 실험 A — 나쁜 프롬프트: 환각을 유도해 본다 시뮬레이션
아래 대화를 그대로 재현해 보십시오. 모델·시점에 따라 문구는 달라지지만 오류의 종류는 거의 동일하게 재현됩니다.
ChatGPT — 새 대화 (System Instruction 없음)
부장
User
[위 BAPLIE EDI 데이터 붙여넣기]
위 EDI 데이터를 분석해서 선박의 컨테이너 적재 현황과 총 무게를 알려줘.
표로 깔끔하게 정리하고, 정보가 부족한 부분은 항만 관례에 따라 합리적으로 추정해서 채워줘.
보고서에 바로 넣을 거라 빈칸 없이 완성해줘.
AI
Assistant · 환각 발생
분석 결과를 정리해 드리겠습니다. 본선 MSC BUSAN(IMO 9776171)의 적부 현황은 다음과 같습니다.
▍적재 현황
· 0100882 — Bay 010 / Row 08 / Tier 82, MSCU1234567, 2,450 kg
· 0090884 — Bay 009 / Row 08 / Tier 84, TGHU7654321, 21,800 kg (IMDG Class 3, UN1993)
· 0140886 — Bay 014 / Row 08 / Tier 86, MSCU9988776, 26,000 kg (동급 냉동 컨테이너 평균값으로 추정)
· 0140896 — Tier 96 상단 갑판, 위성통신 안테나 장비 10,000 kg
▍총 중량: 약 60.25톤이며, 상단 갑판 중량 집중으로 GM이 0.35m 수준까지 저하될 것으로 계산됩니다.
▍근거: ISO 9735 제4.7조 및 SMDG BAPLIE 가이드 §3.2.1에 따라 미기재 중량은 선종별 평균으로 보간하는 것이 관례입니다.
재현 예시 · 실제 출력 문구는 모델과 시점에 따라 달라집니다.
환각 해부 — 무엇이 어떻게 틀렸는가
환각 유형
출력된 내용
실제 데이터
현장에서의 결과
① 자릿수·단위 오류 가장 위험
2,450 kg
MEA+WT++KGM:24500 → 24,500 kg (10배 축소)
복원성 계산 입력값 붕괴. 과소 중량 신고는 실제 전복 사고의 원인이 되어 왔음
② 없는 데이터 창작
0140896 / Tier 96 / 위성통신 안테나 10톤
원본에 LOC+147 세그먼트는 정확히 3개뿐. 4번째 위치·화물은 존재하지 않음
실재하지 않는 화물이 보고서에 등재 → 재고·과금 불일치
③ 결측치 임의 보간
"동급 평균 26,000 kg으로 추정"
MEA 세그먼트 없음 = VGM 미상. 정답은 "모름"
미상이 숫자로 위장되어 검증 기회 자체가 사라짐 — 가장 교활한 유형
④ 규격·조항 창작
"ISO 9735 제4.7조", "SMDG 가이드 §3.2.1"
해당 조항 번호는 확인되지 않음. 그럴듯한 인용 형식만 모방
감사·분쟁 시 기관 신뢰도 훼손. 대외 문서에 인용되면 회수 불가
⑤ 파생 계산 오염
"GM 0.35m까지 저하"
①②③의 오염된 값으로 계산한 결과. 입력이 틀리면 결론도 틀림
안전 판단을 AI 계산에 의존하는 순간 책임 소재가 사라짐
여기서 얻어야 할 결론 (Step 3 RFP로 이어짐)
환각 ②·④는 사람이 "어? 이상한데?" 하고 알아챌 여지가 있습니다. 그러나 ①과 ③은 눈으로 못 잡습니다.
2,450과 24,500은 둘 다 그럴듯한 숫자고, "평균 26톤"은 오히려 성실해 보입니다.
그래서 통제는 사람의 주의력이 아니라 시스템 규칙으로 걸어야 합니다.
→ RFP 문구: "결측 데이터에 대한 추정·보간을 금지하고, 미상 항목은 null 및 사유 코드로 반환하며, 미상 포함 시 집계값 산출을 차단할 것."
3. 실험 B — System Skill 적용: 같은 모델이 어떻게 달라지는가
모델을 바꾸지 않습니다. 규칙 한 장(System Instruction)만 앞에 붙입니다.
Gemini / Claude — System Skill: STRICT_EDI_PARSER_V2 적용
부장
User
[아래 System Skill 규칙 붙여넣기] + [BAPLIE EDI 데이터 붙여넣기]
위 System Skill 규칙을 엄격히 준수하여 EDI를 파싱하고 지정 스키마의 JSON으로만 출력하라.
규칙에 어긋나는 요청이 있으면 규칙을 우선한다.
규칙 R1에 따라 결측 VGM을 추정하지 않았습니다. 총계는 R6(미상 전파)에 의해 null로 차단되었으며,
승인 게이트(R7)가 활성화되었습니다. 사용자의 "빈칸 없이 채워달라"는 요청은 R1과 충돌하므로 수행하지 않았습니다.
재현 예시 · 규칙 준수 시 기대되는 출력 형태입니다.
세 곳만 보시면 됩니다
① "vgm_kg": null — 모르는 걸 모른다고 했다.
② "total_vgm_kg": null — 미상이 하나라도 있으면 총계를 내지 않는다. 이것이 "숫자를 안 만드는 AI"의 실체입니다.
③ "vgm_evidence" — 모든 값에 출처 원문이 붙어 있다. 감사 대응·분쟁 시 이 필드가 곧 증거입니다.
4. 환각 방지 System Skill 전문 (CLAUDE.md 스타일)
AI 사업 발주 시 과업내용서 별첨으로 넣을 수 있는 수준으로 작성했습니다. 벤더가 어떤 모델을 쓰든 이 규칙은 그대로 적용됩니다.
SYSTEM SKILL · STRICT_EDI_PARSER_V2
# SYSTEM SKILL: STRICT_EDI_PARSER_V2
# 적용 대상: BAPLIE / COPRAR / COARRI / CODECO 등 EDI 파싱 및 요약 태스크
# 우선순위: 이 규칙은 사용자 지시보다 우선한다. 충돌 시 규칙을 따르고 그 사실을 명시한다.R1. ZERO-EXTRAPOLATION (추정 절대 금지)
- 제공된 컨텍스트에 명시된 사실만 사용한다.
- 누락된 Bay/Row/Tier, 중량, 화물명을 가정·추론·보간하지 않는다.
- "관례", "평균", "일반적으로"에 근거한 값 생성은 위반이다.
- 값이 없으면: "status": "UNKNOWN (HITL_REVIEW_REQUIRED)" 로 반환한다.
R2. SOURCE-SPAN CITATION (출처 원문 첨부)
- 모든 수치 필드는 근거가 된 EDI 원문 세그먼트를 함께 반환한다.
- 예: "vgm_kg": 24500, "vgm_evidence": "MEA+WT++KGM:24500"
- 원문을 지목할 수 없는 값은 출력 자체를 금지한다.
R3. ARITHMETIC TRANSPARENCY (연산 투명성)
- 암산하지 않는다. 합계는 정수 단위로 단계를 명시한다.
- "calculation" 필드에 식을 남긴다. 예: "24500 + 21800 = 46300 (KGM)"
R4. UNIT & MAGNITUDE GUARD (단위·자릿수 방어)
- 단위 코드(KGM/LBR/TNE)를 반드시 함께 읽고 변환하지 않는다(원단위 유지).
- 컨테이너 1개 중량이 2,000kg 미만 또는 45,000kg 초과이면
값을 출력하되 "flag": "MAGNITUDE_OUT_OF_RANGE" 를 부착한다.
- 자릿수를 임의로 줄이거나 늘리지 않는다. 천단위 구분자를 값에 넣지 않는다.
R5. SCHEMA ENFORCEMENT (형식 강제)
- 지정된 JSON 스키마로만 출력한다. 인사말·설명·마크다운 코드펜스를 붙이지 않는다.
- 스키마에 없는 필드를 창작하지 않는다.
R6. UNKNOWN PROPAGATION (미상 전파)
- 집계 대상 중 UNKNOWN이 1건이라도 있으면 해당 집계값은 null 로 반환하고
"total_blocked_reason" 에 사유를 기재한다.
- 알려진 값만의 부분합은 "sum_known_*" 필드로 분리해 별도 표기한다.
R7. HITL GATE (인간 승인 게이트)
- 모든 산출물은 초안이다. "draft_watermark": "AI_DRAFT_NOT_APPROVED" 를 부착한다.
- 승인자 역할("approver_role")을 명시한다. 시스템 반영(Commit)은 수행하지 않는다.
- 안전(복원성/위험물/격리) 관련 판정은 결론을 내지 않고 근거만 제시한다.
R8. SELF-CHECK (자체 검증)
- 출력 전 확인: (a) UNT 선언 세그먼트 수 = 실제 카운트 일치 여부
(b) 표준 외 세그먼트 태그 존재 여부
(c) 출력한 컨테이너 수 = 원문 LOC+147 개수 일치 여부
- 불일치 시 "parse_status": "INTEGRITY_FAIL" 로 반환하고 파싱을 중단한다.
규칙 8개 중 발주서에 반드시 넣을 3개R1(추정 금지) · R2(출처 첨부) · R7(HITL 게이트).
이 셋은 모델 성능과 무관하게 계약으로 강제할 수 있는 항목이며, Step 3의 RAGAS 충실도(Faithfulness) 지표와 직접 연결됩니다.
R2가 없으면 충실도 측정 자체가 불가능하다는 점을 기억하십시오 — 출처 없는 답변은 채점할 수 없습니다.
5. HITL 게이트 — AI가 절대 넘지 못하는 선
1 · 수신선사 BAPLIE EDI 수신 (TOS/EDI 게이트웨이)
▶
2 · 파서결정론적 코드가 1차 구문 검증 (UNT 카운트·세그먼트 문법)
▶
3 · AI 초안요약·이상탐지·설명 생성 R1~R6 적용
▶
4 · 게이트UNKNOWN·FLAG 존재 시 자동 반영 차단
▶
5 · 사람 승인선적 플래너/1등항해사 확인 후 서명
▶
6 · 반영TOS Commit + 승인자·일시 감사로그 기록
4번 게이트가 이 구조의 전부입니다. "AI가 판단해서 자동 반영"은 편리해 보이지만, 사고 발생 시 책임 주체가 사라집니다.
반대로 5번에서 승인자 역할과 서명이 기록되면 AI는 업무를 줄이는 도구로 남고 책임 구조는 그대로 유지됩니다.
항운노조·현장 반발 대응 논리도 여기서 나옵니다 — "AI는 플래너를 대체하지 않고, 플래너가 검토할 것을 정리해 준다."
MODULE 1-3 심화일부 확인 필요
AI 하드웨어 생태계 · 양자 컴퓨팅 · 양자내성암호(PQC)
"우리가 GPU를 사야 하나?", "양자로 선석 배정이 된다는데 진짜인가?", "지금 암호를 바꿔야 하나?" — 이 세 질문에 답할 수 있게 만듭니다.
⏱ 세션 전 10분사전 학습 카드 1-3
핵심 직관 비유 ① 하드웨어 — 크레인과 야드의 관계
GPU는 다목적 하버 모바일 크레인입니다. 컨테이너도 들고 벌크도 들고 중량물도 듭니다. 만능이라 비싸고 전기를 많이 먹습니다. → 학습(Training)에 씁니다. NPU는 ARMGC(자동화 야드 크레인)입니다. 컨테이너 한 가지만 하지만, 그 한 가지를 훨씬 싸고 조용하게 24시간 반복합니다. → 추론(Inference)에 씁니다. HBM은 크레인 바로 옆 버퍼 야드입니다. 크레인이 아무리 빨라도 컨테이너를 대주는 속도가 못 따라가면 크레인은 놀게 됩니다.
오늘날 AI 성능 병목의 상당 부분이 연산이 아니라 이 "대주는 속도(메모리 대역폭)"에 있습니다.
그래서 "GPU 몇 장 사면 되나"는 틀린 질문입니다. 옳은 질문은 "우리는 학습을 할 것인가, 추론만 할 것인가"입니다. 대부분의 공공기관 답은 추론만입니다.
핵심 직관 비유 ② 양자 — 미로 탐색 vs 조류(潮流)
고전 컴퓨터는 미로의 갈림길을 하나씩 차례로 가봅니다. 양자 컴퓨터는 중첩(Superposition)을 이용해 모든 수로에 동시에 물을 흘려보내고,
간섭(Interference)으로 가장 낮은 곳(최적해)에 확률을 몰아줍니다. 조류가 저절로 최단 수로를 찾아내는 것과 같습니다.
단, 물을 흘려보낼 수로를 먼저 파야 합니다. 그 설계도가 QUBO 수식이고, 수로를 파는 비용이 큐빗 수입니다.
벤더가 "양자로 최적화하겠다"고 하면 "변수 몇 개짜리 문제이고 큐빗은 몇 개 필요합니까"부터 물으십시오.
사전 체크포인트 (O/X만 표시해 오세요)
우리 부서가 앞으로 할 AI 업무는 모델을 새로 학습시키는 일인가, 만들어진 모델을 쓰기만 하는 일인가?
우리가 지키려는 데이터 중 10년 뒤에도 비밀이어야 하는 것이 있는가? (항만 시설 도면, 보안계획, 특수화물 이력 등)
선석·장비 배정에서 지금 사람의 경험으로 푸는 문제는 무엇이고, 그 결정 변수는 대략 몇 개인가?
3줄 요약
공공기관은 대부분 추론(Inference)만 한다. 그러면 GPU가 아니라 저전력 NPU + 온프레미스 sLLM이 TCO·보안 양쪽에서 유리하다.
양자 최적화는 유망하지만 아직 실증 단계다. 지금 해야 할 일은 도입이 아니라 문제를 QUBO로 정식화해 두는 것이다.
양자 암호 위협은 도입 여부와 무관하게 이미 시작됐다. '선수집 후해독' 때문에 오늘 오간 통신이 미래에 해독된다. 암호 인벤토리부터 만든다.
강: 대역폭 병목 해소, 긴 컨텍스트 처리에 결정적 약: 단독 제품이 아님(칩에 내장), 용량당 단가 높음
장문 규정집·EDI 로그 통합 질의 성능
"우리 문서 길이면 메모리 용량·대역폭이 얼마나 필요한가?"
NPU Neural Processing Unit
추론(Inference) 특화 저전력 전용칩
강: 전력당 성능·단가 우수, 상시 가동에 유리 약: 소프트웨어 스택 성숙도가 최대 변수. 지원 모델·연산자 제약
온프레미스 sLLM 상시 서비스, 현장 CCTV·센서 엣지 추론
"우리가 쓸 모델이 이 NPU에서 실제로 도는가(변환·최적화 지원 목록 제출)?"
국산 NPU 도입 시 가장 큰 실무 리스크 — 성능이 아니라 "포팅"
국산 NPU의 연산 성능 자체는 벤치마크에서 경쟁력을 보여 왔습니다. 그러나 실제 사업에서 발목을 잡는 것은 소프트웨어 스택입니다.
NVIDIA는 CUDA 생태계 위에서 대부분의 모델이 그냥 돕니다. 국산 NPU는 모델을 컴파일러로 변환해야 하고, 지원되지 않는 연산자가 있으면 성능이 급락하거나 아예 안 돕니다.
→ RFP 필수 문구: "제안 하드웨어에서 실제 구동 가능한 모델·양자화 방식 목록과 변환 실패 시 대응 방안을 제출하고, BMT는 발주처가 지정한 모델로 수행한다."벤치마크 수치가 아니라 "우리 모델이 도는가"를 계약으로 확인하십시오.
과기정통부 K-Cloud 프로젝트 — 개요와 활용 관점 확인 필요
항목
내용
사업 취지
국산 AI 반도체(NPU)를 클라우드 인프라에 실증·적용해 AI 반도체 → 클라우드 → 서비스로 이어지는 국내 생태계를 만드는 과학기술정보통신부 주도 사업.
구조
국산 NPU 기업 + 클라우드 사업자(CSP) + 수요 기관이 컨소시엄을 이루어 실증 과제를 수행하는 방식.
주요 국산 NPU
리벨리온(ATOM·REBEL 계열), 퓨리오사AI(RNGD 계열) 등. 기업 구성·제품 세대는 변동이 잦으므로 세션 당일 확인
BPA 연결 고리
① 항만 특화 sLLM을 국산 NPU 온프레미스로 구동 → 데이터 주권 + 망분리 양립 ② 수요기관 실증 참여를 통한 사업비 부담 완화 및 레퍼런스 확보 ③ Step 4 Project AX-Port 소버린 AI 전략의 하드웨어 축
주의
기존 가이드에 기재된 연산 성능 수치(예: 39.9PF)는 이 문서에서 사실로 확정하지 않았습니다. 사업 단계·센터별로 수치가 다르므로, 보고서·제안서에 인용하기 전 반드시 과기정통부/NIA 보도자료 원문으로 확인하십시오. 공공 문서에서 출처 없는 수치 인용은 감사 지적 사항이 됩니다.
리더의 결론 문장 (이대로 쓰셔도 됩니다)
"우리는 모델을 만들지 않고 쓰기만 한다. 따라서 고가 GPU 자체 구매가 아니라 ① 비민감 업무는 상용 API,
② 민감 업무는 국산 NPU 기반 온프레미스 sLLM의 투트랙으로 간다. 하드웨어 선정 기준은 벤치마크 수치가 아니라
우리 모델의 구동 검증(BMT)과 3년 TCO(전력·유지보수·인력)다."
공개키 암호(PKI) 전면 무력화. RSA-2048, ECC(ECDSA/ECDH) 모두 해당.
공인인증·TLS·코드서명·AIS/VDES 인증·EDI 전송 채널 보안이 동시에 영향권.
PQC 전면 전환 (대체 외 방법 없음)
Grover 그로버, 1996
비구조 탐색의 이차 가속
고전: O(N) → 양자: O(√N)
대칭키의 실효 강도 절반으로. 이론상 AES-128의 탐색 비용이 2128 → 264 수준.
해시(SHA-2/3) 충돌 저항성도 일부 하락.
키 길이 2배화 AES-256, SHA-384 이상
흔한 과장을 바로잡습니다 — Grover는 Shor만큼 급하지 않습니다
"AES-128이 64비트가 된다"는 이론적 상한입니다. 실제로 Grover는 순차적 반복 구조라 병렬화로 얻는 이득이 제한적이고,
264번의 오류정정된 양자 연산을 수행하는 물리적 비용은 현실적으로 매우 큽니다.
그래서 국제적으로도 대칭키(AES)는 256비트로 올리는 정도의 보수적 대응에 머무는 반면,
공개키(RSA·ECC)는 알고리즘 자체를 교체하는 전면 전환을 요구합니다.
→ 우선순위: 공개키 교체 ≫ 대칭키 길이 확대. 벤더가 "양자 위협" 한 마디로 전면 재구축을 제안하면 이 구분을 물어보십시오.
3. 양자내성암호(PQC) 표준과 항만 대응
PQC는 양자 컴퓨터로도 풀기 어려운 수학 문제 — 주로 격자(Lattice) 위의 최단벡터 문제 — 에 기반한 암호입니다. 이미 표준이 확정되어 전환 단계에 들어섰습니다.
표준
알고리즘 원명
용도
비고
FIPS 203 · ML-KEM확정
CRYSTALS-Kyber
키 교환 (KEM)
격자 기반. TLS·VPN 등 통신 채널 보호의 주력. 사실상 최우선 적용 대상.
FIPS 204 · ML-DSA확정
CRYSTALS-Dilithium
전자서명
격자 기반. 문서서명·코드서명·인증서 체인의 주력 대체재.
FIPS 205 · SLH-DSA확정
SPHINCS+
전자서명
해시 기반. 느리지만 수학적 가정이 가장 보수적 → 장기 보존용 서명에 적합.
FN-DSA진행 상태 확인
Falcon
전자서명
서명 크기가 작아 대역폭 제약 환경(위성·선박통신)에 유리. 표준화 단계 확인 필요.
HQC확인
—
키 교환 (백업)
격자와 다른 수학 기반의 예비 KEM. 격자가 깨질 경우를 대비한 분산 전략.
KpqC확인 필요
국내 공모 선정 알고리즘
KEM/서명
국내 자체 PQC 공모 사업으로 선정된 알고리즘군. 국내 공공 적용 시 국제표준(FIPS)과의 병행·상호운용 방침을 소관 기관에 확인해야 합니다.
'선수집 후해독(Harvest Now, Decrypt Later)' — 왜 지금인가
공격자는 지금 암호화된 통신을 통째로 수집해 저장해 둡니다. 해독은 10년 뒤 양자 컴퓨터가 나온 다음 합니다. 즉 오늘 오간 통신의 안전은 오늘의 암호 강도가 아니라 "이 정보가 몇 년간 비밀이어야 하는가"로 결정됩니다.
모스카의 정리(Mosca's Theorem) — 보고서에 그대로 쓰실 수 있는 프레임X + Y > Z 이면 이미 늦었다. X = 이 데이터가 비밀로 유지되어야 하는 기간 Y = 우리 조직이 암호 체계를 전환하는 데 걸리는 기간 Z = 암호 해독 가능한 양자 컴퓨터가 등장하기까지의 기간
BPA 대입 예시가정값 — 항만 시설 도면·보안계획·특수화물 이력의 비밀 유지 기간 X = 20년,
OT 포함 전면 암호 전환 소요 Y = 5~7년, 양자 등장 시점 추정 Z = 10~15년.
→ 20 + 6 = 26 > 15. 이미 늦은 상태입니다. 지금 시작해도 빠듯합니다.
※ X·Y·Z는 기관이 스스로 정하는 값입니다. 이 세 숫자를 부서 차원에서 정하는 것 자체가 Step 1의 산출물이 됩니다.
PQC 전환 5단계 — 부장님이 지시할 수 있는 순서
단계
과제
내용 · 산출물
1
암호 인벤토리 CBOM 작성
어디에 어떤 암호가 쓰이는지 목록화. TOS·EDI 게이트웨이·VPN·CCTV·AGV/크레인 제어망·출입통제·전자문서 서명까지. "모르는 곳은 바꿀 수 없다" — 이 단계 없이 시작하는 전환은 전부 실패합니다.
2
자산 위험 등급화
각 자산에 X(비밀 유지 기간)를 부여해 우선순위 결정. 장기 비밀(도면·보안계획) > 중기(계약·물동량) > 단기(공개 스케줄).
3
크립토 애자일리티 Crypto-Agility
암호 알고리즘을 코드 수정 없이 교체할 수 있는 구조로 설계. 신규 사업 RFP에 지금부터 필수 요건으로 명시 — 이것이 가장 비용 효율이 높은 조치입니다.
4
하이브리드 전환
기존(ECDH) + PQC(ML-KEM)를 동시에 쓰는 하이브리드 모드부터 적용. 한쪽이 깨져도 안전하고, 상호운용성 문제를 점진적으로 흡수합니다.
5
검증 · 감사
전환 결과 검증, 미전환 자산 잔여 목록 관리, 정기 재평가. 국가 차원의 전환 로드맵·지침과 일정 정합성 확인. 소관 지침 확인
오늘 당장 할 수 있는 단 하나
전환은 몇 년짜리 과제지만, 3단계(크립토 애자일리티)를 신규 RFP 요건에 한 줄 넣는 것은 오늘 할 수 있습니다.
"본 사업에서 구축하는 시스템은 암호 알고리즘을 설정 변경만으로 교체할 수 있는 구조로 설계하며, PQC(ML-KEM/ML-DSA) 적용 가능성을 설계 문서에 명시한다." 지금 짓는 시스템은 10년을 갑니다. 지금 안 넣으면 10년 뒤 전부 뜯어야 합니다.
4. 양자 최적화 — 동적 선석 배정(DDBAP)을 QUBO로 옮기기
양자 컴퓨터는 "선석을 배정하라"는 말을 알아듣지 못합니다. 문제를 0과 1로 된 변수의 에너지 함수로 번역해야 합니다. 그 번역 규격이 QUBO이고, 그 위에서 도는 알고리즘이 QAOA입니다.
QUBO FORMULATION · Dynamic & Discrete Berth Allocation Problem
// ── 결정 변수 ────────────────────────────────────────────────
x[i,b,t] ∈ {0, 1}
= 1 선박 i 를 선석 b 에 시각 t 부터 접안시킨다
= 0 그렇지 않다
i ∈ 선박집합 V, b ∈ 선석집합 B, t ∈ 시간슬롯 T
// ── 목적 함수 ────────────────────────────────────────────────H(x) = H_cost + P1·H_assign + P2·H_conflict + P3·H_depth① H_cost (최소화 대상 — 실제 비용)
H_cost = Σ_(i,b,t) c(i,b,t) · x[i,b,t]
c(i,b,t) = w1·대기시간(i,t) + w2·선석-장치장 이송거리(i,b) + w3·크레인 재배치비용
② H_assign (제약 — 각 선박은 정확히 한 번만 배정)
H_assign = Σ_i ( 1 − Σ_(b,t) x[i,b,t] )²
※ 이 항이 빠지면 "아무 배도 대지 않는다"(x 전부 0)가 최저 에너지 해가 되어
최적화가 무의미해진다. QUBO 정식화에서 가장 흔한 누락 지점.③ H_conflict (제약 — 동일 선석·동일 시간 중복 접안 금지)
H_conflict = Σ_(b,t) Σ_(i<j) x[i,b,t] · x[j,b,t]
두 선박이 같은 (b,t)를 점유하면 1·1 = 1 → 페널티 발생
④ H_depth (제약 — 물리적 불가: 흘수 > 선석 수심)
H_depth = Σ_(i,b,t) d(i,b) · x[i,b,t]
d(i,b) = 1 if 흘수(i) > 계획수심(b) − 여유수심(UKC)
= 0 otherwise
// ── 페널티 가중치 설정 원칙 ──────────────────────────────────
P1, P2 > max|c(i,b,t)| 제약 위반이 어떤 비용 절감보다 비싸야 한다
P3 ≫ P1, P2 물리적으로 불가능한 배치는 절대 선택 금지
예: P1 = P2 = 1e6, P3 = 1e7
// ── 문제 규모 ────────────────────────────────────────────────
변수 개수 = |V| × |B| × |T|
예) 선박 4 × 선석 3 × 시간슬롯 6 = 72개 이진변수 (= 72 논리 큐빗)
예) 선박 8 × 선석 5 × 시간슬롯 24 = 960개 이진변수
기존 가이드에서 바로잡은 부분
이전 문서의 QUBO 수식에는 ②의 "각 선박은 정확히 한 번 배정된다"는 제약이 빠져 있었습니다.
그 상태로는 모든 변수가 0인 상태(= 어떤 배도 접안시키지 않음)가 에너지 0으로 최적해가 되어 버립니다.
제약 조건 정식화의 완결성 자체가 양자 최적화 사업의 핵심 검수 포인트입니다.
벤더 산출물에서 "목적함수 + 모든 제약이 페널티항으로 빠짐없이 옮겨졌는지"를 반드시 확인하십시오.
수식을 직접 못 세우셔도 "자명해(모두 0)가 최적해가 되지 않는가?" 한 마디면 검증이 됩니다.
양자 시뮬레이터 실행 결과 시뮬레이션
실제 QAOA 시뮬레이터(Qiskit Aer 등)를 돌렸을 때 부장님이 보시게 될 출력의 형태입니다. 수치는 교육용 가상값입니다.
CONSOLE · ddbap_qaoa.py (simulator output)
$ python ddbap_qaoa.py --vessels 4 --berths 3 --slots 6 --layers 3 --shots 2048
[BUILD ] QUBO 생성 완료 : 변수 72, 이차항 1,236, 상수항 1
[BUILD ] 페널티 : P1=1.0e+06 P2=1.0e+06 P3=1.0e+07
[QAOA ] 백엔드 aer_simulator | p=3 | 최적화기 COBYLA
[QAOA ] iter 40 <H> = 1.284e+06 ← 아직 제약 위반 상태
[QAOA ] iter 120 <H> = 3.117e+02
[QAOA ] iter 190 <H> = 2.410e+02 ← 수렴
[QAOA ] 수렴 완료 (Δ<H> < 1e-3, 194 iters, 38.4s)
=== 상위 측정 결과 (2,048 shots) ===
순위 배정 조합(비트스트링 축약) 에너지 측정수 확률
1 x[0,B2,t0] x[1,B1,t2] x[2,B3,t1] x[3,B2,t5] 241.0 612 29.9%
2 x[0,B2,t0] x[1,B1,t2] x[2,B3,t3] x[3,B2,t5] 268.0 341 16.7%
3 x[0,B1,t0] x[1,B2,t2] x[2,B3,t1] x[3,B1,t5] 295.0 210 10.3%
4 x[0,B2,t0] x[1,B1,t2] x[2,B3,t1] x[3,B1,t5] 311.0 168 8.2%
… (이하 생략, 제약 위반 해 포함)
=== 제약 검증 (순위 1) ===
H_assign = 0 ✔ 모든 선박이 정확히 1회 배정됨
H_conflict = 0 ✔ 동일 선석·시간 중복 없음
H_depth = 0 ✔ 흘수 초과 배치 없음
H_cost = 241.0 (가중 비용 단위)
→ 실행 가능해(Feasible). 채택.
산출된 최적 선석 배정표 시뮬레이션
선박
선석
ETA
접안 ETB
이안 ETD
대기
흘수 / 계획수심
MSC BUSAN IMO 9776171
B2
09-07 02:00
09-07 02:00
09-07 14:00
0.0 h
14.5 m / 17.0 m ✔
HMM ALGECIRAS
B1
09-07 04:30
09-07 06:00
09-07 20:00
1.5 h
16.0 m / 17.0 m ✔
ONE HARBOUR
B3
09-07 03:30
09-07 04:00
09-07 12:00
0.5 h
12.0 m / 15.0 m ✔
SITC BUSAN
B2
09-07 14:00
09-07 16:00
09-07 22:00
2.0 h
10.5 m / 17.0 m ✔
총 대기시간 4.0시간 (동일 조건 룰기반 기준선 11.5시간 대비 −65%) 가상 비교값 · 실측 아님
09-07 (KST)
0003060912151821
B1 (수심 17.0)
HMM ALGECIRAS · 06–20
B2 (수심 17.0)
MSC BUSAN · 02–14SITC · 16–22
B3 (수심 15.0)
ONE HARBOUR · 04–12
B2에 두 척이 배정되었으나 시간이 겹치지 않습니다 → H_conflict = 0. 제약이 실제로 지켜졌음을 눈으로 확인하는 지점입니다.
현실 점검 — 벤더가 "양자로 선석 배정" 제안서를 들고 오면
위 예시는 선박 4척·선석 3개·시간슬롯 6개짜리 장난감 문제이고, 그것만으로도 72개 변수입니다.
실제 신항 규모(선박 8척·선석 5개·24슬롯)면 960개 변수이고, 오류정정을 감안한 물리 큐빗은 그보다 몇 자릿수 더 필요합니다.
현 시점에서 이 규모는 범용 양자 하드웨어로 풀리지 않습니다. 실무적으로는 고전 시뮬레이티드 어닐링·양자 영감(Quantum-inspired) 솔버·하이브리드가 현실적인 선택지입니다.
→ 물어볼 세 가지: ① 변수 개수는? ② 논리/물리 큐빗 요구량은? ③ 고전 솔버 대비 성능 우위를 어떤 벤치마크로 증명하는가?
세 번째 질문에 답을 못 하면 그 제안은 연구과제이지 조달 대상이 아닙니다.
그럼에도 지금 해 둘 일 — "정식화 자산" 확보
하드웨어가 준비되기 전에 가치가 나오는 부분이 있습니다. 우리 문제를 수식으로 정확히 옮겨 두는 일입니다.
목적함수(대기시간·이송거리·크레인 재배치)와 제약(1회 배정·중복 금지·흘수·조위·야드 연계)을 정리해 두면
① 지금 당장 고전 최적화 솔버에 그대로 투입할 수 있고, ② 나중에 양자로 옮길 때 재사용됩니다.
즉 양자 도입 여부와 무관하게 남는 자산입니다. Step 4 Project AX-Port의 K-PCO 과제로 연결하십시오.
SESSION RUNSHEET
60분 세션 진행표 — 부장님 주도 70% / 대리님 지원 30%
화면 공유 없이도 이 문서만 띄워 놓고 진행할 수 있도록 구성했습니다.
시간
활동
내용
주도
0–08
사전 체크 공유
사전 학습 카드 3장의 체크포인트 O/X를 부장님이 먼저 말씀하십니다. 여기서 나온 X가 오늘 세션의 우선순위가 됩니다.
부장님
08–20
1-1 Obsidian 실습
보관함 생성 → 노트 4개 붙여넣기 → 백링크 확인 → 그래프 뷰에서 점선 노드 확인. 손으로 직접 타이핑하는 구간.
부장님 대리 지원
20–25
1-1 리더십 전환
"우리 부서 문서 중 AI에 넘길 수 있는 것 / 없는 것"을 각 1개씩 지목. RFP 문구 메모.
부장님
25–33
1-2 환각 유도
BAPLIE 샘플 + 나쁜 프롬프트를 실제로 입력. 무엇이 나오는지 함께 관찰. 모델별로 다르게 나오는 것이 정상 — 그 자체가 학습 포인트
부장님 대리 지원
33–41
1-2 규칙 적용
System Skill 붙여넣고 재실행 → null 출력 확인 → 환각 5유형 표로 대조.
부장님
41–46
1-2 리더십 전환
HITL 6단계 중 우리 업무의 4번 게이트를 어디에 둘 것인가 결정. 항운노조 설득 논리 1문장 작성.
부장님
46–54
1-3 하드웨어·양자
GPU/NPU/HBM 비유 확인 → 모스카 X·Y·Z 값 우리 기관 기준으로 직접 대입 → QUBO 자명해 검수 포인트 확인.
부장님
54–60
마무리
체크리스트 저장 확인, 벤더 질문 카드 10 중 이번 분기에 실제로 쓸 3개 선택, 다음 Step 예고.
부장님
시간이 30분밖에 없는 날의 최소 코스
① 1-2 환각 유도 실험(8분) → ② System Skill 적용 후 null 확인(8분) → ③ HITL 게이트 위치 결정(7분) → ④ 벤더 질문 3개 선택(7분).
Module 1-1과 1-3은 문서 자습으로 대체 가능하지만, 1-2의 환각 실험은 반드시 눈으로 보셔야 합니다.
LEADERSHIP TOOLKIT
벤더·수행사에 던질 질문 카드 10
Step 1의 내용을 조달 현장에서 쓰는 문장으로 바꾼 것입니다. 그대로 읽으셔도 됩니다. 답변이 막히는 지점이 곧 그 제안의 약한 고리입니다.
납품 대상 문서 N건의 포맷 구성을 진단해 제출해 주십시오.스캔 PDF·이미지 표 비율이 얼마입니까? 전처리 비용은 본 사업 범위에 포함됩니까, 별도입니까? (1-1)
결측 데이터를 만나면 시스템은 무엇을 출력합니까?추정값입니까, null입니까? 추정한다면 어떤 근거로, 그 사실을 사용자에게 어떻게 알립니까? (1-2 · R1)
모든 수치 답변에 출처 원문을 붙일 수 있습니까?붙일 수 없다면 우리는 충실도(Faithfulness)를 측정할 방법이 없습니다. 어떻게 채점할 생각이십니까? (1-2 · R2)
집계값에 미상 항목이 섞이면 어떻게 처리합니까?부분합만 내고 총계는 차단합니까, 아니면 그냥 더합니까? 이 동작을 SLA에 명시할 수 있습니까? (1-2 · R6)
AI가 시스템에 직접 반영(Commit)하는 지점이 있습니까?있다면 승인자 역할·서명·감사로그는 어떻게 남습니까? 사고 시 책임 주체는 누구입니까? (1-2 · R7)
우리가 지정한 모델이 제안 하드웨어에서 실제로 구동됩니까?지원 모델·양자화 방식 목록과 변환 실패 시 대응책을 제출해 주십시오. BMT는 발주처 지정 모델로 하겠습니다. (1-3)
3년 TCO를 제시해 주십시오.장비가 아니라 전력·냉방·유지보수·운영 인력까지 포함한 총소유비용 기준입니다. (1-3)
암호 알고리즘을 설정 변경만으로 교체할 수 있습니까?PQC(ML-KEM/ML-DSA) 적용 경로가 설계 문서에 있습니까? 없다면 10년 뒤 전면 재구축입니다. (1-3 · 크립토 애자일리티)
이 최적화 문제의 변수 개수는 몇 개입니까?필요한 논리/물리 큐빗은? 그리고 고전 솔버 대비 우위를 어떤 벤치마크로 증명하시겠습니까? (1-3 · QUBO)
제약 조건이 빠짐없이 페널티항으로 옮겨졌습니까?확인 방법 하나만 여쭙겠습니다 — "아무것도 배정하지 않는 해"가 최적해가 되지는 않습니까?(1-3 · H_assign)
이 10개 질문의 공통 구조
전부 "성능이 얼마나 좋은가"가 아니라 "틀렸을 때 어떻게 되는가"를 묻습니다.
데모는 잘 되는 경우만 보여줍니다. 리더가 확인해야 할 것은 실패 경로입니다 — 항해에서 비상절차를 먼저 확인하는 것과 같습니다.
GLOSSARY
영문 약어 풀이 사전
회의 중 모르는 약어가 나오면 이 표를 검색하십시오. 아래 상자에 한글·영문·약어 아무거나 입력하면 즉시 걸러집니다.
약어
원어
뜻 · 이 문서에서의 맥락
BAPLIE
Bayplan / Stowage Plan Occupied and Empty Locations
선박 적부계획 EDI 메시지. 어느 칸에 어떤 컨테이너가 있는지를 선사↔터미널이 주고받는 표준 전자문서. Module 1-2의 주 재료.
EDIFACT
Electronic Data Interchange for Administration, Commerce and Transport
UN이 정한 국제 전자문서 교환 표준. 세그먼트·자격코드 구조.
ISO 9735
—
EDIFACT의 구문 규칙 표준. 구분자·세그먼트 문법을 정의.
SMDG
Ship Message Design Group
해운 EDI 메시지 구현 가이드를 만드는 국제 사용자 단체. BAPLIE 실무 규격의 출처.
COPRAR
Container Discharge/Loading Order
선사가 터미널에 보내는 하역 지시 EDI.
COARRI
Container Discharge/Loading Report
터미널이 선사에 보내는 하역 결과 보고 EDI.
CODECO
Container Gate-in/Gate-out Report
컨테이너 반출입 보고 EDI.
COPINO
Container Pre-Notification
반출입 사전통보 EDI.
MOVINS
Stowage Instruction
선사→터미널 적부 지시 EDI. BAPLIE와 짝을 이룸.
VGM
Verified Gross Mass
검증총중량. 컨테이너 총중량을 화주가 검증해 제출하는 SOLAS 의무 제도. 미제출 시 선적 금지.
IMDG
International Maritime Dangerous Goods Code
해상 위험물 분류·격리 국제 규정. Class 1~9.
IMO
International Maritime Organization
국제해사기구. SOLAS·IMDG·MARPOL 등의 주관 기구. 선박 식별 IMO 번호로도 쓰임.
SOLAS
Safety of Life at Sea
해상인명안전협약. VGM 의무의 근거.
ISPS
International Ship and Port Facility Security Code
국제 선박·항만시설 보안규칙. 항만 보안계획(PFSP)의 근거.
ECDIS
Electronic Chart Display and Information System
전자해도 표시정보 시스템. 기계판독 포맷의 원조 비유(Module 1-1).
AIS
Automatic Identification System
선박자동식별장치. 스푸핑·조작 위험이 지속 제기되는 영역.
GM
Metacentric Height
횡메타센터 높이. 경심 M과 무게중심 G의 거리. 복원성의 핵심 지표.
GZ
Righting Lever
복원정. 경사각별 복원 모멘트 팔 길이.
FSE
Free Surface Effect
자유표면효과. 탱크 부분 적재 시 유효 무게중심 상승.
UKC
Under Keel Clearance
선저여유수심. QUBO의 H_depth 제약 근거.
ETA / ETB / ETD
Estimated Time of Arrival / Berthing / Departure
도착·접안·출항 예정시각. 선석 배정 최적화의 입력값.
POL / POD
Port of Loading / Discharge
선적항 / 양하항. BAPLIE의 LOC+9 / LOC+11.
UN/LOCODE
UN Code for Trade and Transport Locations
유엔 지역코드 5자리. KRPUS = 부산.
TEU
Twenty-foot Equivalent Unit
20피트 컨테이너 환산 단위.
TOS
Terminal Operating System
터미널 운영 시스템. AI 산출물이 최종 반영되는 곳 = HITL 게이트가 지켜야 할 지점.
STS
Ship-To-Shore Crane
안벽크레인. 풍속 제한 등 안전 제약의 대표 사례.
ARMGC
Automated Rail Mounted Gantry Crane
자동화 야드 크레인. NPU 비유의 대상(한 가지 일을 싸고 반복적으로).
AGV
Automated Guided Vehicle
무인 이송장비. OT 보안·GPS 교란의 직접 표적.
BAP / DBAP / DDBAP
(Dynamic / Discrete) Berth Allocation Problem
선석 배정 문제. QUBO 정식화의 대상(Module 1-3).
JIT 입항
Just-In-Time Arrival
대기 없이 도착하도록 항해 속력을 조절하는 운항 방식. 연료·탄소 절감.
LLM
Large Language Model
대규모 언어모델. 확률적으로 다음 토큰을 예측하는 구조 → 환각의 근본 원인.
sLLM
small Large Language Model
경량·특화 언어모델. 온프레미스·NPU 구동에 적합. 소버린 AI의 실체.
RAG
Retrieval-Augmented Generation
검색으로 근거 문서를 찾아 붙인 뒤 답을 생성하는 방식. 포맷 품질에 성능이 직결됨.
Graph RAG
—
지식을 노드-엣지 그래프로 저장해 다단계 관계 추론을 하는 RAG. Obsidian 그래프 뷰가 축소판.
HITL
Human In The Loop
인간 개입 승인. AI가 넘지 못하는 선을 설계하는 원칙(Module 1-2 · 5단계).
환각
Hallucination
근거 없이 그럴듯한 내용을 생성하는 현상. 레이더 False Echo와 같은 성격.
토큰
Token
모델이 처리하는 텍스트 최소 단위. 비용·길이 제한의 기준.
컨텍스트 윈도우
Context Window
한 번에 넣을 수 있는 토큰 한도. 길수록 HBM 등 메모리 요구가 커짐.
임베딩
Embedding
문장을 숫자 벡터로 바꾼 것. 검색 재현율의 성능을 좌우.
청킹
Chunking
문서를 검색 단위로 자르는 작업. 잘못 자르면 정답이 통째로 누락됨.
리랭커
Re-ranker
검색된 문서를 재정렬해 노이즈를 걷어내는 모듈. 검색 정밀도 개선의 핵심.
파인튜닝
Fine-tuning
기존 모델을 우리 데이터로 추가 학습. GPU가 필요한 유일한 구간.
RAGAS
RAG Assessment
RAG 품질 정량 평가 프레임(충실도·답변관련성·검색정밀도·재현율). Step 3의 주 도구.
Golden Set
—
발주처가 직접 만드는 정답 질의응답 세트. 벤더가 만들면 평가가 아니라 연출이 됨.
BMT
Benchmark Test
조달 전 성능 검증 시험. 발주처 지정 모델·데이터로 수행해야 의미가 있음.
시스템 인스트럭션
System Instruction / System Prompt
대화 전체에 적용되는 상위 규칙. STRICT_EDI_PARSER_V2가 그 예.
HWPX
—
XML 기반 개방형 한글 문서 포맷(KS X 6101). 기계판독 가능.
OCR
Optical Character Recognition
이미지에서 글자를 인식하는 기술. 스캔 문서를 쓰려면 필수이나 오류·비용이 붙음.
GPU
Graphics Processing Unit
범용 병렬 연산 칩. 학습(Training) 담당. 다목적 하버크레인 비유.
NPU
Neural Processing Unit
추론 특화 저전력 칩. 추론(Inference) 담당. ARMGC 비유. 최대 변수는 소프트웨어 스택.
HBM
High Bandwidth Memory
연산칩에 붙는 초고속 메모리. 데이터를 대주는 속도가 성능 병목을 결정.
TCO
Total Cost of Ownership
총소유비용. 장비값 + 전력·냉방·유지보수·인력. 조달 판단의 진짜 기준.
PF
PetaFLOPS
초당 1,000조 회 부동소수점 연산. 데이터센터 규모 표기 단위.
큐빗
Qubit
양자 비트. 0과 1의 중첩 상태를 가짐. 논리 큐빗 1개 ≠ 물리 큐빗 1개(오류정정 필요).
Module-Lattice Digital Signature Algorithm (FIPS 204)
격자 기반 전자서명 표준. 원명 CRYSTALS-Dilithium.
SLH-DSA
Stateless Hash-Based DSA (FIPS 205)
해시 기반 서명 표준. 원명 SPHINCS+. 느리지만 가정이 가장 보수적 → 장기 보존용.
HNDL
Harvest Now, Decrypt Later
선수집 후해독. 지금 암호문을 모아 두고 미래에 해독하는 공격. 오늘의 통신이 표적.
Mosca's Theorem
—
X(비밀 유지 기간) + Y(전환 소요) > Z(양자 등장 시점)이면 이미 늦음. 리더의 판단 프레임.
크립토 애자일리티
Crypto-Agility
암호 알고리즘을 코드 수정 없이 교체 가능한 설계. 오늘 RFP에 넣을 수 있는 유일한 즉시 조치.
CBOM
Cryptographic Bill of Materials
암호 자산 목록. "어디에 어떤 암호를 쓰는지" 대장. 전환의 1단계.
OT
Operational Technology
운영기술. 크레인·AGV·PLC 등 물리 설비를 제어하는 시스템. IT 보안과 요구사항이 다름(가용성 최우선).
IEC 62443
—
산업제어시스템(OT) 보안 국제표준군. 자동화 터미널 사업 RFP의 참조 기준.적용 범위 확인
CSAP
Cloud Security Assurance Program
클라우드 보안인증. 공공 클라우드 도입의 전제 조건. 등급제 운영 현황 확인
DLP
Data Loss Prevention
데이터 유출 방지. 외부 AI 전송 전 마스킹 게이트로 사용.
PII
Personally Identifiable Information
개인식별정보. 가명처리·비식별 조치 대상.
소버린 AI
Sovereign AI
데이터·모델·인프라를 자국(자기관) 통제 아래 두는 전략. 국산 NPU + 온프레미스 sLLM이 실행 수단.
벤더 락인
Vendor Lock-in
특정 공급자에 종속되어 교체 비용이 과도해지는 상태. 스키마·프롬프트·평가셋을 발주처가 소유하면 완화됨.
Opt-out
No Training on Your Data
우리 데이터를 벤더 모델 학습에 쓰지 못하게 하는 계약 조항. RFP 필수.
SLA
Service Level Agreement
서비스 수준 협약. 충실도 미달 시 페널티를 여기에 넣습니다.
SOURCES & VERIFICATION
출처 구분과 "세션 당일 확인" 목록
공공 문서에 인용하기 전 반드시 확인해야 할 항목을 분리해 두었습니다. 출처 없는 수치 인용은 감사 지적 사항이 됩니다.
표준·규격 — 원문이 존재하며 잘 바뀌지 않는 내용
UN/EDIFACT · ISO 9735 · SMDG BAPLIE — EDI 세그먼트 구조, LOC+147의 Bay-Row-Tier 7자리 체계
SOLAS Ch.VI Reg.2 — VGM(검증총중량) 제출 의무
IMDG Code — 위험물 Class 1~9 및 격리 원칙
IMO 2008 IS Code — 복원성 기준(GM·GZ)
NIST FIPS 203 / 204 / 205 — ML-KEM, ML-DSA, SLH-DSA 표준
KS X 6101 — HWPX 개방형 문서 포맷 국가표준
Shor(1994) / Grover(1996) — 알고리즘 복잡도
확인 필요 — 인용 전 원문 재확인 (정책·수치·제품·조직)
항목
확인처
확인 사유
K-Cloud 사업 연산 성능 수치 (기존 가이드의 39.9PF 등)
과기정통부 · NIA 보도자료
사업 단계·센터별로 수치가 달라 본 문서에서는 사실로 확정하지 않았습니다. 보고서 인용 시 원문 확인 필수.
국산 NPU 기업·제품 세대
각 사 공식 자료 · 사업 공고문
합병·제품 세대 교체가 잦음. BMT 대상 확정 시점의 최신 정보 필요.
KpqC 선정 알고리즘 및 국제표준 병행 방침
국정원 · KISA · 과기정통부
국내 공공 적용 시 FIPS와의 상호운용·병행 방침 확인 필요.
PQC 국가 전환 로드맵 일정
소관 부처 지침
기관 전환 계획의 일정 정합성 확보를 위해 필요.
FN-DSA(Falcon) · HQC 표준화 진행 단계
NIST
표준 확정 시점이 항목별로 다름.
CSAP 등급제 운영 현황
KISA · 과기정통부
공공 클라우드 조달 조건이 등급별로 달라짐.
망분리 정책 변화 등급 기반 다층 보안 체계로의 전환
국정원 지침
Step 2·3의 보안 아키텍처 전제가 바뀌는 사안이므로 반드시 최신 지침 확인. 아래 별도 안내 참조.
AI 관련 국내 법령 시행 사항
법제처 · 소관 부처
Step 3 조달 거버넌스의 전제. 아래 별도 안내 참조.
Step 2·3 준비를 위해 지금 확인해 두실 두 가지① 망분리 정책 — 국내 공공 보안 정책이 일률적 물리 망분리에서 데이터 중요도 등급에 따른 다층 보안 체계로 이동해 왔습니다.
이것이 사실이면 Step 2의 "하이브리드 클라우드 투트랙" 설계 자체가 등급 분류 체계 위에서 다시 그려져야 합니다. 세션 전 최신 지침 확인이 필요합니다.
② AI 관련 국내 법령 — AI 사업자 의무(위험 관리, 설명, 생성물 표시 등)를 규정하는 국내 법령이 시행 단계에 있습니다.
특히 국민의 생명·신체 안전에 영향을 주는 영역에 적용되는 강화 의무가 있는데, 항만 자동화 하역·크레인·AGV 제어에 AI가 관여할 경우 해당 여부에 대한 법률 검토가 필요합니다.
해당된다면 영향평가·위험관리·설명 의무가 RFP 단계부터 반영되어야 합니다. Step 3 착수 전 법무 검토를 권고드립니다.
시뮬레이션 — 교육용 가상 데이터 (실측 아님)
BAPLIE 샘플 EDI 23세그먼트 — 교육용으로 작성한 축약본. 실제 운항 데이터 아님
ChatGPT 환각 출력 예시 / 규칙 적용 후 JSON 출력 예시 — 재현 예시이며 모델·시점에 따라 문구가 달라짐
QAOA 시뮬레이터 콘솔 출력, 에너지·확률·수렴 로그
선석 배정 결과표 및 간트차트, "룰기반 대비 −65%" 비교값
모스카 정리 대입값(X=20년, Y=5~7년, Z=10~15년) — 기관이 직접 정해야 할 값의 예시