指南
會話與輪次
會話狀態與一輪的生命週期。
會話狀態
會話的 status 反映它此刻是否在執行,以及上一輪是如何結束的:
| 狀態 | 含義 |
|---|---|
IDLE | 剛建立,還沒有發送過訊息。 |
RUNNING | 有一輪正在排隊或執行中。此時不能發送新訊息,也不能刪除會話。 |
COMPLETE | 上一輪正常完成。 |
CANCELLED | 上一輪被取消。 |
FAILED | 上一輪失敗,原因見該輪的 turn.failed 事件。 |
除 RUNNING 外,任何狀態下都可以發送下一條訊息。
一輪的生命週期
發送訊息 → 排隊 → 執行(思考 · 調用工具 · 回覆) → turn.completed / turn.failed / turn.cancelled- 一個會話同一時間只執行一輪。 上一輪結束前再發訊息,返回
409 session_running。不同會話之間互不影響,可以並行。 - 每一輪恰好以一個終止事件結束:
turn.completed、turn.failed或turn.cancelled。收到它即可確定本輪結束。 - 會話內自動保留上下文。 每輪只需發送新訊息,不需要重發歷史;對話很長時,Agent 會自動壓縮較早的上下文。
- 會話配置在建立後不可修改。
model_id、thinking_enabled、instruction、mcp_servers只能在建立時設定,需要不同配置時請新建會話。metadata可以隨時更新。