DOCS/journey/troubleshooting/260323_로빙슬랙대화_문제_7에이전트_종합보고서.md
happybell80 38eeb53587 docs: 260323 에이전트 협업 연구 자료 8건 — 로빙 개선·양자임베딩·세션관리
NAS shared-editing drafts에서 검증 완료된 연구 자료를 DOCS로 이관:

- research/: 양자 복소수 임베딩 팩트체크, 베이즈/힐베르트 대화 검토, 임베딩 한계 대조
- plans/: 로빙 성장 전 에이전트 중지 종합, 코드 기반 원인 분석 개선안
- ideas/: OpenAI/오픈라우터 하이브리드 세션 관리
- troubleshooting/: 로빙 슬랙 대화 문제 7에이전트 종합 보고서
- skills/: hwpx-skill 검증 메모

참여: 23-claude, 23-codex, 23-Cursor, 23-Gemini, 24-claude, 24-codex, 24-Cursor, 24-Gemini

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 18:04:40 +09:00

7.5 KiB
Executable File

writer, date, subject
writer date subject
24-server-claude (총괄) 2026-03-23 로빙 슬랙 대화 문제 — 7개 에이전트 종합 보고서

로빙 슬랙 대화 문제 종합 보고서

작성: 24-claude (총괄)
참여 에이전트: 23-claude, 23-codex, 23-Cursor, 23-Gemini, 24-codex, 24-Cursor, 24-Gemini (총 7개)
분석 대상: 2026-03-23 오후 4:34~4:45, 대표님(Jo Lee) ↔ 로빙(rb8001) 슬랙 대화


1. 전원 합의된 핵심 결함 (5건)

P1. 직전 질문 회귀 — 치명적 (전원 동의, 최우선)

항목 내용
입력 "fear & greed 지수 알려줘" (재요청)
기대 Fear & Greed Index 검색 결과
실제 춘천 날씨를 다시 답변
실패 지점 대화 상태 관리 붕괴
  • 23-claude: 대화 히스토리 관리 실패, 의도 분류기가 이전 키워드에 끌려감
  • 23-codex: 회귀·복수요청·정정 발화는 겉보기 비슷하지만 수정 지점이 다름 → 세분화 필요
  • 24-Cursor: "검색 품질" 이전에 대화 상태 기계 문제
  • 24-Gemini (기술 진단): intent_classifier.py가 현재 발화만 전달, 대화 히스토리 미참조. "아니", "말고" 정정 신호 처리 로직 부재

근본 원인: 의도 분류 LLM 호출 시 대화 히스토리가 프롬프트에 포함되지 않음. 정정 표현 인식 로직 없음.


P2. 복수 질문 누락 — 높음 (전원 동의)

항목 내용
입력 "달러/원 환율과 fear & greed 지수도 알려줘"
기대 환율 + Fear & Greed 두 가지 모두 답변
실제 환율만 답변, 지수 완전 누락
실패 지점 의도 분해 단계 부재
  • 23-codex: 품질 저하가 아니라 구조적 결함 신호
  • 24-Gemini (기술 진단): IntentClassifierroute_message1메시지 = 1의도 구조. 복수 의도를 리스트로 분리하는 루프 자체가 없음

근본 원인: 파이프라인이 단일 의도만 처리하는 설계. 첫 슬롯만 소비하고 나머지 버림.


P3. 검색 쿼리 재작성 실패 — 높음 (전원 동의)

항목 내용
입력 "fear & greed" + 사용자 힌트 "미국 주식시장 분위기 지수"
기대 "CNN Fear and Greed Index" 검색
실제 FEAR 음악, 웹소설, 두려움 도서 반환
실패 지점 쿼리 재작성 로직 부재
  • 24-codex: 답변 문장 개선보다 "어떤 질문은 반드시 측정 후 답한다"는 실행 규칙이 먼저 (Truth First)
  • 24-Gemini (기술 진단): re.search 정규식 기반 단순 패턴 매칭. LLM 기반 Query Rewriting 단계 없음. 불용어("알려줘") 포함된 채 검색
  • 24-Cursor: 모델 무지만이 아니라 툴 인자·검색어 결정 경로가 턴 텍스트를 충분히 반영 못함

근본 원인: 검색어 추출이 정규식 의존. 사용자 힌트·도메인 맥락을 검색 쿼리에 병합하는 단계 없음.


P4. 호칭 퇴행 — 중간 (전원 동의, 메모리 품질 지표)

항목 내용
입력 세션 지속 중 대화
기대 "대표님" 일관 유지
실제 첫 답변만 "대표님", 이후 "사용자"로 퇴행
실패 지점 세션 내 사용자 맥락 유실
  • 23-codex, 23-Cursor, 24-Cursor: 예절 문제가 아니라 세션 메모리 유지 실패의 관찰 지표

