멀티 에이전트 파이프라인을 단일 LLM 호출로 압축. 사실 수집 + 분석 + 보고서 작성을 ContextAnalyst + UnifiedComposer 2회 호출로 완료. 보고서 자유도 최대화 + LLM 비용 ~70% 감소.
입력: 텔레그램에 사건 한 줄. 심층/짧게/요약 키워드로 모드 자동 결정 (fast/standard/deep — 모두 같은 2-call 파이프라인을 거치되 composer 의 분석 깊이 지시만 다름).
처리: 1) 상황 분석관 (Sonnet 4.6, 웹 검색) — 사실/타임라인/핵심 수치/출처 URL 수집 → 2) 편집장 (Opus 4.7, 단일 호출) — 행위자/구조/시나리오/모순 분석 + 보고서 본문 작성 모두 수행 → 3) HTML 렌더 + Cloudflare Pages 배포.
출력: mono 톤 HTML. 사건마다 섹션 수/제목/순서/톤이 다른 자유 형식. composer 가 명시한 watch_signals 는 SQLite 에 등록되어 /watchlist 명령으로 추적.
핵심 변화 v3.5.0 → v4.0.0: 이해관계 분석관 / 구조 분석관 / 연쇄반응 분석관 / 시나리오 설계관 / 종합 판단관 / 품질 검사관 / 시각화 분석관 / lens pool 8~11종 / archetype matrix 11종 모두 호출되지 않음. 분석 깊이는 잃되 보고서 형태 자유도와 비용 절감 확보.
v3.5.0 까지는 사건당 5~13회 LLM 호출. v4.0.0 부터는 모든 모드가 2회.
v3.5.0 까지 mode 는 몇 개의 에이전트를 호출할지 결정했음. v4.0.0 에서는 mode 가 composer 프롬프트의 분석 깊이 지시 만 결정 (fast 3~4 섹션 / standard 4~6 섹션 / deep 5~7 섹션 + 모순 명시 필수). 호출 수는 모든 모드 동일.
출력: 확장된 ComposedReport (headline, deck, sections, watch_signals, contradictions, confidence, closing).
ComposedReport 를 freeform_essay.html 에 주입해 mono 테마 HTML 생성. lens_policy.select_theme() 가 사건 카테고리에서 burgundy_mono / light_mono 자동 선택. 최종 HTML 을 wrangler 로 Cloudflare Pages 배포 후 URL 반환.composed_report.watch_signals 를 SQLite Registry 에 INSERT. 텔레그램 /watchlist, /fire 명령으로 후속 추적. 이전엔 ScenarioArchitect 의 출력에서 가져왔는데 이제 composer 가 직접 emit.편집장 호출이 실패하면 (LLM 오류 / 파싱 실패 등), context.summary 를 그대로 보여주는 1섹션 minimal 보고서 가 생성됨. archetype 폴백 (v3.5.0) 은 더 이상 사용되지 않음.
composer 가 emit 하는 단일 출력 객체. v4.0.0 에서 +4 필드 추가 (watch_signals / contradictions / confidence_summary / confidence_score).
token_budget.py 의 모든 budget 플래그가 v4.0.0 에서 비활성. mode 는 composer 가 받는 분석 깊이 지시문에만 영향.
| 항목 | fast ⚡ | standard 🟢 | deep 🔬 |
|---|---|---|---|
| 키워드 | 짧게/간략/요약/빠르게 | (기본) | 심층/자세히/면밀 |
| LLM 호출 수 | 2 | 2 | 2 |
| composer 권장 섹션 수 | 3~4 | 4~6 | 5~7 |
| composer 권장 시나리오 수 | 2~3 | 3~5 | 4~5 |
| 모순 명시 (contradictions) | 선택 | 권장 | 필수 |
| 감시 신호 (watch_signals) | 선택 | 권장 | ≥3건 |
| Context Analyst 모델 | Sonnet 4.6 (downgrade) | Sonnet 4.6 | Sonnet 4.6 |
| UnifiedComposer 모델 | Opus 4.7 | Opus 4.7 | Opus 4.7 |
composer 시스템 프롬프트에 7단계 분석 가이드 (행위자 / 구조 / 사슬 / 시나리오 / 모순 / 감시 신호) 를 명시 — Opus 4.7 의 reasoning 으로 단일 패스에서 다각도 커버. 다만 분리된 LLM 호출의 *독립적* 다각도 보장은 없음. 깊이 검증이 핵심인 사건은 외부 critic 호출 (현재 미구현) 추가 검토 필요.
v4.0.0 에서 취소선 표시는 코드는 살아있지만 호출되지 않는 모듈. + 표시 는 신규 또는 강화. 향후 정리 commit 에서 deprecated 모듈 일괄 제거 예정.
v4.0.0 메이저 버전 변경. 코드 + 모델 + 템플릿 모두 변경됐으니 VM 재기동 필수.
cd ~/agents_reviewer
git pull origin main
kill -9 <old_pid>
source venv/bin/activate
nohup python -m src.main > bot.log 2>&1 &
disown
확인: 텔레그램 /status → commit: eab9678 / VERSION: v4.0.0. 분석 후 보고서 footer 에 archetype: freeform_essay 표시되면 정상 (다른 archetype 표시되면 기동 실패).