OpenClaw 구축·운영 (23/26) — 자기개선 시스템 설계
에이전트가 스스로 시스템을 진단하고 고치는 자율 진화 아키텍처
핵심 요약
- 매일 22:05에 self-review 크론이 실행되어 시스템을 자율적으로 진단·개선한다
- Validation Gate로 이미 처리된 개선안의 반복 제안을 차단하고, Deferred 문서로 기술 부채를 의식적으로 관리한다
- 자기지식(self-architecture.md)의 완전 무결성이 모든 판단의 전제조건이다
배경
초기에는 에이전트의 모든 개선이 나의 몫이었다. 동일한 실수를 반복하면 프롬프트를 수정하고, 느린 스크립트를 직접 최적화했다. 하지만 운영이 길어지며 깨달았다 — 시스템 문제(API Rate Limit, Fallback 발생, 반복 런타임 오류 등)를 가장 먼저 체감하는 것은 에이전트 자신이다.
에이전트가 스스로 실패 패턴을 감지하고 개선안을 적용할 수 있다면? 이 질문에서 자기개선 시스템이 시작되었다.
본문
self-review 크론 (매일 22:05 KST)
{
"agentId": "mir",
"name": "self-review",
"schedule": { "kind": "cron", "expr": "5 22 * * *", "tz": "Asia/Seoul" },
"payload": { "timeoutSeconds": 300, "lightContext": true }
}
22:00의 daily-summary와 리소스 경합을 막기 위해 5분 오프셋을 두었다. lightContext: true로 일일 대화 히스토리를 배제하고 시스템 진단에만 집중한다.
Self-Architecture — 자기지식의 명세화
bank/research/self-architecture.md(680행+)에 9개 서브 에이전트 설정, 크론 인벤토리, 메모리 시스템 구조, 보안 아키텍처가 기록되어 있다. 진단 시 이 문서를 Source of Truth로 삼아 런타임 설정과 비교하고 불일치 시 즉시 동기화한다.
4단계 프로토콜
- Diagnose: 트리거(피드백, 반복 실패 로그, Reflect 충돌 등) 확인 후 문제 파악
- Judge: 개선안을 4유형으로 분류 — Type A(설정 변경, mir 직접), Type B(코드 변경, orchestrator 위임), Type C(미검증 아이디어, researcher 조사), Type D(조건부 보류, deferred-improvements.md)
- Execute: Type A·B 실행. 과거 적용/보류 이력 교차 검증 후 진행
- Verify:
openclaw doctor,agent-linter.sh,json.tool검증 필수 통과
Validation Gate — 무한 루프 방지
researcher가 웹에서 스크랩해 온 최적화 기법을 3가지로 필터링한다:
- Already Applied: 기 운영 중이면 즉시 폐기
- Already Deferred: 보류 중이면 보류 유지
- Genuinely New: 순수 신규 제안만 평가 단계로 통과
이 게이트가 없으면 과거에 처리한 개선안을 매주 반복 제안하는 컨텍스트 낭비가 발생한다.
Deferred Improvements — 보류의 기술
> [D-001] exec allowlist at config level
> 상태: 조건부 보류
> 사유: OpenClaw 엔진 미지원 (#43531 이슈)
> 재평가 조건: OpenClaw 버전 업데이트 후 CHANGELOG 확인
"무엇을 언제 다시 평가할 것인가"를 명확히 적어두면, 조건 충족 시 에이전트가 스스로 보류를 해제하고 작업을 재개한다.
시행착오 / 주의사항
- 인간이 수동으로 설정을 변경한 뒤 self-architecture.md를 동기화하지 않으면, 에이전트는 환각에 빠져 잘못된 진단을 내린다
- 매일 06:00에
oc-update-check.sh가 엔진 버전 변경을 감지하고, 22:05 self-review가 Breaking Change 발견 시 즉시 위험도를 보고한다
마무리
자기개선의 핵심은 '무엇을 하지 않을지' 정하는 것이다. Validation Gate와 Deferred 문서는 에이전트의 과도한 자율성을 통제하는 브레이크다. 그리고 검증(Verify) 없는 실행은 재앙이다 — openclaw doctor의 기계적 검증을 통과하지 못하는 설정은 절대 시스템에 반영되어서는 안 된다.
댓글
댓글 쓰기