觀點 · 資訊分享

Pydantic AI 1.93.0 新增 tool_choice 設定,並修正取消代理時衍生任務沒收尾的問題

Python 的 AI 代理框架 Pydantic AI 在 5 月 9 日發布 1.93.0:新增 tool_choice 設定,輸出工具呼叫改為發出專屬的事件,並修正取消代理時衍生任務沒有收尾的問題。這版也有一位新貢獻者加入。

發布
2026-05-10
篇幅
約 3 分鐘 · 1,209 字
結構
8 節 + 3 題常見問題
標籤
#Pydantic AI#AI 代理#tool_choice#Python#Agent 框架
Pydantic AI 1.93.0 新增 tool_choice 設定,並修正取消代理時衍生任務沒收尾的問題

一句話看懂:Pydantic AI 1.93.0 新增 tool_choice 設定、讓輸出工具呼叫有專屬事件,並修正取消代理時衍生任務沒有收尾的問題。

Pydantic AI 1.93.0 更新資訊圖卡:新增 tool_choice 設定,輸出工具呼叫有了專屬事件

先用白話講:代理框架在做什麼?

AI 代理像是一位會自己使用工具的助理:需要查資料就查資料、需要算數就用計算機。Pydantic AI 是替這位助理寫「工作流程」的 Python 框架。

這次更新讓你多了一個方向盤:可以指定助理怎麼選工具;同時也把「助理在做什麼」的事件通知整理得更清楚。

發生什麼事

Pydantic AI 在 5 月 9 日發布 v1.93.0,官方列出的內容:

新功能

  • 新增 tool_choice 設定
  • 輸出工具呼叫現在會發出 OutputToolCallEvent 與 OutputToolResultEvent;對失敗的輸出工具呼叫,原本的函式工具事件被標示為棄用

修正

  • 取消代理時會收尾(drain)衍生出的背景任務

另外,這版有一位新貢獻者首次加入。

對你的程式有什麼影響

你的情況 建議
想控制模型一定要用某個工具 研究新的 tool_choice 設定
有監聽事件串流,處理輸出工具的失敗 檢查事件處理邏輯,改用新事件
會中途取消代理執行 升級後觀察有沒有殘留任務,這版已修正收尾

給開發者的技術細節

  • 公告只列出標題與 PR 編號,沒有給範例程式碼,具體參數與用法請看官方文件,這裡不另外推測
  • 事件改動屬於「棄用」,不是立刻移除,代表舊寫法短期內可能仍能運作,但之後版本可能移除,這是我依「deprecate」一詞的解讀
  • 取消代理時的收尾,對長時間執行、有背景工具呼叫的代理最有感,可以避免任務在背景繼續跑

升級小提醒

官方公告只列了功能標題,沒有說明升級時需要改的設定。保險起見,升級前先把程式固定在目前的版本號並備份,再在測試環境跑過一遍。

我的看法

這個版本不算大改,但「事件棄用」與「取消收尾」這類細節,剛好是正式上線的服務最容易踩的坑。尤其是替客戶做會呼叫外部工具的代理,取消後背景任務還在跑,可能會讓費用或資料狀態悄悄出問題。

如果你有在用 Pydantic AI,我的建議是:升級前先看事件串流的使用處,升級後跑一次取消流程的測試,確認沒有殘留。

名詞小辭典

  • AI 代理(Agent):能自己決定使用工具、完成多步任務的 AI 程式。
  • tool_choice:控制模型是否使用工具、或指定使用哪個工具的設定。
  • 事件串流:代理執行時,一邊執行一邊送出狀態通知,讓程式可以即時監聽。
  • 棄用(Deprecate):官方宣布某功能之後會移除,建議改用新方式。

資料來源

常見問題

Pydantic AI 是什麼?
一套 Python 的 AI 代理框架,由做 Pydantic 資料驗證的團隊開發,重點是用型別來描述輸入與輸出,讓代理的結果更可預期。
tool_choice 是做什麼的?
在各家模型的 API 中,tool_choice 通常用來控制模型要不要用工具、或一定要用哪個工具。這版 Pydantic AI 把它加成可設定的選項,公告本身只寫了新增,細節請看官方文件。
升級要注意什麼?
如果你的程式會監聽事件串流,並處理失敗的輸出工具呼叫,公告說原本的函式工具事件已被棄用,改用 OutputToolCallEvent 與 OutputToolResultEvent,建議升級後檢查事件處理邏輯。
LINE