OpenClaw 규칙 씹힘 문제 — 해결책 모음
OpenClaw 규칙 씹힘 문제 — 해결책 모음
섹션 제목: “OpenClaw 규칙 씹힘 문제 — 해결책 모음”📌 개요
섹션 제목: “📌 개요”OpenClaw의 AGENTS.md / systemPromptOverride 규칙이 실제 동작 중 무시되거나 잘리는 현상에 대한 해결책 정리. 깃허브 공식 이슈 및 커뮤니티 논의를 기반으로 함.
🔴 근본 원인 (깃허브 이슈 기반)
섹션 제목: “🔴 근본 원인 (깃허브 이슈 기반)”| 이슈 | 원인 | 상태 |
|---|---|---|
| #75187 | AGENTS.md 중요 규칙이 파일 하단에 있어 bootstrapMaxChars로 head-truncation 당함 | Open |
| #72150 | systemPromptOverride가 게이트웨이 재시작 / sessions.json 삭제 시 세션 재생성 안 됨 | Closed |
| #71378 | Guard 레이어 추가 PR (L3) — 입/출력/메모리 필터링 | Abandoned |
| #76248 | 세션 modelOverride / providerOverride 무시됨 (비슷한 패턴) | Closed |
✅ 해결책 8가지
섹션 제목: “✅ 해결책 8가지”1️⃣ bootstrapMaxChars 값 늘리기 (가장 기본)
섹션 제목: “1️⃣ bootstrapMaxChars 값 늘리기 (가장 기본)”openclaw config set agents.defaults.bootstrapMaxChars 8000# 또는 더 큰 값 (모델 컨텍스트 창에 맞춰)#75187 의 핵심 원인. 기본값이 작으면 AGENTS.md 하단 규칙이 잘림.
2️⃣ AGENTS.md 수동 재배치 — 중요 규칙을 상단으로
섹션 제목: “2️⃣ AGENTS.md 수동 재배치 — 중요 규칙을 상단으로”openclaw doctor --fix 자동 생성 템플릿에서:
## Red Lines,## External vs Internal같은 핵심 규칙을 파일 상단으로 이동- 개성/인사말 등은 하단으로
#75187 에서 제안된 workaround. 자동 생성기 버그가 고쳐질 때까지 수동 정렬.
3️⃣ systemPromptOverride 재적용 스크립트 (재시작 대응)
섹션 제목: “3️⃣ systemPromptOverride 재적용 스크립트 (재시작 대응)”게이트웨이 재시작 후 sessions.json이 초기화되면 override 사라짐.
# 재시작 후 자동 적용하도록 alias나 systemd post-hookopenclaw config set 'agents.list.0.systemPromptOverride' 'YOUR_RULES_HERE'# 또는openclaw gateway restart && sleep 5 && openclaw config reload#72150 해결책. 세션 재생성 시 override를 다시 주입해야 함.
4️⃣ 모델 컨텍스트 창 키우기 (모델 변경)
섹션 제목: “4️⃣ 모델 컨텍스트 창 키우기 (모델 변경)”큰 컨텍스트 창 모델 사용:
gpt-4o,claude-sonnet-4,gemini-1.5-pro- 또는 로컬:
qwen3-32b,gemma4-31b(Ollama)
규칙이 길수록 큰 컨텍스트가 유리. 작은 모델(8B)은 규칙 잘리기 쉬움.
5️⃣ rules를 user 메시지에 중복 삽입 (fallback)
섹션 제목: “5️⃣ rules를 user 메시지에 중복 삽입 (fallback)”System prompt가 씹히면 user turn에 다시 넣기:
[시스템 규칙 리마인더]- 추측 금지- 검색한 척 금지- ...커뮤니티에서 나온 “belt and suspenders” 방식. 완전한 해결은 아니지만 안전장치.
6️⃣ Guard 레이어 사용 (L3 가드 — 실험적)
섹션 제목: “6️⃣ Guard 레이어 사용 (L3 가드 — 실험적)”#71378 에서 논의된 입/출력 검증 레이어:
- input guard: 모델 입력 전 규칙 위반 여부 검사
- output guard: 응답 후 규칙 준수 확인 (재생성 트리거)
- memory guard: 메모리 저장 전 필터
- skill guard: 스킬 호출 전 제한 검사
PR은 abandoned 되었지만, 비슷한 로직을 커스텀 프롬프트로 구현 가능.
7️⃣ OpenClaw 버전 업데이트 + 세션 파일 백업
섹션 제목: “7️⃣ OpenClaw 버전 업데이트 + 세션 파일 백업”openclaw update# sessions.json 정기 백업cp ~/.openclaw/sessions.json ~/.openclaw/sessions.json.bak#72150 버그는 최신 버전에서 일부 패치됨. 세션 파일 보존이 중요.
8️⃣ AGENTS.md를 CLAUDE.md로 분할 (프로젝트별)
섹션 제목: “8️⃣ AGENTS.md를 CLAUDE.md로 분할 (프로젝트별)”워크스페이스 루트 AGENTS.md는 짧게 유지하고, 프로젝트 폴더별 CLAUDE.md에 세부 규칙 분산:
- 전역 규칙 (짧게)
- 프로젝트별 규칙 (해당 폴더에서만 로드)
커뮤니티에서 제안한 토큰 절약 전략.
🔥 추천 조합
섹션 제목: “🔥 추천 조합”- 즉시:
bootstrapMaxChars늘리기 - 중기: AGENTS.md 수동 재배열 (중요 규칙 상단)
- 장기: systemPromptOverride 재적용 스크립트 + 큰 컨텍스트 모델
🔗 참고 링크
섹션 제목: “🔗 참고 링크”- #75187: Auto-generated AGENTS.md puts load-bearing tool-use rules at the bottom
- #72150: systemPromptOverride is ignored after gateway restart
- #71378: feat(vs309): add L3 guard layer
- #76248: Session modelOverride/providerOverride silently ignored
[!note] 수정이력
- 2026-05-03 16:09, 분홍 (hermes): 최초 작성 — 깃허브 이슈 기반 해결책 8가지 정리