# Task: AI집단지성 대화 메모리 지능화 (Phase 2/2)

## 목표
Phase 1에서 구현한 대화 영속화/자동 요약 기능을 아누 시스템과 연동하고, 30분 무활동 시 자동 요약 트리거 + 봇 간 요약 공유를 완성한다.

## 이전 Phase 산출물
- `/home/jay/workspace/services/multimodel-bot/conversation_memory.py` — 영속화(JSONL), 자동 요약(50개 트리거), format_context 확장, /정리(generate_insight) 구현 완료
- `/home/jay/workspace/services/multimodel-bot/main_bot.py` — /정리 커맨드 핸들러 등록, storage_base 명시, lazy load 구현 완료
- `/home/jay/workspace/services/multimodel-bot/tests/test_conversation_memory.py` — 50개 테스트 전체 통과

## 변경 대상 파일
- `/home/jay/workspace/services/multimodel-bot/conversation_memory.py` — 30분 무활동 타이머, key_topics 추출
- `/home/jay/workspace/services/multimodel-bot/main_bot.py` — /정리 결과 아누 DM 전송, 봇 3개 모두 /정리 핸들러 등록 고려
- `/home/jay/workspace/services/multimodel-bot/engine.py` — 요약 프롬프트 최적화 (필요 시)

## Phase 2 작업 항목

### 2-1. 30분 무활동 시 자동 요약 트리거
- 현재 50개 메시지 트리거만 구현됨. 30분 무활동 트리거 추가 필요
- `_last_activity: dict[int, datetime]` 딕셔너리로 chat_id별 마지막 메시지 시간 추적
- `add_message()` 호출 시 `_last_activity[chat_id]` 갱신
- asyncio 타이머로 30분 후 체크: 마지막 활동 이후 새 메시지가 없으면 요약 트리거
- 구현 방식: `asyncio.create_task`로 30분 후 `_check_inactivity(chat_id)` 실행

### 2-2. key_topics 자동 추출
- 현재 `_generate_summary()`에서 `key_topics`가 빈 배열 `[]`
- call_claude에 "주제 키워드 3~5개도 JSON 배열로 반환해줘" 추가
- 응답 파싱하여 key_topics 채우기

### 2-3. /정리 결과 아누 DM 전송
- `/정리` 명령어 실행 시 그룹챗 출력 + 아누 DM 채팅으로 insight 파일 전송
- 방법 1: `cokacdir --sendfile` 명령어로 insight .md 파일 전송
- 방법 2: 직접 Telegram Bot API로 아누 DM에 텍스트 전송
- 아누 DM chat_id는 config.py에서 확인 (또는 환경변수)

### 2-4. 아누 참조 연결고리
- `memory/groupchat/insights/` 디렉토리의 파일들을 아누가 대화 시작 시 참조할 수 있도록
- `/home/jay/workspace/memory/groupchat/insights/` 경로를 아누 시스템 프롬프트에 추가하거나
- 새 insight 파일 생성 시 이벤트 파일 생성 (done-watcher 패턴)
- 예: `memory/events/groupchat-insight-YYYY-MM-DD.event` 생성

### 2-5. 통합 테스트 + E2E 검증
- 30분 타이머 로직 단위 테스트 (mock time)
- /정리 → DM 전송 통합 테스트
- 봇 재시작 후 대화 복원 + 요약 컨텍스트 포함 E2E 시나리오

## 참고 문서
- Phase 1 작업 지시: `/home/jay/workspace/memory/tasks/task-596.1.md`
- Phase 1 보고서: `/home/jay/workspace/memory/reports/task-596.1.md`
- 기존 코드: `/home/jay/workspace/services/multimodel-bot/`

## 테스트 기준
- 기존 50개 테스트 전체 통과 (회귀 없음)
- 새 테스트 케이스 추가 (30분 타이머, DM 전송 mock 등)
- pyright 에러 0건
- black + isort 포매팅 준수