시스템 프롬프트
OpenClaw 는 모든 에이전트 실행마다 커스텀 시스템 프롬프트를 빌드합니다. 이 프롬프트는 OpenClaw 소유이며 p-coding-agent 기본 프롬프트를 사용하지 않습니다. 프롬프트는 OpenClaw 에 의해 조립되어 각 에이전트 실행에 주입됩니다.구조
프롬프트는 의도적으로 컴팩트하게 설계되었으며 고정된 섹션을 사용합니다:- Tooling: 현재 도구 목록 + 짧은 설명.
- Safety: 권력 추구 행동이나 감독 우회를 피하도록 하는 짧은 가드레일 알림.
- Skills (사용 가능한 경우): 필요 시 Skills 지침을 로드하는 방법을 모델에 안내합니다.
- OpenClaw Self-Update:
config.apply과update.run실행 방법. - Workspace: 작업 디렉토리 (
agents.defaults.workspace). - Documentation: OpenClaw 문서의 로컬 경로 (repo 또는 npm 패키지)와 언제 읽어야 하는지.
- Workspace Files (injected): 부트스트랩 파일이 아래에 포함되어 있음을 나타냅니다.
- Sandbox (활성화된 경우): 샌드박스화된 런타임, 샌드박스 경로, 권한 상승 exec 사용 가능 여부를 나타냅니다.
- Current Date & Time: 사용자 로컬 시간, 타임존, 시간 형식.
- Reply Tags: 지원되는 프로바이더를 위한 선택적 응답 태그 문법.
- Heartbeats: 하트비트 프롬프트 및 ack 동작.
- Runtime: 호스트, OS, node, 모델, repo 루트 (감지된 경우), 사고 수준 (한 줄).
- Reasoning: 현재 가시성 수준 + /reasoning 토글 힌트.
프롬프트 모드
OpenClaw 는 서브 에이전트를 위해 더 작은 시스템 프롬프트를 렌더링할 수 있습니다. 런타임은 각 실행마다promptMode 를 설정합니다 (사용자 노출 설정 아님):
full(기본값): 위의 모든 섹션을 포함합니다.minimal: 서브 에이전트에 사용되며 Skills, Memory Recall, OpenClaw Self-Update, Model Aliases, User Identity, Reply Tags, Messaging, Silent Replies, Heartbeats 를 생략합니다. Tooling, Safety, Workspace, Sandbox, Current Date & Time (알려진 경우), Runtime, 그리고 주입된 컨텍스트는 계속 사용 가능합니다.none: 기본 정체성 라인만 반환합니다.
promptMode=minimal 인 경우, 추가로 주입된 프롬프트는 Group Chat Context 대신
Subagent Context 로 라벨링됩니다.
Workspace 부트스트랩 주입
부트스트랩 파일은 트리밍되어 Project Context 아래에 추가되며, 이를 통해 모델이 명시적인 읽기 없이도 정체성과 프로필 컨텍스트를 볼 수 있습니다:AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.mdBOOTSTRAP.md(완전히 새로운 워크스페이스에서만)MEMORY.md및/또는memory.md(워크스페이스에 존재하는 경우; 둘 중 하나 또는 모두 주입될 수 있음)
MEMORY.md는 시간이 지남에 따라
커질 수 있어 예기치 않게 높은 컨텍스트 사용량과 더 잦은
컴팩션을 초래할 수 있으므로 간결하게 유지하세요.
참고:대용량 파일은 마커와 함께 잘립니다. 파일당 최대 크기는memory/*.md일일 파일은 자동으로 주입되지 않습니다. 이 파일들은memory_search및memory_get도구를 통해 필요할 때만 접근되므로, 모델이 명시적으로 읽지 않는 한 컨텍스트 윈도우에 포함되지 않습니다.
agents.defaults.bootstrapMaxChars (기본값: 20000) 으로 제어됩니다. 파일 전반에 걸쳐 주입되는 총 부트스트랩
콘텐츠는 agents.defaults.bootstrapTotalMaxChars
(기본값: 24000)로 제한됩니다. 누락된 파일은
짧은 누락 파일 마커를 주입합니다.
하위 에이전트 세션에는 AGENTS.md와 TOOLS.md만 주입되며(다른 부트스트랩 파일은
하위 에이전트의 컨텍스트를 작게 유지하기 위해 필터링됨).
내부 훅은 agent:bootstrap 를 통해 이 단계를 가로채어 주입된 부트스트랩 파일을 변형하거나 교체할 수 있습니다 (예: SOUL.md 를 대체 페르소나로 교체).
각 주입 파일이 얼마나 기여하는지 (원본 대비 주입, 트렁케이션, 도구 스키마 오버헤드 포함)를 확인하려면 /context list 또는 /context detail 를 사용하십시오. 자세한 내용은 Context 를 참고하십시오.
시간 처리
시스템 프롬프트에는 사용자 타임존이 알려진 경우 전용 Current Date & Time 섹션이 포함됩니다. 프롬프트 캐시 안정성을 유지하기 위해, 현재는 타임존 만 포함하며 (동적 시계나 시간 형식은 포함하지 않음) 구성됩니다. 에이전트가 현재 시간이 필요할 때는session_status 를 사용하십시오. 상태 카드에는 타임스탬프 라인이 포함됩니다.
구성은 다음으로 설정합니다:
agents.defaults.userTimezoneagents.defaults.timeFormat(auto|12|24)
Skills
사용 가능한 Skills 가 존재하면, OpenClaw 는 각 Skill 의 파일 경로 를 포함한 컴팩트한 available skills list (formatSkillsForPrompt) 를 주입합니다. 프롬프트는 모델이 read 를 사용하여 나열된 위치
(워크스페이스, 관리형, 또는 번들) 에 있는 SKILL.md 를 로드하도록 지시합니다. 사용 가능한 Skills 가 없으면
Skills 섹션은 생략됩니다.
Documentation
사용 가능한 경우, 시스템 프롬프트에는 로컬 OpenClaw 문서 디렉토리를 가리키는 Documentation 섹션이 포함됩니다 (repo 워크스페이스의docs/ 또는 번들된 npm 패키지 문서). 또한 공개 미러, 소스 repo, 커뮤니티 Discord, 그리고
Skills 탐색을 위한 ClawHub (https://clawhub.com) 도 함께 안내합니다. 프롬프트는 모델에게 OpenClaw 동작, 명령, 구성, 아키텍처에 대해서는 먼저 로컬 문서를 참고하도록 지시하며, 가능할 경우 openclaw status 를 직접 실행하도록 안내합니다 (접근 권한이 없을 때만 사용자에게 요청).