CINA는 UNFCCC 협상 텍스트를 외교부가 즉시 사용 가능한 전략 인텔리전스로 변환하는 3단계 파이프라인입니다. 각 단계는 학술 이론에 정박해 있으며, 모든 산출물은 (텍스트 인용 + 구조적 근거) 이중 grounding으로 검증됩니다.
각 단계 노드를 클릭하면 입력·처리·출력·이론 근거가 펼쳐집니다.
UNFCCC 공식 포털, NDC 레지스트리, IISD ENB 요약, IPCC AR6, OECD, IMF ND-GAIN 등 14개 소스 시스템으로부터 협상 관련 문서 225개를 수집합니다. 모든 문서는 license + sha256 + source URL이 추적되어 manifest.jsonl에 기록됩니다.
data/manifest/manifest.jsonl (225 entries)data/manifest/coverage_summary.jsondata/raw/src/collect/ (26 collectors)src/collect/manifest.py (license tracker)src/collect/orchestrate.py (parallel fetch)각 (국가, 이슈) 쌍에 대해 LLM을 k=5번 호출하여 stance score (-1~+1) + Bayesian credible interval을 산출합니다. 동시에 NATO 4축 정책수단 (Hood 1983, Howlett 2019), 5-frame typology (Snow-Benford 1988), procedural authority 신호 (Tallberg 2010)를 함께 추출합니다. 모든 결과에 evidence quote가 강제됩니다 (할루시네이션 방지).
data/sample/stances_sample_10.jsonlsrc/stage1_extract/extract.pysrc/stage1_extract/extract_v2.pysrc/stage1_extract/providers/ (5 backends)13개 주요 협상 국가/그룹 × 6개 적응 이슈 = 78 cells 매트릭스. 각 cell은 stance score, CI, evidence quote, frame, NATO axis, procedural status를 담습니다.
Stance tensor를 이종 그래프로 변환합니다. 노드 = (국가, 이슈, 그룹), 엣지 = stance similarity + chair_status + drafts_text. Leiden 알고리즘으로 community를 탐지하고 5 centralities로 영향력 노드를 식별합니다.
data/sample/graph_analysis.jsonsrc/stage2_graph/advanced_analysis.pysrc/stage2_graph/generate_figures.pyLeiden community detection 결과 2개 community가 식별됩니다. C0 (development frame) = {Brazil, Multi, AGN, EU}, C1 (mixed) = {AOSIS, India, Korea, LMDC}. 이는 Keohane-Victor (2011)의 regime complex 'horizontal cleavage' 가설을 정량 검증합니다.
모든 brief 문장에 (1) 텍스트 인용 + (2) 구조적 근거 (Stage 2 그래프 fact) 이중 grounding을 강제합니다. 7-rule post-hoc verifier가 hallucination, 수치 조작, 미존재 국가 언급을 자동 검출합니다.
src/stage3_brief/src/validate/ (evidence validator)deliverables/ministerial_briefing_*.mdTrack A (수업 제출) — 장관급 협상 브리핑. Track B (학술) — 논문 + 정량 검증 보고서.
deliverables/paper.md (3,428 words, 23 references)ministerial_briefing_ko.md + _en.md (9 sections + 4 appendices)전 파이프라인을 4가지 정량 task로 검증. Ablation A0-A5는 각 컴포넌트의 marginal contribution을 측정합니다.
"무엇을 넣으면 무엇이 나오는가" — 단계별 입출력을 한눈에.
입력: 협상 세션, 국가 코드 (예: COP30, Brazil) → 실행: python -m src.collect.run --session COP30 → 출력: data/raw/cop30_official/ + manifest.jsonl 항목 추가.
입력: 위 raw 문서 + StanceRecord schema → 실행: python -m src.pipeline --country Brazil --cop 30 --sector adaptation --stages 1 → 출력: data/processed/stances_complete_v1.jsonl (60+ records, 각 record에 evidence quote + Bayesian CI 포함).
입력: Stage 1 stance JSONL → 실행: python -m src.stage2_graph.advanced_analysis → 출력: graph_analysis_v2.json (Leiden 2 communities, PageRank 13 nodes, cross-issue motifs).
입력: Stage 2 그래프 + 9-section template → 실행: python -m src.stage3_brief.generate_briefing → 출력: deliverables/ministerial_briefing_ko.md + _en.md (모든 claim에 인용 + 구조적 근거).
입력: 위 모든 산출물 + expert simulation 5 personas → 실행: python -m src.evaluation.run_full_evaluation → 출력: deliverables/evaluation_report.md (Spearman 0.658, P@3=1.00, α=0.905, Combined Rubric 4.76/5).
CINA의 모든 method choice는 학술 이론에 정박해 있다. 단순 AI 활용이 아니라 이론 기반 quantification.
Keohane & Victor (2011) — climate governance는 단일 regime이 아니라 부분적으로 중첩된 regimes의 complex. CINA Stage 2 Leiden 2 communities로 'horizontal cleavage' 가설 정량 검증.
Putnam (1988) — 외교는 국제 협상 + 국내 비준 양 레벨. Brazil IRR Translation Gap Δ=0.304는 국내(Plano Clima) ↔ 국제(GGA voluntary) 정책수단 분기를 정량화.
Tollison & Willett (1979), Sebenius (1983) — 협상은 이슈 간 거래로 형성. CINA Apriori-style cross-issue hyperedge mining으로 motif 자동 검출.
Haas (1992) — 전문가 네트워크가 정책 신념 변화 매개. CINA stance에 cites_ipcc + epistemic_alignment 필드로 epistemic 영향 추적.
Tallberg (2010), Goh (2007), Steinberg (2002) — 의장국·pen-holder가 협상 결과에 비대칭 영향. CINA Stage 1에 chair_role, pen_holder, drafts_text 신호 강제 추출.
Hood (1983), Howlett (2019) — 정책수단을 4축 (Nodality/Authority/Treasure/Organization)으로 분류. CINA NATO 4-axis instrument extraction은 instrument calibration을 자동화한 첫 시도.
Finnemore & Sikkink (1998) — small/medium states가 norm entrepreneur 역할. AILAC NES = 0.86으로 4 criteria 중 3.5개 PASS, tactical diplomatic framing 정량 확인.
Snow & Benford (1988), Goffman (1974) — collective action frame은 의미 구조. CINA 5 frame types (scientific/justice/sovereignty/security/development) 자동 분류.
모든 단계의 파일 경로 · 형식 · 행 수를 명시. data/sample/의 sanitized 샘플로 직접 확인 가능.
| Stage | 입력 | 처리 스크립트 | 출력 파일 | 형식 |
|---|---|---|---|---|
| Stage 0 | UNFCCC URLs · NDC API · ENB pages | src/collect/orchestrate.py |
data/raw/ · manifest.jsonl |
HTML/PDF + JSONL |
| Stage 1 | data/raw/* + schema v1.3 prompts |
src/stage1_extract/extract_v2.py |
data/processed/stances_complete_v1.jsonl |
JSONL (98 records) |
| Stage 2 | stances JSONL | src/stage2_graph/advanced_analysis.py |
data/processed/graph_analysis_v2.json |
JSON (graph + Leiden + centralities) |
| Stage 2 Figures | graph_analysis JSON | src/stage2_graph/generate_figures.py |
docs/web/figures/fig{1-5}_*.png |
PNG (300 dpi, 7 figures) |
| Stage 3 | graph + 9-section template | src/stage3_brief/generate_briefing.py |
deliverables/ministerial_briefing_{ko,en}.md |
Markdown |
| Phase 5 Eval | 전 산출물 + expert personas | src/evaluation/run_full_evaluation.py |
deliverables/evaluation_report.{md,json} |
Markdown + JSON |
💡 샘플 직접 보기: data/sample/stances_sample_10.jsonl (Stage 1 산출 10개), data/sample/graph_analysis.json (Stage 2 산출), data/sample/irr_brazilian_translation_gap.json (Brazil Δ=0.304 raw)는 GitHub에 공개되어 있습니다. 전체 데이터셋(225 raw 문서, ~720MB)은 license 제약으로 Zenodo에 별도 공개 예정.