System Prompt
OpenClaw membangun system prompt khusus untuk setiap eksekusi agen. Prompt ini dimiliki oleh OpenClaw dan tidak menggunakan prompt default pi-coding-agent. Prompt dirakit oleh OpenClaw dan disuntikkan ke setiap eksekusi agen. Plugin provider dapat menambahkan panduan prompt yang sadar cache tanpa mengganti seluruh prompt yang dimiliki OpenClaw. Runtime provider dapat:- mengganti sekumpulan kecil bagian inti bernama (
interaction_style,tool_call_style,execution_bias) - menyuntikkan prefiks stabil di atas batas prompt cache
- menyuntikkan sufiks dinamis di bawah batas prompt cache
before_prompt_build lama untuk kompatibilitas atau perubahan prompt yang benar-benar global,
bukan untuk perilaku provider normal.
Struktur
Prompt ini sengaja ringkas dan menggunakan bagian tetap:- Tooling: pengingat source-of-truth structured-tool ditambah panduan penggunaan tool saat runtime.
- Safety: pengingat guardrail singkat untuk menghindari perilaku mencari kekuasaan atau melewati pengawasan.
- Skills (bila tersedia): memberi tahu model cara memuat instruksi skill sesuai kebutuhan.
- OpenClaw Self-Update: cara memeriksa config dengan aman menggunakan
config.schema.lookup, menambal config denganconfig.patch, mengganti seluruh config denganconfig.apply, dan menjalankanupdate.runhanya atas permintaan pengguna yang eksplisit. Toolgatewayyang khusus pemilik juga menolak menulis ulangtools.exec.ask/tools.exec.security, termasuk alias lamatools.bash.*yang dinormalisasi ke path exec terlindungi tersebut. - Workspace: direktori kerja (
agents.defaults.workspace). - Documentation: path lokal ke dokumen OpenClaw (repo atau paket npm) dan kapan harus membacanya.
- Workspace Files (injected): menunjukkan bahwa file bootstrap disertakan di bawah.
- Sandbox (bila diaktifkan): menunjukkan runtime tersandbox, path sandbox, dan apakah exec dengan hak lebih tinggi tersedia.
- Current Date & Time: waktu lokal pengguna, zona waktu, dan format waktu.
- Reply Tags: sintaks tag balasan opsional untuk provider yang didukung.
- Heartbeats: prompt heartbeat dan perilaku ack.
- Runtime: host, OS, node, model, root repo (bila terdeteksi), tingkat thinking (satu baris).
- Reasoning: tingkat visibilitas saat ini + petunjuk toggle
/reasoning.
- gunakan cron untuk tindak lanjut di masa depan (
check back later, pengingat, pekerjaan berulang) alih-alih loop sleepexec, trik penundaanyieldMs, atau pollingprocessberulang - gunakan
exec/processhanya untuk perintah yang dimulai sekarang dan terus berjalan di latar belakang - saat automatic completion wake diaktifkan, mulai perintah satu kali dan andalkan jalur wake berbasis push ketika perintah mengeluarkan output atau gagal
- gunakan
processuntuk log, status, input, atau intervensi saat Anda perlu memeriksa perintah yang sedang berjalan - jika tugasnya lebih besar, pilih
sessions_spawn; penyelesaian sub-agent berbasis push dan diumumkan kembali secara otomatis kepada peminta - jangan melakukan polling
subagents list/sessions_listdalam loop hanya untuk menunggu penyelesaian
update_plan diaktifkan, Tooling juga memberi tahu
model untuk menggunakannya hanya untuk pekerjaan multi-langkah yang tidak sepele, menjaga tepat satu
langkah in_progress, dan menghindari mengulang seluruh rencana setelah setiap pembaruan.
Guardrail Safety dalam system prompt bersifat anjuran. Guardrail ini memandu perilaku model tetapi tidak menegakkan kebijakan. Gunakan kebijakan tool, persetujuan exec, sandboxing, dan allowlist kanal untuk penegakan yang keras; operator dapat menonaktifkannya sesuai desain.
Pada kanal dengan kartu/tombol persetujuan bawaan, prompt runtime kini memberi tahu
agen untuk mengandalkan UI persetujuan bawaan tersebut terlebih dahulu. Agen hanya boleh menyertakan perintah manual
/approve ketika hasil tool mengatakan persetujuan chat tidak tersedia atau
persetujuan manual adalah satu-satunya jalur.
Mode prompt
OpenClaw dapat merender system prompt yang lebih kecil untuk sub-agent. Runtime menetapkanpromptMode untuk setiap eksekusi (bukan config yang terlihat pengguna):
full(default): mencakup semua bagian di atas.minimal: digunakan untuk sub-agent; menghilangkan Skills, Memory Recall, OpenClaw Self-Update, Model Aliases, User Identity, Reply Tags, Messaging, Silent Replies, dan Heartbeats. Tooling, Safety, Workspace, Sandbox, Current Date & Time (bila diketahui), Runtime, dan konteks yang disuntikkan tetap tersedia.none: hanya mengembalikan baris identitas dasar.
promptMode=minimal, prompt tambahan yang disuntikkan diberi label Subagent
Context alih-alih Group Chat Context.
Injeksi bootstrap workspace
File bootstrap dipangkas dan ditambahkan di bawah Project Context agar model melihat konteks identitas dan profil tanpa perlu pembacaan eksplisit:AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.mdBOOTSTRAP.md(hanya pada workspace yang benar-benar baru)MEMORY.mdbila ada, jika tidakmemory.mdsebagai fallback huruf kecil
MEMORY.md, yang dapat
bertambah seiring waktu dan menyebabkan penggunaan konteks yang tidak terduga tinggi serta compaction
yang lebih sering.
Catatan: file harianFile besar dipotong dengan sebuah penanda. Ukuran maksimum per file dikendalikan olehmemory/*.mdtidak disuntikkan secara otomatis. File-file tersebut diakses sesuai kebutuhan melalui toolmemory_searchdanmemory_get, sehingga tidak dihitung terhadap jendela konteks kecuali model secara eksplisit membacanya.
agents.defaults.bootstrapMaxChars (default: 20000). Total konten bootstrap yang disuntikkan
di seluruh file dibatasi oleh agents.defaults.bootstrapTotalMaxChars
(default: 150000). File yang hilang menyuntikkan penanda file hilang yang singkat. Saat pemotongan
terjadi, OpenClaw dapat menyuntikkan blok peringatan dalam Project Context; kontrol ini dengan
agents.defaults.bootstrapPromptTruncationWarning (off, once, always;
default: once).
Sesi sub-agent hanya menyuntikkan AGENTS.md dan TOOLS.md (file bootstrap lainnya
difilter agar konteks sub-agent tetap kecil).
Internal hook dapat mencegat langkah ini melalui agent:bootstrap untuk memutasi atau mengganti
file bootstrap yang disuntikkan (misalnya menukar SOUL.md dengan persona alternatif).
Jika Anda ingin membuat suara agen terdengar kurang generik, mulai dengan
Panduan Kepribadian SOUL.md.
Untuk memeriksa seberapa besar kontribusi tiap file yang disuntikkan (mentah vs disuntikkan, pemotongan, ditambah overhead skema tool), gunakan /context list atau /context detail. Lihat Context.
Penanganan waktu
System prompt menyertakan bagian Current Date & Time khusus ketika zona waktu pengguna diketahui. Agar prompt cache tetap stabil, sekarang bagian ini hanya menyertakan zona waktu (tanpa jam dinamis atau format waktu). Gunakansession_status ketika agen membutuhkan waktu saat ini; kartu status
menyertakan baris stempel waktu. Tool yang sama juga secara opsional dapat menetapkan override
model per sesi (model=default menghapusnya).
Konfigurasikan dengan:
agents.defaults.userTimezoneagents.defaults.timeFormat(auto|12|24)
Skills
Ketika ada skill yang memenuhi syarat, OpenClaw menyuntikkan daftar skill yang tersedia yang ringkas (formatSkillsForPrompt) yang mencakup path file untuk setiap skill. Prompt ini
menginstruksikan model untuk menggunakan read guna memuat SKILL.md di lokasi yang tercantum
(workspace, terkelola, atau dibundel). Jika tidak ada skill yang memenuhi syarat, bagian
Skills dihilangkan.
Kelayakan mencakup gerbang metadata skill, pemeriksaan lingkungan/config runtime,
dan allowlist skill agen efektif saat agents.defaults.skills atau
agents.list[].skills dikonfigurasi.
Dokumentasi
Bila tersedia, system prompt menyertakan bagian Documentation yang menunjuk ke direktori dokumen OpenClaw lokal (baikdocs/ di workspace repo atau dokumen paket npm
yang dibundel) dan juga mencatat mirror publik, repo sumber, Discord komunitas, dan
ClawHub (https://clawhub.ai) untuk penemuan skill. Prompt ini menginstruksikan model untuk terlebih dahulu berkonsultasi dengan dokumen lokal
untuk perilaku, perintah, config, atau arsitektur OpenClaw, serta menjalankan
openclaw status sendiri bila memungkinkan (hanya bertanya kepada pengguna jika tidak memiliki akses).