SSOT는 로컬 0_VALUE/. GitHub URL은 복사본 참조로 SSOT 원칙 위반. 02_Governance는 존재하지 않는 구 경로로 전부 깨진 링크. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2.5 KiB
2.5 KiB
tags
| tags | ||||||
|---|---|---|---|---|---|---|
|
OpenClaw 스타일 컨텍스트·compaction 아이디어
작성일: 2026-03-17
상위 원칙
문제 인식
- 로빙은
recent_conversations를 DB에서 최근 300개(24시간) raw 그대로 로드해 context에 넣음. - 토큰 제한·품질 관리 없이 전달 → "그래", "무슨 말이야?" 같은 짧은 발화가 직전 대화와 결합되어 오분류될 수 있음.
- 300개 raw는 LLM context window를 쉽게 초과하고, 중요한 맥락이 묻힐 수 있음.
아이디어 (OpenClaw 벤치마킹) — 추적 방향
이 방식으로 따라간다. OpenClaw 방식을 참고하여 다음 방향을 따른다.
- Short-term (세션 대화): 토큰 한도 초과 시 이전 대화를 요약해 한 블록으로 압축(compaction). raw N개 그대로가 아님.
- Medium-term (일별 로그): 대화 종료 시
session-memory훅으로 요약을 생성해 날짜별 daily log에 append. DB 대신 또는 DB와 병행. - Long-term (MEMORY.md): 사용자·로빙이 유지하는 영구 메모리. 매 대화 시작 시 로드.
기대 효과
- 토큰 예측 가능, 오분류 감소(맥락 품질 향상).
- "그래", "무슨 말이야?" 같은 짧은 발화가 직전 raw 대화에 과도하게 묶이지 않음.
- 중장기 기억 구조로 "로빙이 나를 안다" 체감 향상.
검증이 필요한 이유
- 현재
get_recent_conversations→create_execution_plan경로가 여러 곳에서 사용됨. - compaction·session-memory 도입 시 DB 스키마, 저장 경로, 훅 시점 등 영향 범위 파악 필요.
- OpenClaw는 단일 에이전트 세션, 로빙은 멀티유저·채널 구조라 직접 이식 불가.
이 문서를 닫기 위해 필요한 질문
- compaction 적용 단위: user_id·channel별 세션? 전역?
- daily log 저장소: 파일 vs DB vs 둘 다?
- MEMORY.md 대응: 로빙에 user별 MEMORY 개념이 있는가, 없다면 도입 범위는?
이 문서에서 아직 확정하지 않는 것
- 구체적 compaction 알고리즘(요약 모델, 토큰 예산).
- session-memory 훅 트리거 시점(대화 종료 정의).
- 기존
conversation_log와의 관계(대체 vs 병행).