生成AIに質問すると、文章を考えたり、情報を整理したりしてくれます。
しかし、実際の業務で活用するAIエージェントには、それだけでは足りません。
例えば、
- 社内資料を検索する
- Webから最新情報を集める
- AWSの利用状況を確認する
- Pythonでデータを分析する
- 分析結果をファイルとして出力する
といった、外部の情報やシステムを扱う力が必要になります。
こうした機能を一つずつ開発しようとすると、AIに本来させたい仕事へたどり着く前に、多くの実装が必要です。
そこで今回は、AIエージェント開発用SDK「Strands Agents」で利用できる、約50種類の標準ツールを調査しました。
AIエージェントは、考えるだけでは仕事ができない
生成AIは、文章の作成や要約、推論を得意としています。
一方で、AIモデル単体では、社内ファイルを勝手に読んだり、AWSのコストを確認したり、プログラムを実行したりすることはできません。
そこで必要になるのが「ツール」です。
ツールとは、AIが外部の情報や機能を利用するための窓口です。
AIはユーザーから依頼を受けると、必要なツールを選び、その結果を使いながら作業を進めます。
例えば、「先月のAWSコストを分析して、削減案をまとめてください」と依頼された場合、AIエージェントは次のように動きます。
- AWSからコスト情報を取得する
- データを集計して、費用の大きいサービスを探す
- 改善方法を考える
- 分析結果をレポートとして保存する
このように、AIが考える力とツールを組み合わせることで、単なるチャットではなく、実際に仕事を進めるエージェントになります。
Strands Agentsとは
Strands Agentsは、AWSがオープンソースで公開しているAIエージェント開発用のSDKです。
特徴の一つが、エージェント開発でよく使うツールを、標準パッケージとして利用できることです。
例えば、次のような機能が用意されています。
ファイルを扱う
ファイルを読み込んだり、新しく作成したり、必要な箇所だけを修正したりできます。
社内資料を参照するエージェントや、調査結果をレポートとして出力するエージェントに活用できます。
情報を集める
Web検索やWebページの取得、外部APIへのリクエスト、Amazon Bedrock Knowledge Basesを使った検索などに対応しています。
最新情報を調査したり、社内ドキュメントを参照しながら回答したりすることが可能です。
プログラムを実行する
Pythonやシェルコマンド、隔離された環境でのコード実行などにも対応しています。
取得したデータを集計したり、グラフや表を作ったりと、AIの回答だけでは完結しない処理を任せられます。
AWSサービスと連携する
S3やDynamoDB、LambdaをはじめとしたAWSサービスを、AIエージェントから操作できます。
AWS上に構築されたシステムの運用支援や、クラウド利用状況の分析など、実務に近いエージェントを作りやすくなります。
複数のAIを連携させる
一つのAIだけでなく、複数のエージェントを役割分担させたり、決められた手順に沿って処理を進めたりするためのツールもあります。
調査担当、分析担当、レポート作成担当のように、AIをチームとして動かす構成にも広げられます。
数行のコードで社内資料を検索できる
標準ツールの便利さが分かりやすい例が、社内資料を検索して回答するAIエージェントです。
通常、社内ドキュメントを参照するRAGを実装するには、
- 質問を検索用の形式に変換する
- 関連する資料を検索する
- 検索結果をAIに渡す
- 回答と出典を整える
といった処理が必要です。
Strands Agentsでは、Amazon Bedrock Knowledge Basesから情報を取得する標準ツールをエージェントへ渡すことで、こうした処理を簡潔に実装できます。
開発者は検索処理を一から作るのではなく、AIにどの資料を使わせ、どのような回答をさせるか
という、本来設計したい部分に集中できます。
ツールを組み合わせて、AWSコストを分析してみた
今回の記事では、標準ツールの実践例として、AWSのコスト分析エージェントも作成しました。
このエージェントは、次の処理を自動で行います。
- AWSから直近30日間のサービス別コストを取得する
- Pythonで集計し、コストの大きいサービスを特定する
- コスト削減のベストプラクティスをもとに改善案を考える
- 結果をHTMLレポートとして出力する
利用したのは、AWS操作、Python実行、ファイル出力などの標準ツールです。
それぞれの機能を個別に作り込むのではなく、既に用意されているツールを組み合わせることで、一連の業務を進めるエージェントを構築できました。
実行結果では、サービスごとのコストだけでなく、削減効果や優先順位を含む改善提案までレポートとしてまとめられました。
50種類すべてを使う必要はない
標準ツールが50種類あると聞くと、すべてを理解しなければならないように感じるかもしれません。
しかし、重要なのはツールの数ではありません。
作りたいエージェントに合わせて、必要なものを選び、組み合わせることです。
例えば、
- 社内問い合わせAIなら、ドキュメント検索とファイル読み込み
- 調査エージェントなら、Web検索とページ取得
- データ分析AIなら、API連携とPython実行
- AWS運用支援AIなら、AWS操作とレポート出力
といった形で利用できます。
ツールを組み合わせることで、一つの用途に閉じない、さまざまなAIエージェントへ発展させられます。
まとめ
Strands Agentsには、ファイル操作、情報収集、コード実行、AWS連携、画像・動画処理、マルチエージェントなど、約50種類の標準ツールが用意されています。
これらを活用することで、開発者は共通的な機能を一から作るのではなく、AIエージェントを使って、どのような業務課題を解決するかという部分に集中できます。
AIエージェント開発は、AIモデルに詳しいだけでは完成しません。
業務を分解し、必要な機能を選び、安全性を考えながら一つの流れとして設計することが重要です。
Acroquestでは、新しいAI技術を試すだけでなく、実際の業務でどう活用できるかを考え、検証しています。
AIエージェントの仕組みに興味がある方や、クラウドとAIを組み合わせたシステム開発に挑戦したい方は、ぜひ私たちと一緒に新しい活用方法を考えてみませんか。
具体的なツールのまとめ、検証に用いた実装コードなど詳しくは当社技術ブログに記載しておりますので、詳細を知りたい場合はこちらをご覧ください。
ぜひ、当社で一緒に働いてみませんか?
チャレンジングな案件が多く、成長の機会が多く得られる環境です
当社では、機械学習/AIや生成AIに加えて、AWSやAzureを活用したITサービス開発事業を推進しています。そこで、最先端技術を駆使しながら、社会を進化させたい情熱とスキルのある機械学習・AIエンジニア、クラウドエンジニアを募集しています!
私たちが取り組む案件は、最先端技術を用いる内容や高難易度の内容が多く、チャレンジングな環境なので、成長の機会が多く得られることをお約束します。
/assets/images/10338/original/b4c1f58c-4c92-447a-a0cc-671371e80f3a.png?1392712942)