--print
ile birlikte kullanıldığında --output-format
seçeneğiyle birden fazla çıktı formatı sunar. Bu formatlar, programatik kullanım için yapılandırılmış formatları (json
, stream-json
) ve insan tarafından okunabilir ilerleme takibi için basitleştirilmiş bir metin formatını içerir.
Varsayılan
--output-format
değeri stream-json
’dır. Bu seçenek yalnızca yazdırma (--print
) yapılırken veya yazdırma modu kestirildiğinde (TTY olmayan stdout ya da pipe edilen stdin) geçerlidir.JSON formatı
json
çıktı formatı, çalışma başarıyla tamamlandığında tek bir JSON nesnesi (ardından bir satır sonu) üretir. Delta’lar ve araç olayları yayımlanmaz; metin nihai sonuca birleştirilir.
Hata durumunda süreç sıfırdan farklı bir kodla sonlanır ve stderr’e bir hata mesajı yazar. Hata durumlarında iyi biçimlendirilmiş bir JSON nesnesi üretilmez.
Başarılı yanıt
Field | Description |
---|---|
type | Terminal sonuçlar için her zaman "result" |
subtype | Başarılı tamamlanmalar için her zaman "success" |
is_error | Başarılı yanıtlar için her zaman false |
duration_ms | Toplam yürütme süresi (milisaniye cinsinden) |
duration_api_ms | API istek süresi (milisaniye cinsinden) (şu anda duration_ms ile aynı) |
result | Tam asistan yanıt metni (tüm metin deltalarının birleştirilmesi) |
session_id | Benzersiz oturum tanımlayıcısı |
request_id | İsteğe bağlı istek tanımlayıcısı (atlanabilir) |
Stream JSON formatı
stream-json
çıktı formatı, satır sonu ile ayrılmış JSON (NDJSON) üretir. Her satır, yürütme sırasında gerçek zamanlı bir olayı temsil eden tek bir JSON nesnesi içerir.
Akış, başarı durumunda sonlandırıcı bir result
olayıyla biter. Hata durumunda süreç sıfır olmayan bir kodla çıkar ve akış, sonlandırıcı bir olay olmadan erken sona erebilir; stderr’e bir hata mesajı yazılır.
Olay türleri
Sistem başlatma
tools
ve mcp_servers
gibi gelecekteki alanlar bu olaya eklenebilir.Kullanıcı mesajı
Asistan metin deltası
Tam asistan yanıtını yeniden oluşturmak için tüm
message.content[].text
değerlerini sırayla birleştir.Araç çağrısı olayları
Araç çağrısı türleri
- Başlatıldı:
tool_call.readToolCall.args
{ "path": "file.txt" }
içerir - Tamamlandı:
tool_call.readToolCall.result.success
dosya üstverisini ve içeriğini içerir
- Başlatıldı:
tool_call.writeToolCall.args
{ "path": "file.txt", "fileText": "content...", "toolCallId": "id" }
içerir - Tamamlandı:
tool_call.writeToolCall.result.success
{ "path": "/absolute/path", "linesCreated": 19, "fileSize": 942 }
içerir
{ "name": "tool_name", "arguments": "..." }
iletool_call.function
yapısını kullanabilir
Sonuç (terminal)
Örnek sıra
Metin formatı
text
çıktı formatı, agent’in eylemlerinin sadeleştirilmiş, insan tarafından okunabilir bir akışını sunar. Ayrıntılı JSON olayları yerine, agent’in gerçek zamanlı olarak ne yaptığını özlü metin açıklamalarıyla verir.
Bu format, yapılandırılmış veriyi ayrıştırma yükü olmadan agent’in ilerlemesini izlemek için kullanışlıdır; bu da onu loglama, hata ayıklama veya basit ilerleme takibi için ideal hâle getirir.
Örnek çıktı
Uygulama notları
- Her olay,
\n
ile sonlandırılan tek bir satır olarak yayımlanır thinking
olayları yazdırma modunda bastırılır ve hiçbir çıktı biçiminde görünmez- Alan eklemeleri zaman içinde geriye dönük uyumlu bir şekilde yapılabilir (tüketiciler bilinmeyen alanları yok saymalıdır)
- Akış biçimi gerçek zamanlı güncellemeler sağlar, JSON biçimi ise sonuçları vermeden önce tamamlanmayı bekler
- Tam yanıtı yeniden oluşturmak için tüm
assistant
mesaj deltalarını birleştir - Araç çağrısı kimlikleri, başlangıç/tamamlama olaylarını ilişkilendirmek için kullanılabilir
- Oturum kimlikleri, tek bir aracının çalıştırılması boyunca tutarlı kalır