--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.args
memuat{ "path": "file.txt" }
- Selesai:
tool_call.readToolCall.result.success
memuat metadata dan konten file
- Dimulai:
tool_call.writeToolCall.args
memuat{ "path": "file.txt", "fileText": "content...", "toolCallId": "id" }
- Selesai:
tool_call.writeToolCall.result.success
memuat{ "path": "/absolute/path", "linesCreated": 19, "fileSize": 942 }
- Bisa menggunakan struktur
tool_call.function
dengan{ "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
thinking
disembunyikan 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
assistant
untuk merekonstruksi respons lengkap - ID pemanggilan tool dapat digunakan untuk mengorelasikan event mulai/selesai
- ID sesi tetap konsisten sepanjang satu eksekusi agen