Share
Embed
本部長の代わりに提案書レビュー! KDDI営業が毎日使うAIエージェント「A-BOSS」開発秘話
AI Engineering Summit
https://ai-engineering-summit.findy-tools.io/
デモ動画はこちら
https://www.youtube.com/watch?v=jELS1TOuPtI
Transcript
102 slides
-
略歴 KDDI株式会社に新卒⼊社し、IoT営業推進部で インフラ関係の法⼈へIoT案件の営業活動に従事。 その後、ビジネスイノベーション推進部へ異動し、 ⽣成AIの社内活⽤および外販推進に取り組んでいる。 原 彩夏 (はら あやか) KDDI株式会社
ビジネスイノベーション推進部 A-BOSS プロダクトオーナー ⾃⼰紹介 -
本部⻑業務AI化の実施内容 4⽉ 5⽉ 6⽉ 7⽉ 本部⻑より社内AI化アイデア20個受領 インタビュー 全19回 合計15.5時間の打ち合わせに同⾏ 全6回
本部⻑へインタビュー実施 MVP*開発 KDDIの営業本部⻑が「本部⻑業務を50%AI化したい」として20個のアイデアを提⽰ 営業本部⻑がAI化で本当に達成したいことを理解するため、2024年4⽉より業務同⾏・インタビューを複数回実 施→営業本部⻑の時間を創出し、イノベーティブな時間を増やすことを⽬的にMVPを開発 業務同⾏ 2024年 *MVP:Minimum Viable Product -
A-BOSS 体制図 KDDIアジャイル開発センター(KAG)と開発チームを組み、7名体制で開発! KDDI KAG セールス サビデザ部 部⻑ 開発5部 部⻑
ステークホルダー 営業本部⻑ BI推進部 グループリーダー BI推進部 部⻑ プロダクトオーナー リード デザイナー エンジニア ⼤坪、御⽥ プロダクトオーナー 原 開発チーム -
7 © 2024 KDDI 営業の課題・悩み リサーチの負荷 企業情報を集めるのが⼤変、 ⽬を通すのにも時間がかかる… 提案の硬直化 型が決まってしまって
提案の幅が広がらない… 相談機会の不⾜ 上司や同僚のアドバイスが 欲しいけど、みんな忙しそう… A-BOSSが解決します! -
8 © 2024 KDDI A-BOSSを使うと… ドラフト準備 AIが収集した情報を元に企業 理解を深め、提案ドラフトま で作成。 初回提案
会話内容の分析や論点整理は AIに任せて、お客さまのヒア リングに集中。 資料作成 AIによる新しい⽰唆や、議事 録に基づくアドバイスを踏ま え、提案資料を更新。 再提案 商談を重ねるごとにAIの精度 も向上し、よりお客さまに適 した提案が実現。 企業リサーチ 提案アシスト 提案書レビュー 提案アシスト 提案書レビュー -
9 © 2024 KDDI A-BOSSでできること 企業リサーチ • 中計や株価、プレスリリースなど、 気になる企業の最新動向を探索的に 調査して、企業情報を整理。
• 企業情報を元に、ディスカッション ペーパーやヒアリングシートなどの 提案ドラフトを作成。 提案アシスト • 商談や会議の発話録・⾳声データを 取り込み、会話内容の分析結果や要 点を提⽰。 • お客さまの企業情報や会議の内容を 踏まえて、KDDI商材と組み合わせた 場合の提案ストーリーを作成。 提案書レビュー • 提案書を分析し、お客さまの特徴や KDDI商材を活かすためのフィード バックのほか、新しい観点での提案 アイデアも⽰唆。 • 商談時のお客さま反応や、提案 フェーズ・⽬的などに合わせて、レ ビュー観点をカスタマイズ。 -
© 2024 KDDI A-BOSSの効果 情報収集の効率UP 短期間で網羅的なリサーチを実現。 検索結果の要約で理解も容易に。 引⽤元の表⽰で信頼性も担保。 提案内容の最適化 気軽にレビューを繰り返し、
提案書の改善サイクルを⾼速化。 AIの助⾔で思考の幅も広がる。 戦略的なサポート AIが企業情報や業界動向を分析し、 お客さまごとに最適な戦略を提案。 ⾃信を持って商談に向かえるように。 -
© 2024 KDDI 利⽤者の声 ⼿広く検索できて、情報収集が 効率化できる! 時間削減に なるかなと思いました。*** 提案資料の⾁付けに役⽴ちま した。
資料のレベルを引き上 げてくれます!****XXX 気軽に何度も試せるのが良い です。 外部情報や出典元の URLも参考になります。** * X X X -
14 KDDI Agile Development Center Corporation $ whoami 御⽥ 稔(みのるん)
@minorun365 テックエバンジェリスト KDDIアジャイル開発センター株式会社(KAG) クラウドや⽣成AIで内製開発を⾏いながら 技術の楽しさを広める活動をしています AWS Community Hero AWS Samurai 2023, 2024 2024 Japan AWS Top Engineer 2024 Japan AWS All Certs Engineer Qiita 2024 Top Contributor -
17 KDDI Agile Development Center Corporation A-BOSSの技術選定 • 変化の早い⽣成AIプロダクトのため、素早くリリースして改善を重ねる必要がある。 開発に慣れたエンジニアが多く、エコシステムが成熟したクラウドを採⽤したい。
• ビジネス⽂書の解釈や、品質の⾼いレビュー⽣成が求められる。 ⽇本語テキストの⽣成クオリティが⾼いLLMが必要。 -
18 KDDI Agile Development Center Corporation A-BOSSの技術選定 • 変化の早い⽣成AIプロダクトのため、素早くリリースして改善を重ねる必要がある。 開発に慣れたエンジニアが多く、エコシステムが成熟したクラウドを採⽤したい。
• ビジネス⽂書の解釈や、品質の⾼いレビュー⽣成が求められる。 ⽇本語テキストの⽣成クオリティが⾼いLLMが必要。 • 図表が多いパワーポイントの読み込みが必要。 マルチモーダルで画像⼊⼒の解釈性能が⾼いLLMが必要。 -
19 KDDI Agile Development Center Corporation A-BOSSの技術選定 • 変化の早い⽣成AIプロダクトのため、素早くリリースして改善を重ねる必要がある。 開発に慣れたエンジニアが多く、エコシステムが成熟したクラウドを採⽤したい。
• ビジネス⽂書の解釈や、品質の⾼いレビュー⽣成が求められる。 ⽇本語テキストの⽣成クオリティが⾼いLLMが必要。 • 図表が多いパワーポイントの読み込みが必要。 マルチモーダルで画像⼊⼒の解釈性能が⾼いLLMが必要。 クラウド =AWSを採⽤ LLM =Claudeを採⽤ -
20 KDDI Agile Development Center Corporation VPC A-BOSSのアーキテクチャ AWSアカウント Web
API Claude 4 on Bedrock AWS WAF Cloudfront S3 ElastiCache ALB ECS ユーザー -
21 KDDI Agile Development Center Corporation VPC フロントはVite + React、バックエンドはFastAPIの王道構成
AWSアカウント Web API Claude 4 on Bedrock AWS WAF Cloudfront S3 ElastiCache ALB ECS フロントエンド APIサーバー ユーザー -
22 KDDI Agile Development Center Corporation VPC ソースIP制限 & バックエンドの閉域化で、エンプラ要件にも対応
AWSアカウント Web API Claude 4 on Bedrock AWS WAF Cloudfront S3 ElastiCache ALB ECS IP制限 VPCオリジンで バックエンド閉域化 ユーザー -
23 KDDI Agile Development Center Corporation VPC 多数の推論タスクを並列でさばくため、ValkeyとCeleryで⾮同期処理を実現 AWSアカウント Web
API Claude 4 on Bedrock AWS WAF Cloudfront S3 ElastiCache ALB ECS ⾮同期処理 タスク管理 ユーザー -
24 KDDI Agile Development Center Corporation VPC アジャイルで改善を重ね、⼯夫が詰まったアーキテクチャになりました AWSアカウント フロントエンド
APIサーバー ⾮同期処理 タスク管理 Web API IP制限 Claude 4 on Bedrock VPCオリジンで バックエンド閉域化 AWS WAF Cloudfront S3 ElastiCache ALB ECS ユーザー -
26 KDDI Agile Development Center Corporation • PoC段階では、⾃律型のReActエージェントを採⽤ • ⾏動をエージェントに任せられる反⾯、必要なタスクを漏らすことも多かった
AIエージェントで「⾃由と統制のバランス」をとるには︖ -
27 KDDI Agile Development Center Corporation • PoC段階では、⾃律型のReActエージェントを採⽤ • ⾏動をエージェントに任せられる反⾯、必要なタスクを漏らすことも多かった
落としどころとして「エージェンティック・ワークフロー」を採⽤ AIエージェントで「⾃由と統制のバランス」をとるには︖ LLMの推論能⼒をうまく活かしつつ、処理フローを ある程度プログラムで制御してしまうアプローチ -
29 KDDI Agile Development Center Corporation A-BOSSのエージェンティック・ワークフロー ECS APIコンテナ ワーカーコンテナ
LLM 提案改善 タスク 競合調査 タスク 提案書レビュー 機能の例 企業調査 タスク -
30 KDDI Agile Development Center Corporation A-BOSSのエージェンティック・ワークフロー ECS APIコンテナ ワーカーコンテナ
LLM 提案改善 タスク 競合名称 検索 競合企業 深掘り 競合製品 検索 競合製品 深掘り 競合調査 タスク 提案書レビュー 機能の例 企業調査 タスク -
31 KDDI Agile Development Center Corporation A-BOSSのエージェンティック・ワークフロー ECS APIコンテナ ワーカーコンテナ
LLM 提案改善 タスク 競合名称 検索 競合企業 深掘り 競合製品 検索 競合製品 深掘り 企業 多⾓分析 証券 コード 検索 株式情報 深掘り 競合調査 タスク 提案書レビュー 機能の例 企業調査 タスク -
32 KDDI Agile Development Center Corporation A-BOSSのエージェンティック・ワークフロー ECS APIコンテナ ワーカーコンテナ
LLM 提案改善 タスク 競合名称 検索 競合企業 深掘り 競合製品 検索 競合製品 深掘り 企業 多⾓分析 証券 コード 検索 株式情報 深掘り 改善 ヒント 分析 競合調査 タスク 提案書レビュー 機能の例 企業調査 タスク -
33 KDDI Agile Development Center Corporation A-BOSSのエージェンティック・ワークフロー ECS APIコンテナ ワーカーコンテナ
LLM 提案改善 タスク 競合名称 検索 競合企業 深掘り 競合製品 検索 競合製品 深掘り 企業 多⾓分析 証券 コード 検索 株式情報 深掘り 改善 ヒント 分析 競合調査 タスク 提案書レビュー 機能の例 最終アドバイス⽣成 企業調査 タスク -
34 KDDI Agile Development Center Corporation A-BOSSのエージェンティック・ワークフロー ECS APIコンテナ ワーカーコンテナ
LLM 提案改善 タスク 競合名称 検索 競合企業 深掘り 競合製品 検索 競合製品 深掘り 企業 多⾓分析 証券 コード 検索 株式情報 深掘り 改善 ヒント 分析 競合調査 タスク 提案書レビュー 機能の例 最終アドバイス⽣成 提案書レビュー結果 ファースト インプレッション レビュー観点 考慮すべき市場動向 ブラッシュアップの ヒント 結果出⼒ 企業調査 タスク -
36 KDDI Agile Development Center Corporation LLMアプリならではの実装Tips • BedrockのClaudeモデルは需要が⾼く、過負荷エラー(HTTP 429)が発⽣しやすい。
クロスリージョン推論をフル活⽤し、エラー発⽣時は APAC→US→EU を巡回する。 世界⼀周してもダメなときは、⾃動でモデルのグレードを落としてリトライ。 Sonnet AP US EU Haiku AP US EU -
37 KDDI Agile Development Center Corporation LLMアプリならではの実装Tips • BedrockのClaudeモデルは需要が⾼く、過負荷エラー(HTTP 429)が発⽣しやすい。
クロスリージョン推論をフル活⽤し、エラー発⽣時は APAC→US→EU を巡回する。 世界⼀周してもダメなときは、⾃動でモデルのグレードを落としてリトライ。 • エージェントの推論コストとレイテンシーを少しでも節約するため、 Tool Useの後半の推論のみ、Haikuなどの軽量モデルを組み合わせている。 Sonnet AP US EU Haiku AP US EU Sonnet Haiku Tool Use 発動 リクエスト ⽣成 実⾏結果 を要約 API実⾏ -
43 KDDI Agile Development Center Corporation 成⻑機能のすごいところ • ユーザーからのフィードバックが、毎⽇ほぼリアルタイムにA-BOSSの動作へ反映される A-BOSSというアプリケーションでは、ユーザー(KDDIの営業担当)が作成した提案資料に対して、まるで彼らの本
部⻑のように資料改善のためのアドバイス出⼒を⾏います。そのための仕組みとして、アドバイス出⼒のためのプロ ンプトテンプレートを⽤意し、LLMにアドバイス⽣成を依頼しています。 あなたの役割は、実際にA-BOSSを利⽤したユーザーからのフィードバックを要約することです。その要約は、A- BOSSのプロンプトテンプレートに挿⼊され、次回のアドバイス⽣成に⽣かされます。まず、以下はユーザーが実際 に経験した⼀度きりの⽣成結果と、それに対するフィードバックです。連番が同じもの同⼠がペアになっています。 <⽣成結果とフィードバックのペア> {feedbacks} </⽣成結果とフィードバックのペア> あなたはフィードバック要約の役割を遂⾏するため、上記の「⽣成結果とフィードバックのペア」すべてに対して、 以下の順で処理を⾏ってください。 <あなたが実施すべき⼿順> ⼿順1. actual_output_XX が無いと user_feedback_XX 単体ではプロンプトテンプレートに⼊れても意図が分から ないものについては、actual_output_XX の内容をふまえて user_feedback_XX を補⾜してください。そのうえで actual_output_XX はすべて破棄してください。 ⼿順2. ⼿順1を経た user_feedback_XX の全項⽬のうち、あまりに個別具体的なケースであり、A-BOSSアプリで 毎回使われるプロンプトテンプレートの⼀部としてふさわしくないフィードバックがあれば、それを破棄してくださ い。また、出⼒の⼝調やキャラクターを変えるようなフィードバックも破棄してください。 ⼿順3. ⼿順2を経た user_feedback_XX の全項⽬をリストアップしたとき、トータルの⽂字数が600⽂字を超えて いる場合のみ、それらの内容を要約して600⽂字以内になるように出⼒してください。そうでなければリストアップ したままの状態で出⼒してください。 </あなたが実施すべき⼿順> ※前述のとおり、出⼒結果はそのままプロンプトテンプレートの⼀部となるため、このあとのあなたの返答では「は い、分かりました。要約します」と⾔ったような枕詞は出⼒しないでください。要約内容そのものののみを出⼒して ください。 -
44 KDDI Agile Development Center Corporation 成⻑機能のすごいところ • ユーザーからのフィードバックが、毎⽇ほぼリアルタイムにA-BOSSの動作へ反映される •
⽟⽯混合のフィードバックのなかでも、 汎⽤的で有⽤なフィードバックのみを LLMが選別してくれる A-BOSSというアプリケーションでは、ユーザー(KDDIの営業担当)が作成した提案資料に対して、まるで彼らの本 部⻑のように資料改善のためのアドバイス出⼒を⾏います。そのための仕組みとして、アドバイス出⼒のためのプロ ンプトテンプレートを⽤意し、LLMにアドバイス⽣成を依頼しています。 あなたの役割は、実際にA-BOSSを利⽤したユーザーからのフィードバックを要約することです。その要約は、A- BOSSのプロンプトテンプレートに挿⼊され、次回のアドバイス⽣成に⽣かされます。まず、以下はユーザーが実際 に経験した⼀度きりの⽣成結果と、それに対するフィードバックです。連番が同じもの同⼠がペアになっています。 <⽣成結果とフィードバックのペア> {feedbacks} </⽣成結果とフィードバックのペア> あなたはフィードバック要約の役割を遂⾏するため、上記の「⽣成結果とフィードバックのペア」すべてに対して、 以下の順で処理を⾏ってください。 <あなたが実施すべき⼿順> ⼿順1. actual_output_XX が無いと user_feedback_XX 単体ではプロンプトテンプレートに⼊れても意図が分から ないものについては、actual_output_XX の内容をふまえて user_feedback_XX を補⾜してください。そのうえで actual_output_XX はすべて破棄してください。 ⼿順2. ⼿順1を経た user_feedback_XX の全項⽬のうち、あまりに個別具体的なケースであり、A-BOSSアプリで 毎回使われるプロンプトテンプレートの⼀部としてふさわしくないフィードバックがあれば、それを破棄してくださ い。また、出⼒の⼝調やキャラクターを変えるようなフィードバックも破棄してください。 ⼿順3. ⼿順2を経た user_feedback_XX の全項⽬をリストアップしたとき、トータルの⽂字数が600⽂字を超えて いる場合のみ、それらの内容を要約して600⽂字以内になるように出⼒してください。そうでなければリストアップ したままの状態で出⼒してください。 </あなたが実施すべき⼿順> ※前述のとおり、出⼒結果はそのままプロンプトテンプレートの⼀部となるため、このあとのあなたの返答では「は い、分かりました。要約します」と⾔ったような枕詞は出⼒しないでください。要約内容そのものののみを出⼒して ください。 -
45 KDDI Agile Development Center Corporation 成⻑機能のすごいところ • ユーザーからのフィードバックが、毎⽇ほぼリアルタイムにA-BOSSの動作へ反映される •
⽟⽯混合のフィードバックのなかでも、 汎⽤的で有⽤なフィードバックのみを LLMが選別してくれる • フィードバックの数が増えても、 LLMが要約してくれるため、 ⽂字数をオーバーせずプロンプト テンプレートに反映できる A-BOSSというアプリケーションでは、ユーザー(KDDIの営業担当)が作成した提案資料に対して、まるで彼らの本 部⻑のように資料改善のためのアドバイス出⼒を⾏います。そのための仕組みとして、アドバイス出⼒のためのプロ ンプトテンプレートを⽤意し、LLMにアドバイス⽣成を依頼しています。 あなたの役割は、実際にA-BOSSを利⽤したユーザーからのフィードバックを要約することです。その要約は、A- BOSSのプロンプトテンプレートに挿⼊され、次回のアドバイス⽣成に⽣かされます。まず、以下はユーザーが実際 に経験した⼀度きりの⽣成結果と、それに対するフィードバックです。連番が同じもの同⼠がペアになっています。 <⽣成結果とフィードバックのペア> {feedbacks} </⽣成結果とフィードバックのペア> あなたはフィードバック要約の役割を遂⾏するため、上記の「⽣成結果とフィードバックのペア」すべてに対して、 以下の順で処理を⾏ってください。 <あなたが実施すべき⼿順> ⼿順1. actual_output_XX が無いと user_feedback_XX 単体ではプロンプトテンプレートに⼊れても意図が分から ないものについては、actual_output_XX の内容をふまえて user_feedback_XX を補⾜してください。そのうえで actual_output_XX はすべて破棄してください。 ⼿順2. ⼿順1を経た user_feedback_XX の全項⽬のうち、あまりに個別具体的なケースであり、A-BOSSアプリで 毎回使われるプロンプトテンプレートの⼀部としてふさわしくないフィードバックがあれば、それを破棄してくださ い。また、出⼒の⼝調やキャラクターを変えるようなフィードバックも破棄してください。 ⼿順3. ⼿順2を経た user_feedback_XX の全項⽬をリストアップしたとき、トータルの⽂字数が600⽂字を超えて いる場合のみ、それらの内容を要約して600⽂字以内になるように出⼒してください。そうでなければリストアップ したままの状態で出⼒してください。 </あなたが実施すべき⼿順> ※前述のとおり、出⼒結果はそのままプロンプトテンプレートの⼀部となるため、このあとのあなたの返答では「は い、分かりました。要約します」と⾔ったような枕詞は出⼒しないでください。要約内容そのものののみを出⼒して ください。 -
47 KDDI Agile Development Center Corporation 成⻑機能のアーキテクチャ CloudFront S3 Lambda
Lambda ① フィードバック ⽇々の⽣成履歴 Langfuse AppSync フロント エンド 取得 記録 本物のボス フィードバック (コメント機能) -
48 KDDI Agile Development Center Corporation 成⻑機能のアーキテクチャ CloudFront S3 Lambda
EventBridge Lambda Lambda DynamoDB Bedrock ① フィードバック ② サマリー反映 ⽇々の⽣成履歴 Langfuse AppSync フロント エンド 取得 記録 取得 フィードバック を要約 定期的に ⾃動起動 本物のボス フィードバック (コメント機能) -
49 KDDI Agile Development Center Corporation 成⻑機能のアーキテクチャ CloudFront S3 ECS
Bedrock Lambda EventBridge Lambda Lambda CloudFront S3 ALB DynamoDB Bedrock ① フィードバック ② サマリー反映 ③ 次回利⽤ ⽇々の⽣成履歴 ボス⽤プロンプト テンプレート Langfuse AppSync テンプレートに フィードバック要約を反映︕ フロント エンド フロント エンド 取得 記録 取得 フィードバック を要約 新しいテンプレートで アドバイス⽣成 定期的に ⾃動起動 本物のボス A-BOSS利⽤者 フィードバック (コメント機能) -
52 KDDI Agile Development Center Corporation フルリモートで和気あいあいと開発してます • 1週間スプリントのスクラム開発 Slackハドルでのモブプログラミング
• POの原が、朝「こんな機能ほしい」 と⾔ったら昼前には⽣えてる レトロスペクティブ (ふりかえり)の様⼦ -
53 KDDI Agile Development Center Corporation フルリモートで和気あいあいと開発してます • 1週間スプリントのスクラム開発 Slackハドルでのモブプログラミング
• POの原が、朝「こんな機能ほしい」 と⾔ったら昼前には⽣えてる • AWS re:Inventで渡⽶中に 障害発⽣するもリモートで即解決 レトロスペクティブ (ふりかえり)の様⼦ -
54 KDDI Agile Development Center Corporation フルリモートで和気あいあいと開発してます • 1週間スプリントのスクラム開発 Slackハドルでのモブプログラミング
• POの原が、朝「こんな機能ほしい」 と⾔ったら昼前には⽣えてる • AWS re:Inventで渡⽶中に 障害発⽣するもリモートで即解決 • PO⾃ら営業部署全体に宣伝しまくる のでどんどん利⽤者が増える レトロスペクティブ (ふりかえり)の様⼦