Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

Strands AgentsとBedrock AgentCoreを使って社内タレントアサイン支...

Avatar for Toranosuke Minamikawa Toranosuke Minamikawa
December 22, 2025
250

Strands AgentsとBedrock AgentCoreを使って社内タレントアサイン支援AIを開発してみた

JAWS-UG Presents - AI Builders Day
午後の部(前半)トラックC 13時からのセッションスライドです
https://jawsug.connpass.com/event/371658/

Avatar for Toranosuke Minamikawa

Toranosuke Minamikawa

December 22, 2025
Tweet

Transcript

  1. 2 KDDI Agile Development Center Corporation アジェンダ 1. 開発しているプロダクトの概要 2.

    v1 (Bedrock Agents) での課題 3. v2 (Strands + AgentCore) への移行と結果 4. 今後の展望と期待 伝えたいこと • Strands Agentsはいいぞ 話さないこと • Strands Agents, Bedrock AgentCoreの具体的な使い方
  2. 3 KDDI Agile Development Center Corporation 自己紹介 現在 • 仕様駆動開発で試行錯誤チーム

    今日の気になるセッション • AI-DLC関連 最近ハマっていること • バスケ観戦 ◦ B1 レバンガ北海道 趣味 • 野球観戦 • 麻雀 • ビール KDDIアジャイル開発センター 南川 虎之介(とら) 新卒1年目 ソフトウェアエンジニア 初JAWS, 社会人初登壇 Twitter (新X) : @fun_tora_
  3. 6 KDDI Agile Development Center Corporation 何を作っているか 社内タレントアサイン支援システム 解決したい課題: •

    スキルや稼働状況などの情報を一箇所に集約して可視化したい • 部長などに属人化しているアサイン作業にかかる時間を減らしたい → 生成AIの力を借りて「空きリソース」×「ロール」×「スキル」等の複合条件で柔軟な 検索をしてチームを組みたい 「1月に空いている人でAWSできる人でスクラムチーム提案して」
  4. 12 KDDI Agile Development Center Corporation アクショングループ v1 Bedrock Agentsの構成

    システムプロンプト(要約) • 時間を扱う場合は現在時刻を取得して判断する • ステップ1: ユーザーのリクエストに基づき検索機能を実行する • ステップ2: 件数を絞り込む ◦ 続きを出してと聞かれたら次の25件を返す • ステップ3: 詳細を取得する • 結果はJSONで返却し、コードブロックは含めない ロール検索 スキル検索 工数検索 現在時刻取得 従業員詳細取得 ・・・ Bedrock Agent
  5. 15 KDDI Agile Development Center Corporation v1 課題 現在時刻の不確実性 •

    現在時刻取得ツールを使わない、使っても検索に反映されない • 過去や未来のデータを参照する不安定な挙動
  6. 16 KDDI Agile Development Center Corporation v1 課題 結果の出力をJSONだけにしてほしいが不確実 •

    「説明不要、JSONのみ返せ」と指示してもコードブロック(```)が含まれることがあ り結果をうまく表示できない • プロンプト芸つらい
  7. 17 KDDI Agile Development Center Corporation v1 課題 返答するまでの時間が長い •

    簡単な検索プロンプトでも30秒。Lambda + Auroraのオーバーヘッド
  8. 20 KDDI Agile Development Center Corporation Strands Agents の機能の紹介 Tools:

    エージェントの拡張機能。よしなに使ってくれる。 • Strands Agents Tools: Strands Agentsが提供して いるツール ◦ use_aws ◦ current_time • Agents as Tools ◦ ツールとしてエージェントを設定できる ◦ マルチエージェント Structured Output: Pydanticのモデルを定義することで、 Strandsがよしなに理解してJSONで返してくれる
  9. 21 KDDI Agile Development Center Corporation Strands Agents と AgentCore

    を採用 Strands Agents AgentsCore Runtime / Memory • 厳密なGraph定義より、自律ループしてく れる方が検索タスクに良いのではないか • ツールのcurrent_timeやuse_awsを使いた い • 今後、機能を増やしやすそう • AWS製であり親和性が高い • リリースされたばかりでせっかくなら使っ てみよう
  10. 22 KDDI Agile Development Center Corporation 出力管理 (Structured Output) •

    JSONを確実に返却 • プロンプトによる不安定さを解消 v2 エージェントの構成 基本的な流れ マルチエージェント構成、それぞれがAgent as Tools 検索ツール ツール選択・実行 (current_time, use_aws) 絞り込みツール 25件以上の場合に発動 メンバー詳細取得ツ ール メンバー詳細取得 (use_aws) メモリ機能 • Strandsのコードに少し書くだけで有効化 • Summary Strategyでセッションタイトル を付与
  11. 24 KDDI Agile Development Center Corporation v2 改善されたこと 現在時刻を取得し正しく使うようになった •

    ツール current_time を使ってコードも削減 必ず結果をJSON出力 (Structured Output) • v1の「JSONのみ返せ、云々、、、」を廃止し、プロンプトの記述量を大幅に削減 ◦ 40行、500トークンほど削減 ◦ システムプロンプトがシンプルに • 返す値に説明を加え、安定した出力を実現
  12. 25 KDDI Agile Development Center Corporation v2 解決しなかったこと 応答速度は変わらず •

    フレームワークを変えても、Lambda + Auroraのボトルネックは不変
  13. 26 KDDI Agile Development Center Corporation v2 余談 • CDKとフロントのコードはAWS

    Knowledge MCPとCDK MCP使えばほぼ手直しせず に書けた • AgentCore Memory の (Custom) Summary Strategy はセッションタイトルには使 いづらい ◦ 期待: 「1月に空いているメンバーのスクラムチーム提案」 ◦ 現実: 「ユーザーが〇〇と検索し、△△と返した。なんとかかんとか、、、」
  14. 28 KDDI Agile Development Center Corporation 今後のアーキテクチャ 料金を抑えるために支援システム全体としてSPA化 • Aurora

    → DynamoDBへ • API Gatewayのストリーミングレスポンス対応を活用 応答時間の短縮 • DynamoDB移行でAuroraへの接続オーバーヘッドを排除 • Strandsの use_aws ツールで直接DynamoDBを読み取り Confluenceなどに外部サービスにあるデータをMCPを使って取得 • 案件データの一部はConfluenceにまとめられている • AgentCore GatewayやIdentityを活用して集約したい
  15. 29 KDDI Agile Development Center Corporation TypeScript版 Strands Agentsへの期待 現状はCDK,

    Lambda, フロント全てTypeScript • RuntimeもTSにしたい そんな時にTypeScript版 Strands Agentsの登場! • 2025年12月にPreview公開されたばかり • Python版にある「Structured Output」などが未実装 • Python版に追いついてほしいなっ
  16. 30 KDDI Agile Development Center Corporation まとめ • Strands AgentsのツールとStructured

    Outputにより、自律的なエージェントの構築と安 定した出力が実現し、回答の精度と開発体験が向上 • エージェントにStrands Agentsを使用しただけではI/Oボトルネックは解消せず、応答速 度の課題が残った • 今後はDynamoDB移行やSPA化による高速化、MCPでのデータソース拡張を推進する