FLINTERS BLOG
🧠

AIソムリエ2025-10-06: Strands Agentsへの移行

に公開

こんにちは。FLINTERSの河内です。

今日の会では、ミロゴス株式会社の瀬戸山さんから、現在開発中のエージェントのフレームワークを LangGraph から Strands Agents に変えた事例について共有いただきました。

https://strandsagents.com/latest/

以下は、会の様子をまとめたものです。


AIエージェントの基盤をLangGraphからAWSが積極的に開発に参加しているStrands Agentsへ移行したことで、AIエージェント開発に大きな進展が見られました。この移行により、コンテキスト維持能力の向上、開発コードと運用コストの削減、短期記憶と長期記憶の活用が可能になりました。

Strands Agentsの主な利点

  • Interleaved thinking: Claude に導入された interleaved thinking に対応している点が Strands Agents を採用するきっかけとなりました。Interleaved thinking により tool の結果に対して推論が行われ、内部エージェントの数を少なくすることができるのがメリットです。そのタイミングで LangChain/LangGraph は interleaved thinking に対応していませんでした。
  • 動的なタスク実行計画: Strands Agentsの最大の利点は、タスクの実行計画を事前に定義することなく、動的に構築・最適化できる点です。これにより、より柔軟なタスク実行計画が可能になり、検索からレポート作成までを一つのエージェント内で完結できるようになりました。
  • コンテキスト維持能力の向上: 移行により、コンテキストの維持能力が大幅に向上し、例外エラー処理と自己修正能力も高まりました。これにより、タスク実行中に予期せぬエラーが生じた際にも、エージェント自体がその場で対応を考え、解決に向けて動くことができます。
  • 開発と運用コストの改善: エージェント基盤の開発コードが大幅に削減され、ワークフローの事前定義が不要になったことで、コード管理の手間が減り、開発者はツール開発に専念できるようになりました。これにより、運用コストも大幅に改善され、保守性が向上しました。
  • 短期記憶と長期記憶の活用: 短期記憶として AgentCore Memoryを導入し、ユーザーの好みや事実関係を長期記憶として自動的に抽出し、埋め込むことが可能になりました。長期記憶の抽出は自動化されており、API経由で確認や編集が可能です。記憶の単位はユーザー単位/会社単位/部署単位など選択可能ですが、いずれかひとつを選択する必要があります。

LangGraphとの使い分け

ワークフローを厳密に限定したい場合はLangGraphが得意とするような事前定義型が適しています。例えば、決裁プロセスのように承認のステップが定められている場合にはワークフロー型が有効です。一方、柔軟性が求められる場合には、ReAct (Reasoning and Actioning) のように LLMによって次の処理を決定する方が向いています。Strands Agentsは柔軟なエージェントが手軽に作成可能です(LangGraph でも同様のことは可能ですが、実装が多少煩雑になります)。

AIエージェントの差別化要因

動的に処理を決定するAIエージェントの主要な要素は、モデル・プロンプト・ツールの3点です。モデルについては、プロバイダーの提供するメジャーな foundation model から選択することになると思いますが、プロンプトとツールの工夫によって多様なエージェントが作成でき、他社との差別化を図ることができます。現在開発中のエージェントについても、ツールの追加により独自性を強化する検討が進められています。

プロンプトの工夫とチューニング

プロンプトに細かく書くことは LLM にワークフローを指示することとなり、柔軟性とのトレードオフがあります。柔軟性を高めたい場合にはプロンプトから不要な指示を削ることが重要です。

また、ツール呼び出しの一部を事前実行することで、LLMの呼び出し回数を減らすことができます。例えば、長期記憶を事前に取得し、システムプロンプトに埋め込むなどといったことです。トレードオフの観点からは、多少の柔軟性を犠牲に速度とコストを優先していると捉えることができます。

ツールの定義とLLMの進化

現状では、ナレッジベース検索、SQL実行、CSV分析など、ユースケースに合わせて約10個のツールが定義・利用されています。ユースケースが重要となるのでビジネスドメインに詳しい人と一緒に開発を進めることが大事です。
LLMの性能向上や費用減少に伴い、より粒度の細かいツールを渡すことが現実的になり、それにより柔軟性が高まる可能性があります。例えば、ナレッジ検索ツールの代わりに、より低レベルな HTTP リクエストを送信するといったツールを渡して、LLMがそれらを効率的に扱えるようになるかもしれません。

今後の展望

LLMで処理手順を動的に決めることでAIエージェント開発が非常に簡単になったと感じられています。今後はエージェントに与えるプロンプトとツールを強化することで特徴を強化していくことを想定しています。

FLINTERS BLOG
FLINTERS BLOG

Discussion