P5. 출처 URL 절단 — 낮음 (전원 동의)

  • 23-codex: 신뢰도 문제로 이어짐, 별도 품질 항목으로 분리 가치
  • 24-Cursor: 슬랙 mrkdwn·길이 제한·후처리 중 어디서 잘리는지 재현 조건 필요

2. 에이전트별 고유 기여

에이전트 고유 기여
23-claude 문제 6건 최초 식별 + 심각도 순위 설정
23-codex 관찰 사실 vs 원인 추정 분리 제안, [입력-기대-실제-실패지점] 4칸 양식 제안
23-Cursor 라우팅만으로 끝나지 않는 층 존재 지적, 재현 표에 웹검색·메모리 항목 명시 권고
23-Gemini 에이전트별 업무 분배 초안 (코드구현/RAG/테스트/문서화)
24-codex Truth First 가설 — 응답 품질 vs 실행 권한/도구 문제 분리, "실측 필수 질문 목록"을 SSOT로 고정 제안
24-Cursor message_router.pyrecent_conversations, _resolve_search_query 등 실제 코드 경로 관찰, 로그 역추적 제안
24-Gemini 코드 직접 분석: intent_classifier.py 히스토리 미참조 확인, 1메시지=1의도 구조 확인, re.search 기반 쿼리 추출 확인

3. 종합 우선순위 (전 에이전트 의견 반영)

순위 조치 관련 결함 담당 제안
1 의도 분류 시 최근 3~5건 대화 히스토리를 프롬프트에 포함 + 정정 발화("아니","말고","다시") 인식 로직 추가 P1 회귀 24-Gemini 설계, 23-Cursor 구현 검토
2 Multi-Intent Router: 접속사("와/과","그리고") 감지 → 메시지 분할 → 순차/병렬 처리 루프 P2 누락 23-Cursor 구현, 24-Cursor 테스트
3 LLM 기반 Search Query Rewriter: 사용자 힌트 + 도메인 맥락 → 최적화된 검색 쿼리 생성 단계 신설 P3 검색 24-codex RAG 규칙, 24-Gemini 구현
4 실측 필수 질문 규칙을 SSOT/시스템 프롬프트에 고정 (시간, 날짜, 서버 식별 등은 반드시 도구 실행 후 답변) P3 보강 24-codex 규칙 정의
5 사용자 프로필(이름, 호칭, 회사)을 세션 불변 메모리에 고정 P4 호칭 23-Cursor 구현
6 출처 URL 절단 방지: 슬랙 출력 포맷터 검증 + 최종 출력 전 정합성 체크 P5 절단 24-Cursor 재현 테스트

4. 다음 단계

  1. 로그 역추적 (24-Cursor 제안): 해당 슬랙 스레드의 실메시지에 대해 intent_classifierroute_message → 도구 호출까지 실제 전달된 context와 선택된 검색어를 로그로 확인 → 추정을 사실로 확정
  2. 재현 테스트 시나리오 작성 (23-codex 양식): 위 5건에 대해 [입력-기대-실제-실패지점] 표를 자동화 테스트로 전환
  3. 패치 적용: 우선순위 1~3번 순서로 코드 수정 → 회귀 테스트 → 배포

5. 총괄 판단 (24-claude)

7개 에이전트 전원이 "대화 회귀"를 최우선 결함으로 합의했다. 24-Gemini의 코드 분석으로 근본 원인이 intent_classifier.py의 히스토리 미참조임이 확인됐고, 24-codex의 Truth First 관점과 23-codex의 관찰/추정 분리 원칙이 분석 품질을 올렸다.

이번 건의 본질: 로빙은 "말을 잘 못하는" 게 아니라 "듣지 못하는" 것이다. 사용자의 정정, 힌트, 맥락을 파이프라인이 소화하지 못하는 구조적 문제. 프롬프트 튜닝만으로는 해결 불가, 코드 수준 개선이 필요하다.


23-server-cursor 추가 의견 (2026-03-23)

  • 표·우선순위·다음 단계가 한 파일에 모여 내부 SSOT 초안으로 쓰기 좋습니다.
  • "담당 제안" 열은 실행 시 Git 이슈 또는 레포 담당자 한 명으로 수렴하지 않으면 다시 분산될 수 있습니다.
  • 다음 단계 1번(로그 역추적)은 해당 슬랙 스레드 한 건에 대해 한 번만이라도 실제 로그 샘플을 붙이면 추정 논쟁이 크게 줄어듭니다.

23-server-cursor