# 에이전트 미팅 Cycle 2: 인사이트 생성 + ThreadAuto 통합
**작업**: task-1189.1
**일시**: 2026-03-28
**참석자**: 불칸, 이리스, 아테나, 아르고스, 로키

## 합의 사항

### 1. FiveStagePipeline에 news_context_injector 전처리 스텝 추가
- mode="news_insight" 파라미터로 분기
- Why 1: 파이프라인 이원화는 페르소나 로직 중복으로 유지보수 비용 과다
- Why 2: 입력 소스만 다르고 출력 포맷은 동일하므로 단일 파이프라인이 아키텍처적 일관성 유지
- Why 3: mode 파라미터는 기존 호출부 변경 최소화하면서 새 기능 추가 가능

### 2. content_type "text_news_insight" 신설, expires_at 48시간 하드캡
- Why 1: 기존 text_insight에 TTL 개념 부재
- Why 2: 크롤러 장애 시 오래된 뉴스 발행 방지
- Why 3: 48시간은 보험업계 뉴스 유효 주기와 6시간 크롤링 주기 고려한 안전망

### 3. DAILY_MIX 업계동향 6개 중 뉴스 최대 4개, evergreen 최소 2개
- Why 1: 크롤러 장애/필터링 탈락 시 슬롯 공백 방지
- Why 2: 콘텐츠 발행 연속성 보장으로 팔로워 이탈 방지
- Why 3: 4:2 비율이 시의성과 기초 지식 균형 최적

### 4. locked_fact 변수 격리 + writing 후 정규식 정합성 검증
- Why 1: 출처 URL만으로는 LLM 수치 변조 차단 불가
- Why 2: 프롬프트 템플릿 레벨 제약이 모델 교체에도 강건
- Why 3: 금감원 소비자 보호 규정상 사실 왜곡은 법적 리스크 실재

### 5. 원문 유사도 체크 (difflib, 0.6 이하)
- Why 1: 리드문 프롬프트 주입 시 LLM의 최소 변형 재출력 가능성 차단
- Why 2: difflib.SequenceMatcher는 외부 의존성 없이 즉시 적용 가능
- Why 3: 0.6 초과 시 드랍+재생성이 파이프라인 최소 비용 방어

## 로키 주요 리스크 지적
- R1: 원문 유사도 초과 시 저작권 침해 가능 → 0.6 체크로 대응
- R2: 타사명이 문맥 핵심인 기사 → entity_role 분류 필요 (Cycle 3)
- R3: 48시간 초과 오래된 뉴스 재활용 → expires_at 하드캡
- R4: LLM 환각 수치 변조 → locked_fact 격리
- R5: 뉴스 선택 편향 → 도메인 다양성 점수 (Cycle 3)

## 미결 → Cycle 3 이월
- C3-1: compliance_filter entity_role 분류 (subject vs context)
- C3-2: TTL 만료 자동 ��생성 트리거
- C3-3: 출처 도메인 다양성 점수
- C3-4: run_card_post.py content_type 하드코딩 점검
- C3-5: 카드뉴스 출처 표기 슬라이드 규격
- C3-6: news_context_injector 프롬프트 초안
- C3-7: locked_fact 재생성 최대 시도 횟수
