🏛️ 헌법¶
ADCARRY AI 캐리들이 따르는 운영 정본. 모든 에이전트(main, content-marketing, global-selling, finance-ops)가 세션 시작 시 자동으로 읽는 파일이다.
무엇이 어떤 파일에 들어가나¶
AI 캐리에게 룰을 줄 때 "무엇을 어디에 적을 것인가"가 가장 중요하다. 잘못 적으면 AI가 헷갈리거나, 변경할 때 매번 4군데를 다 손봐야 한다.
📁 파일별 역할¶
| 파일 | 다루는 것 | 다루지 않는 것 |
|---|---|---|
| SOUL.md | 어조·태도·간결함·유머 (= "어떻게 말하는가") | 절차, 도구 사용, 보안 정책 |
| AGENTS.md | 운영 규칙·통신·도구·안전 (= "어떻게 일하는가") | 어조, 페르소나 |
| MEMORY.md | 장기 원칙·회사 정보·핵심 결정 (= "기억해야 할 것") | 일일 작업 (= daily 파일) |
🧠 비유로 설명¶
회사로 치면:
- SOUL.md = 직원 사규에서 "고객 응대 매너 / 회사 톤" 부분
- AGENTS.md = 직원 사규에서 "업무 절차·결재선·보안 규정" 부분
- MEMORY.md = 회사 연혁·핵심 가치·장기 전략 메모
다른 비유: - SOUL = AI 캐리의 목소리 - AGENTS = AI 캐리의 업무 매뉴얼 - MEMORY = AI 캐리의 장기 기억
작동 방식¶
flowchart LR
S([새 세션 시작]) --> L[워크스페이스 자동 로드]
L --> A[AGENTS.md]
L --> SO[SOUL.md]
L --> I[IDENTITY.md]
L --> U[USER.md]
A --> R[응답 시 컨텍스트로 사용]
SO --> R
I --> R
U --> R
DM([DM 세션만]) -.-> M[MEMORY.md 추가 로드]
M --> R
- 매 세션 시작 시 워크스페이스의 헌법 파일들이 자동으로 AI 캐리에게 주입된다.
- MEMORY.md는 DM/개인 세션에서만 로드된다 (그룹 채널에서는 개인정보 보호 위해 제외).
- 채널 가이드(
memory/channel-*.md)는 해당 채널 세션에서 추가로 로드된다.
정본은 한 군데, 4개 워크스페이스가 공유¶
AI 캐리 4명이 각자 워크스페이스를 가지고 있지만, 같은 룰을 따라야 하는 부분이 많다. 그래서:
SOUL.md (= 100% 공유)¶
- 4개 에이전트가 완전히 같은 페르소나를 가진다. - 한 군데 수정하면 4개 모두 즉시 반영.AGENTS.md (= 공통 + 부서별)¶
~/.openclaw/shared/AGENTS-common.md ← 공통 룰 정본
~/.openclaw/shared/AGENTS-{agent}.md (4개) ← 부서별 룰 정본
↓ scripts/build-agents-md.py 빌드
workspace*/AGENTS.md (4개) ← 합쳐진 산출물 (직접 수정 금지)
무엇을 SOUL에 적고 무엇을 AGENTS에 적나¶
가장 자주 헷갈리는 부분. 가이드 라인:
SOUL.md에 들어가야 할 것¶
- ✅ "한국어로 직설적으로 답한다" (어조)
- ✅ "빈말 칭찬은 하지 않는다" (태도)
- ✅ "불확실할 때는 결론·추정·근거를 분리한다" (응답 방식)
- ✅ "호칭: 내부는 '장캐리', 외부 문서는 '본명+직책'" (말투 영역)
AGENTS.md에 들어가야 할 것¶
- ✅ "외부 결제·송금은 사람 지시 후에만" (안전 정책)
- ✅ "채널 가이드 파일을 반드시 읽는다" (절차)
- ✅ "웹훅으로만 에이전트 간 통신" (도구 사용 규칙)
- ✅ "세금계산서 직접 발행 금지" (finance 전용 권한 규칙)
절대 헌법 파일에 들어가면 안 되는 것¶
- ❌ 일일 업무 (= daily 파일로)
- ❌ 클라이언트 정보 (= memory/clients.md 같은 별도 파일로)
- ❌ 채널별 운영 (= memory/channel-*.md로)
- ❌ 시크릿/토큰/API 키 (= credentials/ 폴더로, 절대 헌법에 박지 않는다)
- ❌ 변경 이력 (= git log로)
- ❌ 자기 회사 설명 / 사용 의도 (= 별도 README로)
새 룰을 추가하고 싶을 때¶
직원이나 AI 캐리가 헌법에 새 룰을 박고 싶을 때 — 직접 정본을 수정하면 안 된다. 정해진 흐름:
flowchart LR
A[직원/AI가 룰 제안] --> B[#헌법-안건 채널에 제안]
B --> C[AI 캐리가 PR 생성]
C --> D[장캐리가 검토 + 결재]
D -->|👍 승인| E[정본 머지]
D -->|👎 거절| F[제안 종료]
E --> G[자동 빌드 + 사이트 갱신]
G --> H[4개 워크스페이스 동기화]
(거버넌스 시스템은 별도 페이지 참조 — 곧 추가 예정)
헌법 파일 작성 원칙¶
새 룰을 작성할 때 따라야 할 원칙:
1. 도가 원칙 — 부정보다 긍정 명령¶
- ❌
"빈말하지 말 것" - ✅
"질문에 바로 답한다"
2. Short beats long¶
- 한 룰은 한 줄. 이유는 별도 문서로.
- SOUL은 30줄, AGENTS는 100줄 안에서 유지.
3. 한 룰 = 한 행동¶
- 한 줄에 두 가지 행동 섞지 않는다.
- "먼저 찾아본 뒤 안 풀리면 묻는다" ✅
- "먼저 찾아본 뒤 안 풀리면 묻고, 그래도 안 되면 가이드를 만든다" ❌
4. 컨텍스트 의존적 룰은 피하기¶
- "영어 용어 처음 등장 시 괄호로 풀이" 같은 룰은 모델이 이미 알아서 함
- 룰화하면 노이즈만 됨
5. SOUL과 AGENTS 경계 명확히¶
- "어떻게 들리는가" = SOUL
- "어떻게 일하는가" = AGENTS
- 헷갈리면 "이 룰을 어겼을 때 응답 톤이 변하나, 행동이 변하나?" 자문
6. Safety는 불변¶
- common Safety 룰은 specific에서 강화만 가능, 완화 금지.
- 예: finance specific은 "세금계산서 직접 발행 절대 금지"로 더 강하게 만들 수 있지만, common의 "외부 발송 사람 지시 후"를 풀어버리면 안 된다.
정본 위치 (관리자용)¶
| 항목 | 정본 경로 |
|---|---|
| SOUL.md | ~/.openclaw/shared/SOUL.md |
| AGENTS common | ~/.openclaw/shared/AGENTS-common.md |
| AGENTS per-agent | ~/.openclaw/shared/AGENTS-{agent}.md (4개) |
| MEMORY.md | ~/.openclaw/workspace/MEMORY.md (main 전용) |
| 채널 가이드 | ~/.openclaw/workspace*/memory/channel-*.md |
| 빌드 스크립트 | scripts/build-agents-md.py |
| 드리프트 체크 | scripts/check-agents-md.py |