チャットアプリを自前で作ったことがある人なら分かるはずだ。モデルを呼び出す1行のコードよりも、会話履歴の保存、途中状態の復元、ストリーミング表示、承認待ちの割り込みといった周辺の配線に何倍もの時間を取られる。GenkitのAgents APIは、この配線部分をまとめて肩代わりしようとするものだ。
単発呼び出しから会話の土台へ
これまでのGenkitは generate() のような単発呼び出しが中心だった。Agents APIはそこから一歩進み、履歴管理、ツール呼び出しのループ、ストリーミング配信、永続化、HTTP経由での公開までを1つのインターフェースにまとめている。状態の持ち方もサーバー管理型とクライアント管理型を選べるため、長時間かかるタスクや途中で分岐するフローにも対応できる。
人間承認の割り込みという実務要件
特に実アプリ寄りだと感じるのは、人間の承認を会話の途中に割り込ませる仕組みが用意されている点だ。たとえば社内アシスタントが「この操作を実行してよいか」を確認してから処理を進める、といったフローは実務では避けて通れない。これを毎回自前で組み上げるのは地味に骨が折れる作業で、標準機能として提供される意味は大きい。
標準化競争の1コマとして見る
会話状態の管理を巡っては、LangChainのメモリ機構や各種オーケストレーションフレームワークも同様の課題に取り組んできた。Genkitの動きは、こうした「会話AIの配線をどのフレームワークが標準として押さえるか」という競争の1コマとも読める。Web開発者にとって馴染みのあるフルスタックの発想でAgents APIが設計されている点は、既存のGenkitユーザーにとって乗り換えやすい要素になりそうだ。現時点でpreview扱いの機能も含まれるため、対応言語や破壊的変更の可能性は、Google Developers Blogの記事(https://developers.googleblog.com/build-agentic-full-stack-apps-with-genkit/)で最新情報を追う必要がある。