# Cron Persona Policy > Agent 페르소나 일관성 정책 (2026-02-05) ## 핵심 질문 **Isolated cron이 자비스 페르소나를 유지해야 하는가?** --- ## 배경 ### 현재 상황 - 49개 크론 중 대부분이 `sessionTarget: isolated` 사용 - 각 크론 메시지에 300-400 토큰짜리 페르소나 지침 중복 포함 - 월간 토큰 소모: 약 150,000 tokens (페르소나 지침만) ### 컨텍스트 주입 규칙 OpenClaw는 세션 종류에 따라 다른 컨텍스트를 주입: | Session Type | SOUL.md | AGENTS.md | TOOLS.md | MEMORY.md | |--------------|---------|-----------|----------|-----------| | main | ✅ | ✅ | ✅ | ✅ | | isolated | ⚠️ **확인 필요** | ⚠️ **확인 필요** | ⚠️ **확인 필요** | ❌ | **핵심:** Isolated 세션이 workspace context를 받는지 확인 필요! --- ## 시나리오 분석 ### 시나리오 A: Isolated = 완전 격리 **가정:** SOUL.md/AGENTS.md 주입 안 됨 **장점:** - 크론별 독립적 페르소나 가능 - 디버깅 시 크론 메시지만 보면 됨 **단점:** - 페르소나 지침 중복 (토큰 낭비) - 정책 변경 시 49개 크론 전부 수정 필요 ### 시나리오 B: Isolated도 workspace context 주입 **가정:** SOUL.md/AGENTS.md 자동 주입됨 **장점:** - 토큰 절감 (150,000 → ~10,000) - 정책 변경 시 SOUL.md만 수정 - 일관성 자동 유지 **단점:** - 크론별 커스텀 페르소나 불가능 (필요한가?) - 디버깅 시 workspace 파일도 확인 필요 --- ## 권장 정책 (시나리오별) ### IF Isolated = 완전 격리 (A) → **템플릿 참조 방식 도입** ```bash # 각 크론 메시지 앞에: "$(cat ~/openclaw/templates/cron-persona.txt) --- [태스크 내용]" ``` **예상 효과:** - 300-400 tokens → 50-100 tokens (70% 절감) - 월간 150,000 → 45,000 tokens ### IF Isolated도 주입됨 (B) → **페르소나 블록 완전 제거** ```bash # 크론 메시지: "[태스크 내용만]" ``` **예상 효과:** - 300-400 tokens → 0 tokens (100% 절감) - 월간 150,000 → 0 tokens - SOUL.md/AGENTS.md에서 자동 상속 --- ## 실험 계획 ### 1단계: 컨텍스트 주입 확인 **테스트 크론 생성:** ```json { "name": "페르소나 테스트", "schedule": { "kind": "at", "atMs": 1770260000000 }, "sessionTarget": "isolated", "payload": { "kind": "agentTurn", "model": "anthropic/claude-haiku-4-5-20251001", "message": "다음 질문에 답하세요:\n\n1. 당신의 이름은?\n2. 당신의 페르소나는?\n3. SOUL.md를 읽을 수 있나요?\n4. AGENTS.md를 읽을 수 있나요?\n\n사실만 답하세요.", "deliver": true, "channel": "discord", "to": "channel:1468751194284621967" } } ``` **예상 결과:** - **A 시나리오:** "모릅니다" 또는 일반적 답변 - **B 시나리오:** "자비스", 페르소나 특징 설명, workspace 파일 인지 ### 2단계: 토큰 소모 측정 **측정 항목:** - 페르소나 블록 있을 때 vs. 없을 때 - Prompt cache hit rate - 실제 비용 차이 ### 3단계: 정책 확정 및 롤아웃 **시나리오 A → 템플릿 방식** - 모든 크론에 `$(cat ...)` 추가 - 유지보수: `cron-persona.txt` 1개만 수정 **시나리오 B → 완전 제거** - 모든 페르소나 블록 삭제 - SOUL.md/AGENTS.md만 관리 --- ## 예외 케이스 ### 페르소나 불필요한 크론 - 시스템 점검 (디스크, 로그 정리 등) - 외부 스크립트 실행 (backup, rotate 등) - 내부 검증 크론 → 이들은 페르소나 없이 사실만 보고해도 됨 ### 커스텀 페르소나 필요한 크론 - 특정 톤이 필요한 경우 (예: 긴급 알림은 더 단호하게) - 특정 채널 전용 (예: health 채널은 기술적으로) → 크론 메시지에 직접 명시 --- ## Action Items **즉시:** 1. [ ] 테스트 크론 실행 (컨텍스트 주입 확인) 2. [ ] 결과 분석 후 시나리오 확정 **시나리오 A 선택 시:** 1. [ ] 템플릿 참조 스크립트 작성 2. [ ] 5개 크론에 파일럿 적용 3. [ ] 1주 모니터링 4. [ ] 전체 49개 크론 롤아웃 **시나리오 B 선택 시:** 1. [ ] SOUL.md/AGENTS.md 페르소나 지침 강화 2. [ ] 5개 크론 페르소나 블록 제거 (파일럿) 3. [ ] 1주 모니터링 (톤 일관성 확인) 4. [ ] 전체 49개 크론 롤아웃 --- ## 예상 효과 | 지표 | 현재 | 템플릿 (A) | 완전 제거 (B) | |------|------|------------|---------------| | 크론당 토큰 | 300-400 | 50-100 | 0 | | 월간 토큰 | 150,000 | 45,000 | 0 | | 유지보수 포인트 | 49개 크론 | 1개 템플릿 | SOUL.md만 | | 일관성 보장 | 수동 | 반자동 | 자동 | | 커스텀 유연성 | 높음 | 중간 | 낮음 | --- ## 결론 **권장:** 시나리오 B (완전 제거) **근거:** - 토큰 절감 최대 (월 $3-5 절약) - 유지보수 최소화 - 자비스 페르소나는 모든 크론에 일관되게 적용되어야 함 - 커스텀이 필요한 케이스는 극소수 (예외로 처리) **Next Step:** 테스트 크론 실행 → 결과 확인 → 정우님 승인 → 파일럿 → 전체 롤아웃