OpenClaw 구축·운영 (6/26) — 환경 구축 방법론: 설계와 운영의 분리
커스텀 구현을 버리고 네이티브 기능으로 전환한 아키텍처 설계 판단
핵심 요약
- 공식 가이드 14종을 전수 분석하여 커스텀 구현 5개를 네이티브 기능으로 대체했다
- 런타임(Agent)과 관리(docs) 구조를 물리적으로 분리하는 디렉토리 설계를 적용했다
- 내부 지시어는 영어, 최종 출력은 한국어라는 이중 언어 정책이 토큰 효율에 효과적이다
배경
OpenClaw는 업데이트 속도가 압도적이다. 3일 내에 3번의 마이너 릴리스(v2026.3.8→3.11)가 나올 정도였다. 이 속도에서 커스텀 구현을 유지하는 것은 비효율적이라는 판단을 내렸다.
본문
첫 번째 원칙: 공식 가이드 기반 검증
Claude Code를 활용해 OpenClaw 공식 가이드 14종(agents.md, automation.md, sessions-memory.md 등)을 전수 분석했다. 결과적으로 직접 스크립트로 구현한 5가지 기능을 폐기하고 네이티브로 대체했다.
- compact heartbeat →
compaction.mode: "safeguard" - flush.md, daily-log.md →
compaction.memoryFlush설정 - session heartbeat →
session.reset: daily+maintenance: enforce - Context cleanup heartbeat →
contextPruning(cache-ttl 1h) - 커스텀 Failover → Model fallbacks 배열
런타임/관리 구조 분리
/Project/
├── Agent/ (런타임)
│ ├── .openclaw/
│ ├── workspace-mir/
│ └── workspace-shared/
├── docs/ (관리)
│ ├── manuals/
│ ├── Spec.md
│ └── Checklist.md
├── scripts/
└── .claude/
도구 간 역할도 분리했다. mir(OpenClaw)는 사용자와 실시간 대화 및 서브에이전트 호출을, Claude Code는 릴리스 노트 분석과 설정 명세서 갱신을 담당한다.
보안: 최소 권한 원칙
| 에이전트 | 허용 도구 | 차단 도구 |
|---|---|---|
| monitor | read, exec | write, edit |
| researcher | web_search, read | write, exec |
| memory-runner | read, write | exec, edit |
| communicator | read, write | exec, web |
비용 최적화: Fallback 전략
{
"model": {
"primary": "ollama/qwen3.5:35b-a3b-16k",
"fallbacks": ["github-copilot/gpt-4o", "openai-codex/gpt-5.1-codex-mini"]
}
}
GitHub Copilot API 등 무료 서비스를 예비 모델로 배치하여 운영 비용 0원 유지.
시행착오 / 주의사항
가장 큰 실수는 네이티브 기능 존재 여부를 확인하지 않고 커스텀 구현부터 시작한 것이다. 빠른 업데이트 주기의 플랫폼에서는 "구현 전에 공식 문서부터 확인"이 철칙이다.
마무리
성숙하지 않은 AI 플랫폼 위에서 시스템을 구축하는 것은 움직이는 과녁을 맞히는 것과 같다. 한 번 구축하고 끝나는 것이 아니라, 변화를 수용하고 내재화하는 프로세스 자체가 가장 중요한 아키텍처다.
시리즈 전체 안내: 시리즈 목차
댓글
댓글 쓰기