--output-format
saat dipakai bareng --print
. Format ini mencakup format terstruktur untuk penggunaan terprogram (json
, stream-json
) dan format teks sederhana untuk pelacakan progres yang mudah dibaca.
Nilai default
--output-format
adalah stream-json
. Opsi ini hanya valid 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 diakumulasikan menjadi hasil akhir.
Saat gagal, proses keluar dengan kode non-zero dan menulis pesan error ke stderr. Tidak ada objek JSON yang terbentuk dengan baik yang dikeluarkan dalam kasus kegagalan.
Respons sukses
Field | Description |
---|---|
type | Selalu "result" untuk hasil terminal |
subtype | Selalu "success" untuk penyelesaian yang berhasil |
is_error | Selalu false untuk respons yang berhasil |
duration_ms | Total waktu eksekusi dalam milidetik |
duration_api_ms | Waktu request API dalam milidetik (saat ini sama dengan duration_ms ) |
result | Teks respons asisten lengkap (gabungan semua delta teks) |
session_id | Pengenal sesi unik |
request_id | Pengenal request opsional (boleh dihilangkan) |
Format JSON stream
stream-json
menghasilkan JSON berformat NDJSON (newline-delimited). Setiap baris berisi satu objek JSON yang merepresentasikan event real-time selama eksekusi.
Stream diakhiri 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
Field mendatang seperti
tools
dan mcp_servers
mungkin ditambahkan ke event ini.Pesan user
Delta teks assistant
Gabungkan semua nilai
message.content[].text
secara berurutan untuk merekonstruksi respons lengkap dari assistant.Event pemanggilan tool
Jenis pemanggilan tool
- Dimulai:
tool_call.readToolCall.args
berisi{ "path": "file.txt" }
- Selesai:
tool_call.readToolCall.result.success
berisi metadata file dan konten
- Dimulai:
tool_call.writeToolCall.args
berisi{ "path": "file.txt", "fileText": "content...", "toolCallId": "id" }
- Selesai:
tool_call.writeToolCall.result.success
berisi{ "path": "/absolute/path", "linesCreated": 19, "fileSize": 942 }
- Mungkin menggunakan struktur
tool_call.function
dengan{ "name": "tool_name", "arguments": "..." }
Hasil terminal
Contoh urutan
Format teks
text
menyajikan aliran tindakan agen yang disederhanakan dan mudah dibaca manusia. Alih-alih event JSON terperinci, format ini menampilkan deskripsi teks ringkas tentang apa yang sedang dilakukan agen secara real-time.
Format ini berguna untuk memantau progres agen tanpa overhead melakukan parsing data terstruktur, sehingga ideal untuk logging, debugging, atau pelacakan progres sederhana.
Contoh output
Catatan implementasi
- Setiap event dipancarkan sebagai satu baris yang diakhiri dengan
\n
- Event
thinking
disembunyikan dalam mode cetak dan tidak akan muncul di kedua format output - Penambahan field dapat terjadi seiring waktu dengan cara yang backward-compatible (konsumen harus mengabaikan field yang tidak dikenal)
- Format stream memberikan pembaruan real-time, sedangkan format JSON menunggu hingga selesai sebelum menampilkan hasil
- Gabungkan semua delta pesan
assistant
untuk menyusun ulang respons lengkap - ID pemanggilan tool dapat digunakan untuk mengaitkan event mulai/selesai
- ID sesi tetap konsisten sepanjang satu eksekusi agent