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>
158 lines
7.9 KiB
Markdown
Executable File
158 lines
7.9 KiB
Markdown
Executable File
---
|
|
writer: 24-server-claude (총괄)
|
|
date: 2026-03-23
|
|
subject: 로빙 성장을 위한 전 에이전트 중지(衆智) 종합
|
|
for: all-agents, 대표님
|
|
---
|
|
|
|
# 로빙 성장을 위한 전 에이전트 중지(衆智) 종합
|
|
|
|
8개 에이전트(23-claude, 23-codex, 23-Cursor, 23-Gemini, 24-claude, 24-codex, 24-Cursor, 24-Gemini)의 분석·제안·팩트체크를 하나로 모읍니다.
|
|
|
|
---
|
|
|
|
## 한 줄 진단
|
|
|
|
> **로빙은 "말을 못하는" 게 아니라 "듣지 못하고, 기억하지 못하고, 제대로 찾지 못한다."**
|
|
|
|
---
|
|
|
|
## 1. 지금 로빙이 부러진 곳 (코드 확인 완료)
|
|
|
|
23-claude가 rb8001 코드를 직접 조사하고, 24-Gemini가 교차 확인한 결과:
|
|
|
|
| # | 증상 | 코드상 원인 | 수정 지점 |
|
|
|---|------|-----------|----------|
|
|
| P1 | 이전 질문(날씨)으로 회귀 | `intent_classifier.py`가 현재 발화만 전달, 히스토리 미참조. 정정 신호("아니","말고") 처리 없음 | decision_engine Stage 1 |
|
|
| P2 | 복수 질문 중 하나만 처리 | `route_message()`가 1메시지=1의도 구조. 분해 루프 없음 | message_router + decision_engine |
|
|
| P3 | 검색에서 엉뚱한 결과 | `re.search` 정규식 기반 쿼리 추출. LLM 쿼리 재작성 없음. 사용자 힌트 반영 경로 없음 | message_router 검색 경로 |
|
|
| P4 | 호칭 "대표님"→"사용자" 퇴행 | 감정 neutral일 때 system_instruction 생략 → 호칭 지시 누락 | llm_service.py |
|
|
| P5 | 출처 URL 잘림 | Slack 4000자 제한 또는 LLM 출력 중간 절단 | message_service.py |
|
|
|
|
---
|
|
|
|
## 2. 고쳐야 할 순서 (전원 합의)
|
|
|
|
### 1순위: 대화를 듣게 만들기
|
|
- 의도 분류 시 **최근 3~5턴 대화 히스토리**를 프롬프트에 포함
|
|
- **정정 발화 패턴**("아니", "말고", "다시") → 이전 의도 무효화 로직
|
|
- 23-Gemini 보완: 의존적 복수 요청("환율 알려주고, 그 기준으로 계산해줘") 처리도 고려
|
|
- **난이도**: 중 / **체감 효과**: 최대
|
|
|
|
### 2순위: 여러 질문을 다 처리하게 만들기
|
|
- **Multi-Intent Router**: 메시지에서 독립 요청을 분해 → 순차/병렬 처리
|
|
- 23-Cursor: 한 요청 실패가 전체를 삼키지 않도록 **부분 실패 정책** 필요
|
|
- **난이도**: 중 / **체감 효과**: 높음
|
|
|
|
### 3순위: 검색을 똑똑하게 만들기
|
|
- **LLM 기반 쿼리 재작성**: 사용자 힌트 + 대화 맥락 → 최적화 검색 쿼리 3개 생성
|
|
- **도메인 용어 사전**: "fear & greed" 같은 전문 용어를 검색 맥락에 주입
|
|
- **Reranking 도입**: 1차 검색 결과를 LLM으로 재정렬 (23-claude 제안)
|
|
- **난이도**: 중 / **체감 효과**: 높음
|
|
|
|
### 4순위: 기억을 유지시키기
|
|
- 사용자 프로필(이름, 호칭, 회사)을 **세션 불변(Pinned Context)**으로 고정
|
|
- 감정 상태와 무관하게 system_instruction에 호칭 항상 포함
|
|
- **난이도**: 하 / **체감 효과**: 중간
|
|
|
|
### 5순위: 출처를 안 잘리게 하기
|
|
- URL을 본문과 분리하여 별도 Slack 블록으로 전송
|
|
- **난이도**: 하 / **체감 효과**: 낮지만 신뢰도 영향
|
|
|
|
---
|
|
|
|
## 3. 더 멀리 가기 위한 아이디어들
|
|
|
|
### 3-1. 검색 파이프라인 고도화 (23-claude)
|
|
|
|
| 순위 | 항목 | ROI |
|
|
|------|------|-----|
|
|
| 1 | 검색 쿼리 재작성 | 코드 변경 최소, 체감 최대 |
|
|
| 2 | Reranking | 정밀도 즉시 향상 |
|
|
| 3 | 도메인 용어 사전 | fear & greed 같은 케이스 방지 |
|
|
| 4 | 의미 단위 청킹 (semantic chunking) | 긴 문서 품질 개선 |
|
|
| 5 | 임베딩 튜닝 (LoRA/MNRL) | 장기 과제, 데이터 축적 후 |
|
|
|
|
**현실 판단**: 임베딩 튜닝보다 쿼리 재작성 + reranking이 ROI 훨씬 높음.
|
|
|
|
### 3-2. 세션·비용 관리 (24-Cursor, 24-Gemini)
|
|
|
|
- **하이브리드 모델**: OpenAI(핵심 로직) + OpenRouter(폴백/실험) + Gemini Flash(저비용 요약)
|
|
- **Responses API**: OpenAI 서버측 세션 유지로 반복 토큰 절감
|
|
- **프롬프트 캐싱**: 정적 블록(시스템/규칙) 상단 고정 → 캐시 히트율 극대화
|
|
- **Postgres 3계층**: sessions(메타+요약) → messages(발화+토큰) → checkpoints(압축 스냅샷)
|
|
- **세션 분할**: 토픽 전환·토큰 임계·품질 저하 시 요약 넘기고 새 세션
|
|
|
|
**24-Cursor 경고**: 도입 전 제조사 공식 문서로 교차 검증 필수.
|
|
|
|
### 3-3. 양자-영감 복소수 임베딩 (Grok 대화 → 24-claude 팩트체크)
|
|
|
|
- **검증된 것**: 복소수 표현으로 관계의 비대칭성 포착 가능 (RotatE, ComplEx)
|
|
- **미검증**: 최소작용 원칙으로 위상 설계, 위상=감정 방향 매핑
|
|
- **현실 판단**: 흥미로운 R&D 방향이지만, 지금 로빙에 적용하려면 RotatE/ComplEx 같은 검증된 모델부터
|
|
|
|
### 3-4. Truth First 원칙 (24-codex)
|
|
|
|
> "로빙이 틀리는 이유를 모델 지능 부족으로 바로 보면 안 된다. 먼저 실측 가능한 질문에서 도구를 실행했는지 확인하라."
|
|
|
|
- **실측 필수 질문 목록**(시간, 날짜, 서버 식별, 파일 수 등)을 SSOT/시스템 프롬프트에 고정
|
|
- 도구 실행 없이 추정으로 답하면 → 신뢰 즉시 붕괴
|
|
|
|
### 3-5. 베이즈 업데이트 프레임 (24-codex 정리)
|
|
|
|
Gemini 대화에서 건질 실무 원칙 3개:
|
|
1. **상태를 명시적으로 저장할 것** (현재 믿음)
|
|
2. **새 정보가 들어오면 업데이트 규칙을 분명히 둘 것** (사전→사후)
|
|
3. **업데이트 전후 차이를 측정할 것** (검증)
|
|
|
|
→ 로빙의 메모리, 의도 분류, 정정 반영, 쿼리 재작성 설계에 직접 적용 가능
|
|
|
|
### 3-6. HWPX 스킬 (23-codex 검증)
|
|
|
|
- `hwpx-mcp-server` (PyPI) 또는 `npx skills add ... --skill hwpx` 형태의 커뮤니티 스킬 존재 확인
|
|
- `claude skill install hwpx-skill`은 공식 명령으로 확인 안 됨
|
|
- 로빙에 한글 문서 처리 기능을 붙일 때 참고 가능
|
|
|
|
---
|
|
|
|
## 4. 에이전트별 핵심 기여 요약
|
|
|
|
| 에이전트 | 기여 |
|
|
|---------|------|
|
|
| **23-claude** | 문제 6건 최초 식별, 코드 기반 원인 분석, 임베딩 한계 대조, 검색 파이프라인 ROI 우선순위 |
|
|
| **23-codex** | 관찰/추정 분리 원칙, 4칸 재현 양식, hwpx-skill 팩트체크 |
|
|
| **23-Cursor** | 코드 리뷰 동의, 부분 실패 정책, 턴 단위 로깅, NAS-Git 정합성 |
|
|
| **23-Gemini** | 업무 분배 초안, 의존적 복수 요청 처리 제안, 교차 검증 제안 |
|
|
| **24-claude** | 종합 보고서 2건, 양자 임베딩 팩트체크, 전체 조율 |
|
|
| **24-codex** | Truth First 가설, 실측/정책/형식 분리, Gemini 대화 검증(채택 가능/위험 분리) |
|
|
| **24-Cursor** | 코드 경로 관찰(message_router), 세션 관리 정리, 로그 역추적 제안 |
|
|
| **24-Gemini** | 코드 직접 분석(intent_classifier, message_service), 하이브리드 모델 설계, NAS 드리프트 교육 |
|
|
|
|
---
|
|
|
|
## 5. 총괄 — 로빙이 성장하려면
|
|
|
|
### 지금 당장 (이번 주)
|
|
1. **듣게 만들기**: intent_classifier에 대화 히스토리 주입 + 정정 신호 인식
|
|
2. **다 처리하게 만들기**: 복수 의도 분해 루프
|
|
3. **호칭 고정**: llm_service.py neutral 분기에 호칭 유지 (가장 쉬움)
|
|
|
|
### 이번 달
|
|
4. **똑똑하게 찾게 만들기**: LLM 쿼리 재작성 + 도메인 사전 + reranking
|
|
5. **기억하게 만들기**: 사용자 프로필 Pinned Context + 세션 메모리 안정화
|
|
|
|
### 다음 분기
|
|
6. **효율적으로 만들기**: 하이브리드 모델 아키텍처 + 프롬프트 캐싱 + 세션 관리
|
|
7. **더 깊게 이해하게 만들기**: 의미 단위 청킹, 임베딩 튜닝, 복소수 관계 모델링 탐색
|
|
|
|
### 원칙
|
|
- **Truth First**: 실측 가능하면 반드시 도구 실행 후 답변
|
|
- **Root Cause First**: 우회/완화를 해결로 제시 금지
|
|
- **상태→업데이트→검증**: 모든 개선에 이 3단계 적용
|
|
|
|
---
|
|
|
|
> 8개 에이전트가 각자의 관점에서 로빙을 봤고, 모두 같은 결론에 도달했다:
|
|
> **로빙의 문제는 지능이 아니라 배관(plumbing)이다.**
|
|
> 파이프라인의 구조적 결함을 고치면, 로빙은 이미 가진 능력으로 훨씬 더 잘할 수 있다.
|