Metin, JSON ve stream-JSON formatları için çıktı şeması
--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.
--output-format
stream-json
’dur. Bu seçenek yalnızca yazdırma (--print
) sırasında veya yazdırma modu otomatik olarak çıkarıldığında (TTY olmayan stdout ya da pipe edilen stdin) geçerlidir.json
çıktı formatı, çalışma başarıyla tamamlandığında tek bir JSON nesnesi (sonunda bir satır sonuyla) üretir. Delta’lar ve araç olayları yayımlanmaz; metin nihai sonuca birleştirilir.
Başarısızlık durumunda süreç sıfır olmayan bir kodla sonlanır ve hata mesajını stderr’e yazar. Başarısızlık durumlarında iyi biçimlendirilmiş bir JSON nesnesi üretilmez.
Field | 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 çalışma süresi (milisaniye) |
duration_api_ms | API istek süresi (milisaniye) (ş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
çıktı formatı, satır sınırlı JSON (NDJSON) yayar. Her satır, yürütme sırasında gerçek zamanlı bir olayı temsil eden tek bir JSON nesnesi içerir.
Stream, başarı durumunda terminal result
olayı ile sona erer. Başarısızlık durumunda, süreç sıfır olmayan bir kod ile çıkar ve stream terminal olayı olmadan erken sonlanabilir; stderr’e bir hata mesajı yazılır.
tools
ve mcp_servers
gibi alanlar bu olaya eklenebilir.message.content[].text
değerlerini sırayla birleştir.tool_call.readToolCall.args
içinde { "path": "file.txt" }
bulunurtool_call.readToolCall.result.success
dosya metadatası ve içeriği içerirtool_call.writeToolCall.args
içinde { "path": "file.txt", "fileText": "content...", "toolCallId": "id" }
bulunurtool_call.writeToolCall.result.success
içinde { "path": "/absolute/path", "linesCreated": 19, "fileSize": 942 }
bulunur{ "name": "tool_name", "arguments": "..." }
ile tool_call.function
yapısını kullanabilirtext
çıktı formatı, agent eylemlerinin basitleştirilmiş, insan tarafından okunabilir bir akışını sağlar. Ayrıntılı JSON olayları yerine, agentı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 agentın ilerlemesini izlemek için kullanışlıdır; bu da onu loglama, hata ayıklama veya basit ilerleme takibi için ideal kılar.
\n
ile sonlandırılan tek bir satır olarak yayınlanırthinking
olayları yazdırma modunda gizlenir ve hiçbir çıktı formatında görünmezassistant
mesaj deltalarını birleştirin