datasette-agent 0.2a0:エージェントがユーザーに質問可能に、クエリ保存機能も追加
datasette-agent 0.2a0 では、ツールが実行中にユーザーに質問できる機能と、SQLクエリを保存する新しいツールが導入されました。これらの機能は新しいLLMフレームワークによって実現されています。
datasette-agent 0.2a0 がリリースされました。今回のアップデートでは、DatasetteのAIエージェントに2つの重要な機能強化が加えられました。ユーザーとの対話機能とクエリ保存機能です。
まず、ツールは実行中にユーザーに質問できるようになりました。ツールの関数でcontextパラメータを宣言すると、ToolContextオブジェクトを受け取ることができます。そしてawait context.ask_user(...)を呼び出すことで、yes/no質問、多肢選択(options=[...]で選択肢を指定)、または自由記述(free_text=True)の質問を行うことができます。質問が未回答の間、エージェントのターンは一時停止され、質問はチャットUIにフォームとして表示されると同時に内部データベースに保存されます。これにより、サーバーが再起動しても中断された会話を続行できます。ユーザーが回答すると、ツールは最初から再実行され、保存された回答が再生されます。そのため、副作用を伴う処理の前にask_user()を呼び出すことが推奨されています。
次に、新しい組み込みツールsave_queryが追加されました。このツールにより、エージェントが作成したSQLをDatasetteの保存クエリとして保存できます。保存操作は常に人間の承認を必要とします。エージェントは完全なSQL文、提案されたクエリ名、データベース、可視性設定を表示し、ユーザーが「はい」をクリックするまで実際の保存は行われません。これにより、エージェントが生成したSQLに対するユーザーの完全な制御が確保されています。
これらの新機能、特にask_user()は、プロジェクトの作者が昨日Claude Fable 5を使って構築した新しいLLMフレームワークによって実現されました。Claude Fable 5は最近リリースされた高度な言語モデルであり、その優れたコード生成能力と推論能力によって、このような複雑なインタラクションロジックが可能になりました。datasette-agentの今後の発展により、さらに革新的な機能がDatasetteエコシステムにもたらされることが期待されます。