System Prompt
OpenClaw는 agent run마다 custom system prompt를 만듭니다. 이 prompt는 OpenClaw-owned이며, pi-coding-agent의 default prompt를 사용하지 않습니다. prompt는 OpenClaw가 조립해서 각 agent run에 inject합니다.Structure
prompt는 의도적으로 compact하며 고정된 section을 사용합니다.- Tooling: 현재 tool list와 짧은 설명
- Safety: power-seeking behavior나 oversight 우회를 피하라는 짧은 guardrail reminder
- Skills (있을 때): 필요 시 skill instruction을 load하는 방법
- OpenClaw Self-Update:
config.apply,update.run실행 방법 - Workspace:
working directory
(
agents.defaults.workspace) - Documentation: local OpenClaw docs path와 언제 읽어야 하는지
- Workspace Files (injected): bootstrap file이 아래에 포함된다는 안내
- Sandbox (활성화 시): sandbox runtime, sandbox path, elevated exec 가능 여부
- Current Date & Time: user local time, timezone, time format
- Reply Tags: 지원 provider용 reply tag syntax
- Heartbeats: heartbeat prompt와 ack behavior
- Runtime: host, OS, node, model, repo root (감지된 경우), thinking level
- Reasoning:
현재 visibility level과
/reasoningtoggle hint
Prompt modes
OpenClaw는 sub-agent를 위해 더 작은 system prompt를 렌더링할 수 있습니다. runtime은 각 run에 대해 user-facing config가 아닌promptMode를 설정합니다.
full(기본값): 위의 모든 section 포함minimal: sub-agent용. Skills, Memory Recall, OpenClaw Self-Update, Model Aliases, User Identity, Reply Tags, Messaging, Silent Replies, Heartbeats를 생략. Tooling, Safety, Workspace, Sandbox, Current Date & Time (알려진 경우), Runtime, injected context는 유지none: base identity line만 반환
promptMode=minimal일 때 추가 injected prompt의 label은
Group Chat Context가 아니라 Subagent Context가 됩니다.
Workspace bootstrap injection
bootstrap file은 trim된 뒤 Project Context 아래에 붙습니다. 그래서 모델은 별도 read 없이 identity와 profile context를 볼 수 있습니다.AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.mdBOOTSTRAP.md(brand-new workspace일 때만)MEMORY.md및/또는memory.md(workspace에 존재하면 둘 다 또는 하나만 inject될 수 있음)
MEMORY.md는 시간이 지나며 커질 수 있으니 짧게 유지하세요.
그렇지 않으면 context usage가 예상보다 커지고 compaction이 더 자주 일어날 수 있습니다.
Note:큰 file은 marker와 함께 잘립니다. file당 최대 크기는memory/*.md의 daily file은 자동 inject되지 않습니다. 필요할 때memory_search와memory_gettool로 읽으므로, 모델이 명시적으로 읽지 않는 한 context window를 차지하지 않습니다.
agents.defaults.bootstrapMaxChars
(기본값 20000)이고, 전체 injected bootstrap content의 합계는
agents.defaults.bootstrapTotalMaxChars
(기본값 150000)로 제한됩니다.
누락된 file은 짧은 missing-file marker를 inject합니다.
truncation이 발생하면 OpenClaw는 Project Context에 warning block을 inject할 수 있고,
이는 agents.defaults.bootstrapPromptTruncationWarning
(off, once, always; 기본값 once)로 제어합니다.
sub-agent session은 context를 작게 유지하기 위해 AGENTS.md와 TOOLS.md만
inject합니다
(다른 bootstrap file은 filter out).
internal hook은 agent:bootstrap에서 이 단계를 가로채 bootstrap file을 mutate하거나
교체할 수 있습니다. 예를 들어 SOUL.md를 다른 persona로 바꾸는 식입니다.
각 injected file의 기여량
(raw vs injected, truncation, tool schema overhead 포함)을 보려면
/context list 또는 /context detail을 사용하세요.
Context도 참고하세요.
Time handling
user timezone이 알려져 있으면 system prompt에 dedicated Current Date & Time section이 포함됩니다. 다만 prompt를 cache-stable하게 유지하기 위해 이제는 timezone만 포함하고, 동적인 clock이나 time format은 넣지 않습니다. agent가 현재 시각이 필요하면session_status를 사용하세요.
status card에는 timestamp line이 포함됩니다.
설정:
agents.defaults.userTimezoneagents.defaults.timeFormat(auto|12|24)
Skills
eligible skill이 있으면 OpenClaw는 compact한 available skills list (formatSkillsForPrompt)를 inject하며, 각 skill의 file path를 함께 포함합니다.
prompt는 모델에게 listed location의 SKILL.md를 read로 load하라고 지시합니다
(workspace, managed, bundled location 모두 가능).
eligible skill이 없으면 Skills section은 생략됩니다.
Documentation
가능한 경우 system prompt는 Documentation section을 포함하며, local OpenClaw docs directory (repo workspace의docs/ 또는 bundled npm package docs)를 가리킵니다.
또 public mirror, source repo, community Discord, skill discovery용
ClawHub
(https://clawhub.com)도 함께 언급합니다.
prompt는 모델에게 OpenClaw behavior, command, configuration, architecture를 알아야 할
때 local docs를 먼저 참고하라고 지시합니다. 가능하다면 openclaw status도 agent
스스로 실행하고, 접근 권한이 없을 때만 user에게 물어보도록 유도합니다.