Prompt Sistem
OpenClaw membangun prompt sistem kustom untuk setiap eksekusi agen. Prompt tersebut dimiliki oleh OpenClaw dan tidak menggunakan prompt default pi-coding-agent. Prompt disusun oleh OpenClaw dan disuntikkan ke setiap eksekusi agen. Plugin penyedia dapat menyumbangkan panduan prompt yang sadar-cache tanpa menggantikan seluruh prompt milik OpenClaw. Runtime penyedia dapat:- mengganti sekumpulan kecil bagian inti bernama (
interaction_style,tool_call_style,execution_bias) - menyuntikkan prefiks stabil di atas batas cache prompt
- menyuntikkan sufiks dinamis di bawah batas cache prompt
before_prompt_build untuk kompatibilitas atau perubahan prompt yang benar-benar global, bukan perilaku penyedia normal.
Struktur
Prompt ini sengaja ringkas dan menggunakan bagian tetap:- Peralatan: pengingat sumber kebenaran alat terstruktur beserta panduan penggunaan alat saat runtime.
- Keamanan: pengingat guardrail singkat untuk menghindari perilaku pencarian kekuasaan atau melewati pengawasan.
- Skills (saat tersedia): memberi tahu model cara memuat instruksi skill sesuai permintaan.
- Pembaruan Mandiri OpenClaw: 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. Alatgatewayyang khusus pemilik juga menolak menulis ulangtools.exec.ask/tools.exec.security, termasuk alias lamatools.bash.*yang dinormalisasi ke path exec yang dilindungi tersebut. - Workspace: direktori kerja (
agents.defaults.workspace). - Dokumentasi: path lokal ke dokumentasi OpenClaw (repo atau paket npm) dan kapan harus membacanya.
- File Workspace (disuntikkan): menunjukkan file bootstrap disertakan di bawah.
- Sandbox (saat diaktifkan): menunjukkan runtime tersandbox, path sandbox, dan apakah exec dengan hak istimewa tersedia.
- Tanggal & Waktu Saat Ini: waktu lokal pengguna, zona waktu, dan format waktu.
- Tag Balasan: sintaks tag balasan opsional untuk penyedia yang didukung.
- Detak Jantung: prompt detak jantung dan perilaku ack, saat detak jantung diaktifkan untuk agen default.
- Runtime: host, OS, node, root repo (saat terdeteksi), tingkat pemikiran (satu baris).
- Penalaran: tingkat visibilitas saat ini + petunjuk toggle /reasoning.
- gunakan cron untuk tindak lanjut di masa depan (
check back later, pengingat, pekerjaan berulang) alih-alih loop tidurexec, trik penundaanyieldMs, atau pollingprocessberulang - gunakan
exec/processhanya untuk perintah yang dimulai sekarang dan terus berjalan di latar belakang - saat wake penyelesaian otomatis diaktifkan, mulai perintah sekali dan andalkan jalur wake berbasis push saat perintah menghasilkan output atau gagal
- gunakan
processuntuk log, status, input, atau intervensi saat Anda perlu memeriksa perintah yang sedang berjalan - jika tugasnya lebih besar, utamakan
sessions_spawn; penyelesaian sub-agen berbasis push dan otomatis diumumkan kembali kepada peminta - jangan melakukan polling
subagents list/sessions_listdalam loop hanya untuk menunggu penyelesaian
update_plan diaktifkan, bagian Peralatan juga memberi tahu
model untuk menggunakannya hanya untuk pekerjaan multi-langkah yang tidak sepele, mempertahankan tepat satu langkah
in_progress, dan menghindari mengulangi seluruh rencana setelah setiap pembaruan.
Guardrail keamanan dalam prompt sistem bersifat anjuran. Guardrail tersebut memandu perilaku model tetapi tidak menegakkan kebijakan. Gunakan kebijakan alat, 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 terlebih dahulu mengandalkan UI persetujuan bawaan tersebut. Agen hanya boleh menyertakan perintah manual
/approve saat hasil alat menyatakan persetujuan chat tidak tersedia atau
persetujuan manual adalah satu-satunya jalur.
Mode prompt
OpenClaw dapat merender prompt sistem yang lebih kecil untuk sub-agen. Runtime menetapkanpromptMode untuk setiap eksekusi (bukan config yang terlihat oleh pengguna):
full(default): mencakup semua bagian di atas.minimal: digunakan untuk sub-agen; menghilangkan Skills, Memory Recall, Pembaruan Mandiri OpenClaw, Alias Model, Identitas Pengguna, Tag Balasan, Pesan, Balasan Senyap, dan Detak Jantung. Peralatan, Keamanan, Workspace, Sandbox, Tanggal & Waktu Saat Ini (saat diketahui), Runtime, dan konteks yang disuntikkan tetap tersedia.none: hanya mengembalikan baris identitas dasar.
promptMode=minimal, prompt tambahan yang disuntikkan diberi label Konteks
Subagen alih-alih Konteks Obrolan Grup.
Penyuntikan bootstrap workspace
File bootstrap dipangkas dan ditambahkan di bawah Konteks Proyek agar model melihat konteks identitas dan profil tanpa memerlukan pembacaan eksplisit:AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.mdBOOTSTRAP.md(hanya pada workspace yang benar-benar baru)MEMORY.mdjika ada, jika tidakmemory.mdsebagai fallback huruf kecil
HEARTBEAT.md dihilangkan pada eksekusi normal saat
detak jantung dinonaktifkan untuk agen default atau
agents.defaults.heartbeat.includeSystemPromptSection bernilai false. Jaga agar file yang disuntikkan tetap ringkas — terutama MEMORY.md, yang dapat membesar seiring waktu dan menyebabkan penggunaan konteks yang tidak terduga menjadi tinggi serta pemadatan yang lebih sering.
Catatan: file harianFile besar dipotong dengan penanda. Ukuran maksimum per file dikendalikan olehmemory/*.mdbukan bagian dari bootstrap normal Konteks Proyek. Pada giliran biasa file tersebut diakses sesuai permintaan melalui alatmemory_searchdanmemory_get, sehingga tidak dihitung terhadap jendela konteks kecuali model secara eksplisit membacanya. Giliran kosong/newdan/resetadalah pengecualian: runtime dapat menambahkan memori harian terbaru sebagai blok konteks startup sekali pakai untuk giliran pertama tersebut.
agents.defaults.bootstrapMaxChars (default: 20000). Total konten bootstrap yang disuntikkan
lintas file dibatasi oleh agents.defaults.bootstrapTotalMaxChars
(default: 150000). File yang hilang menyuntikkan penanda file hilang singkat. Saat pemotongan
terjadi, OpenClaw dapat menyuntikkan blok peringatan dalam Konteks Proyek; kendalikan ini dengan
agents.defaults.bootstrapPromptTruncationWarning (off, once, always;
default: once).
Sesi sub-agen hanya menyuntikkan AGENTS.md dan TOOLS.md (file bootstrap lain
difilter agar konteks sub-agen tetap kecil).
Hook internal 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 agen terdengar kurang generik, mulailah dengan
Panduan Kepribadian SOUL.md.
Untuk memeriksa seberapa besar kontribusi setiap file yang disuntikkan (mentah vs disuntikkan, pemotongan, ditambah overhead skema alat), gunakan /context list atau /context detail. Lihat Konteks.
Penanganan waktu
Prompt sistem menyertakan bagian khusus Tanggal & Waktu Saat Ini saat zona waktu pengguna diketahui. Agar cache prompt tetap stabil, kini prompt hanya mencakup zona waktu (tanpa jam dinamis atau format waktu). Gunakansession_status saat agen memerlukan waktu saat ini; kartu status
menyertakan baris cap waktu. Alat yang sama juga dapat secara opsional menetapkan override model
per sesi (model=default akan menghapusnya).
Konfigurasikan dengan:
agents.defaults.userTimezoneagents.defaults.timeFormat(auto|12|24)
Skills
Saat ada skill yang memenuhi syarat, OpenClaw menyuntikkan daftar skill tersedia yang ringkas (formatSkillsForPrompt) yang mencakup path file untuk setiap skill. Prompt
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 gate metadata skill, pemeriksaan lingkungan/config runtime,
dan allowlist skill agen yang efektif saat agents.defaults.skills atau
agents.list[].skills dikonfigurasi.
Dokumentasi
Saat tersedia, prompt sistem menyertakan bagian Dokumentasi yang menunjuk ke direktori dokumentasi OpenClaw lokal (baikdocs/ di workspace repo maupun dokumen paket npm
yang dibundel) dan juga mencatat mirror publik, repo sumber, Discord komunitas, dan
ClawHub (https://clawhub.ai) untuk penemuan skill. Prompt menginstruksikan model untuk terlebih dahulu berkonsultasi dengan dokumen lokal
untuk perilaku, perintah, konfigurasi, atau arsitektur OpenClaw, serta menjalankan
openclaw status sendiri bila memungkinkan (hanya bertanya kepada pengguna jika tidak memiliki akses).