--output-format saat digabungkan dengan --print. Format ini mencakup format terstruktur untuk penggunaan terprogram (json, stream-json) dan format teks yang lebih sederhana untuk pelacakan progres yang mudah dibaca manusia.
Nilai default
--output-format adalah stream-json. Opsi ini hanya berlaku saat melakukan print (--print) atau ketika mode print diinferensikan (stdout non-TTY atau stdin yang dipipe).Format JSON
json menghasilkan satu objek JSON (diikuti baris baru) saat run selesai dengan sukses. Delta dan event tool tidak dikeluarkan; teks digabungkan ke hasil akhir.
Jika gagal, proses keluar dengan kode non-zero dan menulis pesan error ke stderr. Tidak ada objek JSON yang terformat dengan benar yang dikeluarkan dalam kasus kegagalan.
Respons sukses
| Field | Deskripsi |
|---|---|
type | Selalu "result" untuk hasil di terminal |
subtype | Selalu "success" untuk penyelesaian yang sukses |
is_error | Selalu false untuk respons yang sukses |
duration_ms | Total waktu eksekusi dalam milidetik |
duration_api_ms | Waktu permintaan API dalam milidetik (saat ini sama dengan duration_ms) |
result | Teks respons asisten lengkap (penggabungan semua delta teks) |
session_id | Identifier sesi unik |
request_id | Identifier permintaan opsional (bisa dihilangkan) |
Format JSON stream
stream-json menghasilkan JSON yang dipisahkan baris baru (NDJSON). Setiap baris berisi satu objek JSON yang merepresentasikan event real-time selama eksekusi.
Stream berakhir dengan event terminal result saat berhasil. Jika gagal, proses keluar dengan kode non-nol dan stream bisa berakhir lebih awal tanpa event terminal; pesan error ditulis ke stderr.
Jenis event
Inisialisasi sistem
Di masa mendatang, bidang seperti
tools dan mcp_servers mungkin akan ditambahkan ke event ini.Pesan pengguna
Delta teks asisten
Gabungkan semua nilai
message.content[].text secara berurutan untuk menyusun ulang respons lengkap asisten.Peristiwa pemanggilan alat
Jenis pemanggilan tool
- Dimulai:
tool_call.readToolCall.argsmemuat{ "path": "file.txt" } - Selesai:
tool_call.readToolCall.result.successmemuat metadata dan konten file
- Dimulai:
tool_call.writeToolCall.argsmemuat{ "path": "file.txt", "fileText": "content...", "toolCallId": "id" } - Selesai:
tool_call.writeToolCall.result.successmemuat{ "path": "/absolute/path", "linesCreated": 19, "fileSize": 942 }
- Bisa menggunakan struktur
tool_call.functiondengan{ "name": "tool_name", "arguments": "..." }
Hasil terminal
Contoh urutan
Format teks
text menyajikan rangkaian tindakan agen yang disederhanakan dan mudah dibaca. Alih-alih event JSON yang detail, format ini menampilkan deskripsi teks ringkas tentang apa yang lagi dilakukan agen secara real-time.
Format ini berguna buat memantau progress agen tanpa overhead parsing data terstruktur, jadi ideal buat logging, debugging, atau pelacakan progress sederhana.
Contoh output
Catatan implementasi
- Setiap event dipancarkan sebagai satu baris yang diakhiri dengan
\n - Event
thinkingdisembunyikan dalam mode cetak dan tidak akan muncul di kedua format output - Penambahan field dapat terjadi dari waktu ke waktu dengan cara yang kompatibel mundur (konsumen harus mengabaikan field yang tidak dikenal)
- Format stream memberikan pembaruan waktu nyata, sementara format JSON menunggu hingga selesai sebelum mengeluarkan hasil
- Gabungkan semua delta pesan
assistantuntuk merekonstruksi respons lengkap - ID pemanggilan tool dapat digunakan untuk mengorelasikan event mulai/selesai
- ID sesi tetap konsisten sepanjang satu eksekusi agen