Google の提唱する GenOps って何?
2024 年 8 月 31 日に Google Cloud のブログにて「GenOps: learning from the world of microservices and traditional DevOps」という記事が投稿されました。
これまでも LangSmith や Langfuse といった LLMOps ツールや Datadog の LLM Observability などが登場していますが、上記記事では生成 AI の運用にあたって現時点で必要と考えられる要素が網羅的に提示された形となっています。
正直誰かが日本語で解説記事書くだろうと思っていたのですが、1 週間経っても誰も書いていないようだったので本記事を投稿します。
なお本記事は翻訳ではなく筆者なりの解釈が含まれているので、元記事も参照されることをおすすめします。
生成 AI エージェントの開発はアプリ開発チームの責任範囲
GenOps の世界観では、生成 AI アプリケーションの単位は生成 AI エージェントです。
生成 AI におけるエージェントは一般用語ですが簡単に説明しておくと、与えられた複雑なタスクをより単純なサブタスクに分解し、各サブタスクを生成 AI やツールを使いながら解決していくアプリケーションです。
エージェントは従来のマイクロサービスとの類似性が指摘されており、タスクに応じて複数のエージェントを開発していくようです。
重要な点として、このエージェントの開発はアプリ開発チームの責任とされており、エージェントが利用するモデルやツールを API として提供するのが GenOps チームの役割となります。
GenOps チームの責任範囲は何か
GenOps チームには以下の役割が求められます。
モデルのコンプライアンスと承認管理
現在世の中には数多くの生成 AI モデルがあり、また今後も増えていきます。
モデルの選択にあたっては、入力が学習に使われるかどうかなどの確認が必須です。
GenOps ではモデルの選択をエンジニアに委ねるのではなく、法務およびコンプライアンスチームがレビューと承認のプロセスを所有し、GenOps チームがそれを遵守する仕組みを構築することを主張しています。
プロンプトのバージョン管理
プロンプトはモデルに依存しており、またプロンプトの変更は生成結果に直接的な影響があることから、プロンプトをバージョン管理することも主張しています。
プロンプトのバージョン管理についてはこれまでの LLMOps でも機能として提供されており、目新しい考え方ではないかと思います。
モデルとプロンプトの評価
オブザーバビリティの一環として生成結果の評価をすることも主張しています。
こちらもこれまでの LLMOps でも機能として提供されており、目新しい考え方ではないかと思います。
セキュリティ
プロンプトインジェクションなど生成 AI の登場によって新たなセキュリティリスクが生じています。
GenOps ではプロバイダやモデルに依存しない形で入力のチェックなどを実施することを求めています。
こちらについては、生成 AI アプリケーションの評価の文脈で以前から言われていたことの延長線かなと思います。
エージェントが利用するツールの管理
エージェントが利用するツールの開発/管理も GenOps チームの役割とされています。
ツールの例としては RAG 用の検索や Function Calling 用の関数が挙げられています。
一方でツールが利用するデータソースや別のサービスについては GenOps チームの責任範囲かは明言されていません。
以上を踏まえて GenOps チームは以下のような API を提供します。
- モデルを呼び出すエンドポイント
- バージョン管理されたプロンプトとエージェントからの入力を合わせて、実際のプロンプトを生成する
- 生成されたプロンプトに対してセキュリティチェックを実施する
- 承認されたモデルに対してプロンプトを渡し、結果を生成する
- プロンプトと生成結果を記録し、評価する
- ツールを呼び出すエンドポイント
今回提示されたのは今後の方向性
では Google Cloud で現状これらが実現できるかというとまだ難しそうです。
例えばプロンプトのバージョン管理を実現するための Prompt Management(の SDK Support) とセキュリティを実現するための Model Armor は、本記事執筆時点では発表があったのみで提供されていません。
それ以外は現状提供されているサービスで実現可能なようです。
- モデルのコンプライアンスと承認管理:組織ポリシーによるモデルのアクセス制御
- モデルとプロンプトの評価:model evaluation services
そのため、今回提示されたのは Google Cloud における今後のサービス提供の方向性と捉えた方が良いでしょう。
まとめ
- 生成 AI アプリケーションの単位はエージェントであり、エージェントの開発はアプリ開発チームの責任範囲
- GenOps チームはエージェントが利用するモデルとツールを API として提供する
- 今回提示されたのは GenOps における Google Cloud の方向性
Discussion