Upgrade to Pro — share decks privately, control downloads, hide ads and more …

「OutputOps」なエージェントを作りたかった… ~エージェント開発Tipsを添えて~

Avatar for Har1101 Har1101
September 27, 2025
96

「OutputOps」なエージェントを作りたかった… ~エージェント開発Tipsを添えて~

9/27(土) JAWS-UG 茨城 #7 JAWS FESTA2025 CfP・LT供養祭りの登壇資料です

Avatar for Har1101

Har1101

September 27, 2025
Tweet

More Decks by Har1101

Transcript

  1. Who am I ? 福地 開 (ふくち はるき) @har1101mony 所属:NECソリューションイノベータ株式会社

    年次:3年目 業務:LLMで遊ぶだけ 選出:AWS Community Builders (AI Engineering) 2025 Japan AWS Jr.Champions 2025 Japan All AWS Certifications Engineers
  2. 今日話すこと ◆私が作っている、「OutputOpsエージェント」とは? • よくある悩み • OutputOpsエージェントとは • プロダクトとしての設計思想 ◆アーキテクチャ •

    AWSとしてのアーキテクチャ • AIエージェントにおける処理フロー ◆実装で難しかったところ&エージェント開発のTips ※資料中で「AI」と記載しているものは「生成AI」とりわけ「LLM」のことを指します ※所属組織とは一切関係ない、私個人の意見・考えとなります ※AIエージェントとは、みたいな基礎基本の話は省略しております。すみません。
  3. 振り返りは大事、とはいえ面倒くさい… ◆アウトプット履歴をまとめたり、フィードバック集めて改善したり する暇があったら次のアウトプットに向けて準備をしたい… ◆ただ、この履歴・フィードバック収集が避けられないこともある • 社内の報告向け • Community Builders/Top Engineersなどの表彰応募

    • (特殊)Jr.Champions内でも定期的にアウトプットの報告が必要 ◆「差別化されない重労働」 • AWS(もといサーバーレス)の思想に則れば、改善するべきポイント • GPT-5 Thinkingにやらせると、しっちゃかめっちゃかな内容が返ってきた
  4. プロダクト設計:設計思想 ◆作りたいもの: アウトプットの保存・フィードバックなどを自動で行ってくれる AIエージェント ◆絶対にデータの格納に手間を掛けたくない!!! • (前提:AIエージェントはデータが有って初めて真価を発揮する) • わざわざ専用のアンケートフォームやWebアプリを作っても開くのが億劫 •

    できるだけデータ格納のハードルを下げたい →毎日自然とアクセスする場所で、URLだけ貼り付ければOK、が理想 ◆複数人や組織、コミュニティでも使えるようにしたい • 自分だけのアウトプット履歴を蓄えるなら、既存のAIチャットで十分 • アウトプットは他人に共有すると更に有意義なもの
  5. 作るAIエージェントのイメージ 1. アウトプット格納エージェント • Slackのメッセージを取得する • メッセージ内のURLを元に、Web検索を行う • 取得した内容を元に、フィードバック文とレベル判定を考える •

    諸々のデータをデータベースに格納する • 投稿者にフィードバックを返す 2. アウトプットに関する質問受付エージェント(Agentic RAG的な) • アウトプット履歴の参照 • 年単位・月単位でのフィードバック作成 • 表彰申込時の叩き台作成
  6. 作るAIエージェントのイメージ 1. アウトプット格納エージェント(まだこっちしか喋れません…) • Slackのメッセージを取得する • メッセージ内のURLを元に、Web検索を行う • 取得した内容を元に、フィードバック文とレベル判定を考える •

    諸々のデータをデータベースに格納する • 投稿者にフィードバックを返す 2. アウトプットに関する質問受付エージェント(Agentic RAG的な) • アウトプット履歴の参照 • 年単位・月単位でのフィードバック作成 • 表彰申込時の叩き台作成
  7. Tips1. マルチエージェントから始めるな ◆初手でマルチエージェントやAgentic Workflowに手を出すと大変 • Anthropic「シンプルに設計しろ」(Building Effective Agents) • ワイ「やってみたいからGraph使ったろwいけるやろw」←終わりの始まり

    ◆まずはLLM+Tooluse、もしくはシングルエージェントで設計 • 試して、思ったより精度が出ないときに拡張していく • コスト・処理時間・複雑度はトレードオフなことを理解しておく • (さっきのデモだと1メッセージの処理に2-3分、約10万トークン消費 ) ◆「その処理はエージェントが実行しないといけないか?」を考える • 今回で言えば「Slackからのメッセージ取得はエージェントの仕事か?」 • 安定性と柔軟性のどちらを取るか?は要検討
  8. Tips2. Strands Agent Graphにかなり癖あり ◆複数のエージェントを繋ぎ、決まった順序で確実に実行する設計図 • Agentic Workflowをコードベースで定義できる機能 ◆登場人物 •

    ノード:エージェントや関数そのもの • エッジ:ノード間の接続パーツ • Step Functionsを完全にコードベースで 定義するようなイメージ ◆何が嬉しい? • 複雑な作業を小さな専門ノードに分割し、順序と受け渡しを明示できる • 精度向上、処理の安定化、開発とデバッグがやりやすい…など
  9. ◆今作っているものと過程で詰まったポイントのお話をしました! • シンプルなエージェントから始めよう • Strands Agent Graphは癖あり • AgentCore Gatewayの既成MCPサーバーはほぼブラックボックス

    • エージェント開発においてObservabilityは必須 • 祝・AgentCoreのIaC対応 ◆懺悔:完成品を持ってこれずすみません…… • これがPJだったら今頃大炎上 • とはいえ手を動かすことでしか得られない経験値もある(多分) • エージェント開発やっていきましょう! • 完成次第公開するので良ければ使ってみてください! まとめ