OpenClaw 구축·운영 (23/26) — 자기개선 시스템 설계

OpenClaw 자기개선(Self-Improvement) 시스템 설계

에이전트가 스스로 시스템을 진단하고 고치는 자율 진화 아키텍처


핵심 요약

  • 매일 22:05에 self-review 크론이 실행되어 시스템을 자율적으로 진단·개선한다
  • Validation Gate로 이미 처리된 개선안의 반복 제안을 차단하고, Deferred 문서로 기술 부채를 의식적으로 관리한다
  • 자기지식(self-architecture.md)의 완전 무결성이 모든 판단의 전제조건이다
배경

배경

초기에는 에이전트의 모든 개선이 나의 몫이었다. 동일한 실수를 반복하면 프롬프트를 수정하고, 느린 스크립트를 직접 최적화했다. 하지만 운영이 길어지며 깨달았다 — 시스템 문제(API Rate Limit, Fallback 발생, 반복 런타임 오류 등)를 가장 먼저 체감하는 것은 에이전트 자신이다.

에이전트가 스스로 실패 패턴을 감지하고 개선안을 적용할 수 있다면? 이 질문에서 자기개선 시스템이 시작되었다.

self-review 크론 (매일 22:05 KST)

본문

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단계 프로토콜

  1. Diagnose: 트리거(피드백, 반복 실패 로그, Reflect 충돌 등) 확인 후 문제 파악
  2. Judge: 개선안을 4유형으로 분류 — Type A(설정 변경, mir 직접), Type B(코드 변경, orchestrator 위임), Type C(미검증 아이디어, researcher 조사), Type D(조건부 보류, deferred-improvements.md)
  3. Execute: Type A·B 실행. 과거 적용/보류 이력 교차 검증 후 진행
  4. 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의 기계적 검증을 통과하지 못하는 설정은 절대 시스템에 반영되어서는 안 된다.

댓글

이 블로그의 인기 게시물

"LLM 핵심 학습 (1/6) — 기본: 토큰화·임베딩·어텐션·위치 인코딩"

"LLM 핵심 학습 (2/6) — 파인튜닝: LoRA·QLoRA·증류·Adapter"

"ML 기초 학습 (1/9) — 머신러닝과 sklearn: 학습의 좌표계"