AI News HubLIVE
站内改写1 分鐘閱讀

datasette-agent 0.2a0 釋出:智慧代理新增使用者互動與查詢儲存功能

datasette-agent 0.2a0 版本引入了工具可向使用者提問的功能,以及新的內建儲存查詢工具,使 Datasette 的 AI 代理更加靈活和使用者可控,這些特性得益於新的 LLM 框架。

datasette-agent 0.2a0 版本現已正式釋出。本次更新為 Datasette 的 AI 代理帶來了兩項關鍵增強:使用者互動能力和查詢儲存功能,極大地提升了代理的靈活性和使用者控制力。

首先,工具現在可以在執行過程中向使用者提問。開發者在工具函式中宣告一個 context 引數後,工具會獲得一個 ToolContext 物件。透過呼叫 await context.ask_user(...),工具可以提出不同型別的問題,包括:是非題(yes/no)、多項選擇題(透過 options=[...] 引數指定選項)或自由文本題(設定 free_text=True)。當問題未被回答時,代理的當前回合會掛起,問題會以表單形式顯示在聊天介面中,同時持久化到內部資料庫。這意味著即使伺服器重啟,之前掛起的對話也能繼續執行。一旦使用者回答了問題,工具會從頭重新執行,並自動回放之前儲存的答案。因此,建議在工具執行任何有副作用的操作之前呼叫 ask_user(),以確保正確性。

其次,新版本引入了一個內建的 save_query 工具。該工具允許代理將其編寫的 SQL 語句儲存為 Datasette 儲存的查詢。儲存操作始終需要人類批准——代理會展示完整的 SQL 語句,以及建議的查詢名稱、所屬資料庫和可見性設定。只有在使用者點選“是”之後,查詢才會被實際儲存。這一機制確保了使用者對代理生成的 SQL 有完全的控制權,避免了自動儲存可能帶來的風險。

值得一提的是,ask_user() 功能的實現依賴於一個全新的 LLM 框架,這個框架是專案作者昨日藉助 Claude Fable 5 構建的。Claude Fable 5 是近期釋出的先進語言模型,其強大的程式碼生成和推理能力使得這一複雜的互動邏輯成為可能。隨著 datasette-agent 的持續發展,我們可以期待更多基於 LLM 的創新特性出現在 Datasette 生態系統中。