Agent Runtime ๐ค
OpenClaw๋ p-mono์์ ํ์๋ ๋จ์ผ ์๋ฒ ๋๋ agent ๋ฐํ์์ ์คํํฉ๋๋ค.
Workspace (ํ์)
OpenClaw๋ ๋จ์ผ agent workspace ๋๋ ํ ๋ฆฌ(agents.defaults.workspace)๋ฅผ tool ๋ฐ ์ปจํ ์คํธ๋ฅผ ์ํ agent์ ์ ์ผํ ์์ ๋๋ ํ ๋ฆฌ(cwd)๋ก ์ฌ์ฉํฉ๋๋ค.
๊ถ์ฅ: openclaw setup์ ์ฌ์ฉํ์ฌ ๋๋ฝ๋ ๊ฒฝ์ฐ ~/.openclaw/openclaw.json์ ์์ฑํ๊ณ workspace ํ์ผ์ ์ด๊ธฐํํ์ธ์.
์ ์ฒด workspace ๋ ์ด์์ + ๋ฐฑ์ ๊ฐ์ด๋: Agent workspace
agents.defaults.sandbox๊ฐ ํ์ฑํ๋ ๊ฒฝ์ฐ, ๋น main session์ agents.defaults.sandbox.workspaceRoot ์๋์ session๋ณ workspace๋ก ์ฌ์ ์ํ ์ ์์ต๋๋ค (Gateway configuration ์ฐธ์กฐ).
Bootstrap ํ์ผ (์ฃผ์ ๋จ)
agents.defaults.workspace ๋ด๋ถ์์ OpenClaw๋ ๋ค์ ์ฌ์ฉ์ ํธ์ง ๊ฐ๋ฅํ ํ์ผ์ ์์ํฉ๋๋ค:
- AGENTS.md โ ์๋ ์ง์นจ + "๋ฉ๋ชจ๋ฆฌ"
- SOUL.md โ ํ๋ฅด์๋, ๊ฒฝ๊ณ, ํค
- TOOLS.md โ ์ฌ์ฉ์ ์ ์ง ๊ด๋ฆฌ tool ๋ ธํธ (์: imsg, sag, ๊ท์น)
- BOOTSTRAP.md โ ์ผํ์ฑ ์ฒซ ์คํ ์์ (์๋ฃ ํ ์ญ์ ๋จ)
- IDENTITY.md โ agent ์ด๋ฆ/๋ถ์๊ธฐ/์ด๋ชจ์ง
- USER.md โ ์ฌ์ฉ์ ํ๋กํ + ์ ํธํ๋ ํธ์นญ
์ session์ ์ฒซ ๋ฒ์งธ ํด์์ OpenClaw๋ ์ด๋ฌํ ํ์ผ์ ๋ด์ฉ์ agent ์ปจํ ์คํธ์ ์ง์ ์ฃผ์ ํฉ๋๋ค.
๋น ํ์ผ์ ๊ฑด๋๋๋๋ค. ํฐ ํ์ผ์ ํ๋กฌํํธ๊ฐ ๊ฐ๊ฒฐํ๊ฒ ์ ์ง๋๋๋ก ์๋ฆฌ๊ณ ๋ง์ปค๋ก ์๋ฆฝ๋๋ค (์ ์ฒด ๋ด์ฉ์ ๋ณด๋ ค๋ฉด ํ์ผ์ ์ฝ์ผ์ธ์).
ํ์ผ์ด ๋๋ฝ๋ ๊ฒฝ์ฐ, OpenClaw๋ ๋จ์ผ "๋๋ฝ๋ ํ์ผ" ๋ง์ปค ๋ผ์ธ์ ์ฃผ์ ํฉ๋๋ค (๊ทธ๋ฆฌ๊ณ openclaw setup์ ์์ ํ ๊ธฐ๋ณธ ํ ํ๋ฆฟ์ ์์ฑํฉ๋๋ค).
BOOTSTRAP.md๋ ์์ ํ ์๋ก์ด workspace์๋ง ์์ฑ๋ฉ๋๋ค (๋ค๋ฅธ bootstrap ํ์ผ์ด ์๋ ๊ฒฝ์ฐ). ์์์ ์๋ฃํ ํ ์ญ์ ํ๋ฉด ์ดํ ์ฌ์์ ์ ์ฌ์์ฑ๋์ง ์์์ผ ํฉ๋๋ค.
bootstrap ํ์ผ ์์ฑ์ ์์ ํ ๋นํ์ฑํํ๋ ค๋ฉด (์ฌ์ ์๋๋ workspace์ ๊ฒฝ์ฐ), ๋ค์์ ์ค์ ํ์ธ์:
{ agent: { skipBootstrap: true } }
๋ด์ฅ tool
ํต์ฌ tool(read/exec/edit/write ๋ฐ ๊ด๋ จ ์์คํ tool)์ tool policy์ ๋ฐ๋ผ ํญ์ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค. apply_patch๋ ์ ํ ์ฌํญ์ด๋ฉฐ tools.exec.applyPatch์ ์ํด ์ ์ด๋ฉ๋๋ค. TOOLS.md๋ ์ด๋ค tool์ด ์กด์ฌํ๋์ง ์ ์ดํ์ง ์์ต๋๋ค; ์ฌ์ฉ์๊ฐ ์ํ๋ ์ฌ์ฉ ๋ฐฉ๋ฒ์ ๋ํ ์ง์นจ์ ๋๋ค.
Skill
OpenClaw๋ ์ธ ์์น์์ skill์ ๋ก๋ํฉ๋๋ค (์ด๋ฆ ์ถฉ๋ ์ workspace๊ฐ ์ฐ์ ):
- ๋ฒ๋ค (์ค์น์ ํจ๊ป ์ ๊ณต๋จ)
- ๊ด๋ฆฌํ/๋ก์ปฌ: ~/.openclaw/skills
- Workspace: <workspace>/skills
Skill์ config/env์ ์ํด ์ ์ด๋ ์ ์์ต๋๋ค (Gateway configuration์ skills ์ฐธ์กฐ).
p-mono ํตํฉ
OpenClaw๋ p-mono ์ฝ๋๋ฒ ์ด์ค์ ์กฐ๊ฐ(model/tool)์ ์ฌ์ฌ์ฉํ์ง๋ง session ๊ด๋ฆฌ, ๊ฒ์ ๋ฐ tool ์ฐ๊ฒฐ์ OpenClaw๊ฐ ์์ ํฉ๋๋ค.
- p-coding agent ๋ฐํ์ ์์.
- ~/.pi/agent ๋๋ <workspace>/.pi ์ค์ ์ ์ฐธ์กฐ๋์ง ์์ต๋๋ค.
Session
Session transcript๋ ๋ค์ ์์น์ JSONL๋ก ์ ์ฅ๋ฉ๋๋ค:
- ~/.openclaw/agents/<agentId>/sessions/<SessionId>.jsonl
Session ID๋ ์์ ์ ์ด๋ฉฐ OpenClaw๊ฐ ์ ํํฉ๋๋ค. ๋ ๊ฑฐ์ Pi/Tau session ํด๋๋ ์ฝ์ง ์์ต๋๋ค.
์คํธ๋ฆฌ๋ฐ ์ค ์กฐํฅ
Queue mode๊ฐ steer์ธ ๊ฒฝ์ฐ, ์ธ๋ฐ์ด๋ ๋ฉ์์ง๊ฐ ํ์ฌ ์คํ์ ์ฃผ์ ๋ฉ๋๋ค. Queue๋ ๊ฐ tool ํธ์ถ ํ์ ํ์ธ๋ฉ๋๋ค; ํ์ ์๋ ๋ฉ์์ง๊ฐ ์์ผ๋ฉด ํ์ฌ assistant ๋ฉ์์ง์ ๋๋จธ์ง tool ํธ์ถ์ด ๊ฑด๋๋ฐ์ด์ง๋๋ค ("Skipped due to queued user message."๋ก ์ค๋ฅ tool ๊ฒฐ๊ณผ), ๊ทธ๋ฐ ๋ค์ ํ์ ์๋ ์ฌ์ฉ์ ๋ฉ์์ง๊ฐ ๋ค์ assistant ์๋ต ์ ์ ์ฃผ์ ๋ฉ๋๋ค.
Queue mode๊ฐ followup ๋๋ collect์ธ ๊ฒฝ์ฐ, ์ธ๋ฐ์ด๋ ๋ฉ์์ง๋ ํ์ฌ ํด์ด ๋๋ ๋๊น์ง ๋ณด๋ฅ๋ ๋ค์ ํ์ ์๋ payload๋ก ์ agent ํด์ด ์์๋ฉ๋๋ค. mode + debounce/cap ๋์์ Queue ์ฐธ์กฐ.
Block ์คํธ๋ฆฌ๋ฐ์ ์๋ฃ๋ assistant block์ ์๋ฃ๋๋ ์ฆ์ ์ ์กํฉ๋๋ค; ๊ธฐ๋ณธ์ ์ผ๋ก ๊บผ์ ธ ์์ต๋๋ค (agents.defaults.blockStreamingDefault: "off"). ๊ฒฝ๊ณ๋ agents.defaults.blockStreamingBreak๋ฅผ ํตํด ์กฐ์ ํ์ธ์ (text_end vs message_end; ๊ธฐ๋ณธ๊ฐ text_end). ์ํํธ block ์ฒญํน์ agents.defaults.blockStreamingChunk๋ก ์ ์ดํ์ธ์ (๊ธฐ๋ณธ๊ฐ 800โ1200์; ๋จ๋ฝ ๊ตฌ๋ถ ์ ํธ, ๊ทธ ๋ค์ ์ค๋ฐ๊ฟ; ๋ฌธ์ฅ ๋ง์ง๋ง). ์คํธ๋ฆฌ๋ฐ๋ ์ฒญํฌ๋ฅผ agents.defaults.blockStreamingCoalesce๋ก ๋ณํฉํ์ฌ ๋จ์ผ ๋ผ์ธ ์คํธ์ ์ค์ด์ธ์ (์ ์ก ์ idle ๊ธฐ๋ฐ ๋ณํฉ). ๋น Telegram channel์ block ์๋ต์ ํ์ฑํํ๋ ค๋ฉด ๋ช ์์ ์ผ๋ก *.blockStreaming: true๊ฐ ํ์ํฉ๋๋ค. Verbose tool ์์ฝ์ tool ์์ ์ ๋ฐํ๋ฉ๋๋ค (debounce ์์); Control UI๋ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฒฝ์ฐ agent event๋ฅผ ํตํด tool ์ถ๋ ฅ์ ์คํธ๋ฆฌ๋ฐํฉ๋๋ค. ์์ธํ ๋ด์ฉ: Streaming + chunking.
Model ref
config์ model ref(์: agents.defaults.model ๋ฐ agents.defaults.models)๋ ์ฒซ ๋ฒ์งธ /๋ก ๋ถํ ํ์ฌ ํ์ฑ๋ฉ๋๋ค.
- model์ ๊ตฌ์ฑํ ๋ provider/model์ ์ฌ์ฉํ์ธ์.
- model ID ์์ฒด์ /๊ฐ ํฌํจ๋ ๊ฒฝ์ฐ(OpenRouter ์คํ์ผ), provider ์ ๋์ฌ๋ฅผ ํฌํจํ์ธ์ (์: openrouter/moonshotai/kimi-k2).
- provider๋ฅผ ์๋ตํ๋ฉด OpenClaw๋ ์ ๋ ฅ์ alias ๋๋ ๊ธฐ๋ณธ provider์ model๋ก ์ฒ๋ฆฌํฉ๋๋ค (model ID์ /๊ฐ ์๋ ๊ฒฝ์ฐ์๋ง ์๋).
๊ตฌ์ฑ (์ต์)
์ต์ํ ๋ค์์ ์ค์ ํ์ธ์:
- agents.defaults.workspace
- channels.whatsapp.allowFrom (๊ฐ๋ ฅ ๊ถ์ฅ)
๋ค์: Group Chats ๐ฆ