概要
https://developers.cyberagent.co.jp/blog/archives/58783/
詳細内容
## ABEMAの広告システムにおけるAIエージェント開発の取り組み
https://developers.cyberagent.co.jp/blog/archives/58783/
サイバーエージェントは、ABEMAの広告システムにおいて、複雑な広告プランニングを効率化するAIエージェントの開発と実装の詳細を解説しています。
**Content Type**: ⚙️ Tools
**Scores**: Signal:4/5 | Depth:4/5 | Unique:3/5 | Practical:4/5 | Anti-Hype:4/5
**Main Journal**: 76/100 | **Annex Potential**: 73/100 | **Overall**: 76/100
**Topics**: [[AIエージェント, Function Calling, Zodスキーマ, マイクロサービス連携, 広告システム]]
サイバーエージェントが、ABEMAの広告システムにおけるAIエージェント開発事例を共有しました。この取り組みは、広告代理店向けのビジネスマネージャが持つ「複雑なターゲティング選択肢」という課題に対し、自然言語による直感的な操作を可能にするAIエージェントを導入したものです。
開発の核となったのは、外部APIとLLMを安全に連携させる「function calling」技術です。ユーザーの質問に対し、LLMが適切な関数(広告のプランニング情報を取得するProduct Masterやプランニング実行を行うPlannerサービス)を呼び出すべきかを判断します。特に注目すべきは、TypeScriptライブラリ「zod」を併用している点です。zodスキーマを活用することで、LLMの出力構造を厳密に定義し、型安全な開発を実現しています。これにより、LLMの不安定な出力を確実に処理できる上、スキーマがAPIドキュメントとしても機能し、DTO(Data Transfer Object)と型を単一情報源として共有できるメリットがあります。
実際の処理フローでは、AIエージェントがユーザーからの自然言語リクエストを受け、function callingを通じてマイクロサービス(gRPC通信)と連携します。情報が不足している場合は、LLMがユーザーに質問を返すことで対話を進めます。このアーキテクチャの最大の利点は、既存のマイクロサービスが変更されても、出力スキーマが変わらなければLLM側で柔軟に対応できるため、他サービスからの影響を最小限に抑えられる点です。
本事例は、Webアプリケーションエンジニアにとって、複雑な業務システムにおけるユーザー体験の向上と、LLMを基盤とした自動化システム構築の具体的な手本となります。特に、function callingとzodによる堅牢なLLM連携パターンは、実用的なAIエージェント開発における重要な知見を提供するでしょう。