에이전트 워크스페이스 구조 (Agent Workspace Structure)
LLM 에이전트의 정체성·규칙·기억·도구·루틴을
.md파일 집합으로 분리 정의하는 아키텍처 패턴. CLAUDE.md 하네스 엔지니어링의 실증 사례이자 일반화된 에이전트 설계 원칙.
설명
“같은 Claude 모델이어도 워크스페이스가 다르면 완전히 다른 에이전트가 된다.”
이 원칙이 에이전트 워크스페이스 구조의 핵심이다. LLM 자체(두뇌)는 고정되어 있지만, 에이전트를 둘러싼 컨텍스트 파일 집합(워크스페이스)이 행동·역할·기억·도구 접근 권한을 결정한다.
이는 harness-engineering의 CLAUDE.md 패턴과 동일한 원리를 일반 에이전트 프레임워크로 확장한 것이다.
파일 구조 (뽀짝이 사례)
OpenClaw 프레임워크 기반 에이전트 뽀짝이(2026-02 기준) 워크스페이스 구성:
| 파일 | 역할 | Claude Code 하네스 대응 |
|---|---|---|
| SOUL.md | 성격·말투·행동 방식 — 에이전트 페르소나 정의 (5요소: Identity/Mission/Personality/Boundaries/Tone) | System Prompt 역할 지침 |
| USER.md | 팀원 정보·권한 체계 — 누가 어떤 요청을 할 수 있는지 | 사용자 컨텍스트 |
| AGENTS.md | 절대 규칙·폴더 구조·파일명·로깅 규칙 — 실제 사고에서 탄생한 구체적 금지 규칙 누적 (9일에 0→14개). “SOUL.md가 DNA라면 AGENTS.md는 사내 업무 매뉴얼” | CLAUDE.md 핵심 지침 |
| MEMORY.md | 장기 기억 요약 — 세션 시작 시 로드 | 영구 메모리 파일 |
| memory/ | 날짜별 상세 작업 일지 (YYYYMMDD.md) | 작업 로그 |
| TOOLS.md | 도구 사용법·API 키 위치·접속 계정 | MCP 연결 정보 |
| HEARTBEAT.md | 시간별 루틴·트리거 조건 | Stop Hook + CronCreate |
| IDENTITY.md | 이름·Slack Bot ID·아바타 메타데이터 | 에이전트 ID |
(출처: bbojjak-openclaw-agentic-architecture-lesson01)
핵심 원칙
1. 파일 = 에이전트 정체성 레이어
모델(LLM)과 정체성(워크스페이스 파일)을 분리하면:
- 모델 업그레이드 시 파일 변경 없이 성능만 향상
- 역할 전환 시 모델 교체 없이 파일만 교체
- 멀티 에이전트 운영 시 같은 모델로 N개의 독립 에이전트 실행
2. 단기 기억(세션) vs 장기 기억(파일) 분리
세션(.jsonl) → 단기: 한 대화의 맥락 (컨텍스트 윈도우 제한)
MEMORY.md → 장기: 세션 간 유지할 핵심 정보 요약
memory/ 폴더 → 아카이브: 날짜별 상세 기록 (검색 가능)
세션이 끝나도 지식이 증발하지 않도록 영구 기억 파일에 분리 저장하는 것이 장기 에이전트 운영의 핵심.
3. 워크스페이스 격리 = 에이전트 격리
같은 하드웨어에서 여러 에이전트를 실행할 때, 워크스페이스 디렉토리를 분리하면 세션·기억·도구 접근이 완전히 격리된다. “방을 따로 쓰는 룸메이트” 구조.
멀티에이전트 적용
| 에이전트 | 워크스페이스 | 역할 |
|---|---|---|
| bboya | /workspace/bboya/ | 개인 비서 (반말, 일정 관리) |
| bbojjak | /workspace/bbojjak/ | 스터디 운영 비서 (존댓말, CS·운영) |
| dahtmad | /workspace/dahtmad/ | 집사 분신 에이전트 |
세 에이전트 모두 Claude 모델 사용, 하지만 SOUL.md가 달라 완전히 다른 캐릭터.
shared/team/ — 공용 거실
멀티에이전트 운영 시 각 워크스페이스 외에 공용 폴더가 추가된다:
~/.openclaw/
├── workspace-bboya/
├── workspace-bbojjak/
└── shared/team/ ← 공용 거실
├── TEAM.md ← 팀 헌장 (미션·역할 분담·핵심 가치)
└── COLLAB-RULES.md ← 협업 규칙 (위임 4요소·보고 체계)
- 각자의 방(워크스페이스)은 절대 침범 불가
- shared/team/은 모든 에이전트가 읽기 가능
- TEAM.md: “우리는 왜 존재하는가” — 매 세션 시작 시 로드
- COLLAB-RULES.md: “어떻게 일하는가” — 위임·보고 규칙
(출처: bbojjak-openclaw-multi-agent-team-lesson04)
CLAUDE.md 하네스와 대응
harness-engineering의 4단계 구조와 직접 대응:
| 워크스페이스 파일 | 하네스 단계 |
|---|---|
| SOUL.md + AGENTS.md | Phase 1: CLAUDE.md 지침 |
| TOOLS.md | Phase 4: MCP 연동 |
| HEARTBEAT.md | Phase 3: Stop Hook + CronCreate |
| MEMORY.md + memory/ | Phase 2: 영구 메모리 Skill |
파일이 세션 사이의 다리
agent-session-architecture에 따르면, 에이전트는 채팅 컨텍스트(Slack 채널, DM 등)마다 독립 세션을 운영한다. 각 세션의 대화 맥락은 서로 분리되지만, 워크스페이스 파일은 모든 세션이 공유한다.
세션 A (Slack #채널1) ──→ AGENTS.md, memory/, SOUL.md (공유)
세션 B (Slack DM) ──→ AGENTS.md, memory/, SOUL.md (공유)
세션 C (텔레그램) ──→ AGENTS.md, memory/, SOUL.md (공유)
memory/파일: 채널 간 공유할 중요 결정을 기록 → 모든 세션에서 참조 가능AGENTS.md: 전 세션에서 시스템 프롬프트로 로드 → 항상 원본 유지 (컴팩션 영향 없음)
이 구조 덕분에 세션이 분리되어 있어도 “조직의 기억”은 유지된다. (출처: bbojjak-openclaw-session-architecture-lesson06)
관련 개념
- agent-session-architecture — 세션 단위·컴팩션·채널 라우팅 구조; 워크스페이스 파일이 세션 간 다리 역할
- multi-agent-team-design — shared/team/ 공용 폴더 + sessions_send + 호명 규칙으로 팀 운영하는 멀티에이전트 패턴
- agent-identity-design — SOUL.md 5가지 구성요소(Identity/Mission/Personality/Boundaries/Tone) 상세 설계 방법론
- harness-engineering — Claude Code 하네스의 동일 원리
- heartbeat-mechanism — HEARTBEAT.md 파일을 활용한 능동 에이전트 패턴
- initializer-coding-agent — 세션 시작 시 상태 파일 로드 패턴
- agentic-ai-curriculum — 에이전트 설계 교육 과정에서 다루는 핵심 주제
Hermes Agent 워크스페이스 구조 비교
hermes-agent의 ~/.hermes/ 구조는 OpenClaw의 ~/.openclaw/와 파일 역할이 대응되지만 설계 철학이 다르다. (출처: obsidian-hermes-agent-build-guide)
| 파일/폴더 | Hermes (~/.hermes/) | OpenClaw (~/.openclaw/workspace-x/) |
|---|---|---|
| 인격 | SOUL.md | SOUL.md |
| 업무 규칙 | (AGENTS.md = 프로젝트 컨텍스트) | AGENTS.md (절대 규칙·패턴 누적) |
| 장기 기억 | memories/MEMORY.md (2,200자) | MEMORY.md |
| 사용자 프로필 | memories/USER.md (1,375자) | USER.md |
| 도구 정보 | (config.yaml) | TOOLS.md |
| 루틴 | (cron via gateway) | HEARTBEAT.md |
| 재사용 절차 | skills/<name>/SKILL.md | (스킬 = AGENTS.md에 절차 기술) |
| 세션 기록 | SQLite FTS5 (자동) | memory/YYYYMMDD.md |
핵심 차이: Hermes는 skills/ 폴더 + SQLite 세션 검색 + Profiles CLI alias가 차별화 포인트. OpenClaw는 6개 파일 자동 주입 + sessions_send 실시간 에이전트 통신이 강점.
소스
- bbojjak-openclaw-agentic-architecture-lesson01
- bbojjak-openclaw-soul-md-lesson02
- obsidian-hermes-agent-build-guide (Hermes ~/.hermes/ vs OpenClaw 구조 비교)