--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 sadeleştirilmiş bir metin formatını içerir.
Varsayılan
--output-format
stream-json
’dır. Bu seçenek yalnızca yazdırma (--print
) yapılırken veya yazdırma modu çıkarımsal olarak belirlendiğinde (TTY olmayan stdout ya da pipe edilen stdin) geçerlidir.JSON format
json
çıktı formatı, çalıştırma başarıyla tamamlandığında tek bir JSON nesnesi (ardından bir yeni satır) üretir. Delta’lar ve araç olayları yayınlanmaz; metin nihai sonuca birleştirilir.
Hata durumunda, işlem 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
Alan | Açıklama |
---|---|
type | Terminal sonuçları için her zaman "result" |
subtype | Başarılı tamamlamalar 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) |
duration_api_ms | API istek süresi (milisaniye) (şu anda duration_ms ile aynı) |
result | Asistanın eksiksiz yanıt metni (tüm metin deltalarının birleştirilmiş hâli) |
session_id | Benzersiz oturum tanımlayıcısı |
request_id | İsteğe bağlı istek tanımlayıcısı (bulunmayabilir) |
Stream JSON formatı
stream-json
çıktı formatı, satır sonlarıyla ayrılmış JSON (NDJSON) üretir. Her satır, yürütme sırasında gerçekleşen gerçek zamanlı bir olayı temsil eden tek bir JSON nesnesi içerir.
Akış, başarıyla tamamlandığında sonlandırıcı bir result
olayıyla biter. Başarısızlık durumunda süreç sıfırdan farklı bir kodla sonlanır ve akış, sonlandırıcı bir olay olmadan erken bitebilir; bir hata mesajı stderr’e yazılır.
Olay türleri
Sistem başlatma
Gelecekte
tools
ve mcp_servers
gibi 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
tool_call.function
yapısını{ "name": "tool_name", "arguments": "..." }
ile kullanabilir
Terminal sonucu
Örnek dizisi
Metin formatı
text
çıktı formatı, ajanın eylemlerinin basitleştirilmiş, insan tarafından okunabilir bir akışını sunar. Ayrıntılı JSON olayları yerine, ajanın gerçek zamanlı olarak ne yaptığını özlü metin açıklamalarıyla verir.
Bu format, yapılandırılmış verileri ayrıştırma yükü olmadan ajanın ilerlemesini izlemek için kullanışlıdır; bu da onu günlükleme, hata ayıklama veya basit ilerleme takibi için ideal kılar.
Ö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 şekilde yapılabilir (tüketiciler bilinmeyen alanları yok saymalı)
- Akış biçimi gerçek zamanlı güncellemeler sağlar, JSON biçimi ise sonuçları yazdırmadan ö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 ajan yürütümü boyunca tutarlı kalır