

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# エージェント AI へのソフトウェアエージェント
<a name="new-generation"></a>

ソフトウェアエージェントは、環境、目標の理由を認識し、それに応じて行動するように設計された自律型のデジタルエンティティです。固定ロジックに従う従来のソフトウェアプログラムとは異なり、エージェントはコンテキスト入力と決定フレームワークに基づいて動作を適応させます。これにより、クラウドネイティブシステム、ロボット、インテリジェントオートメーション、現在は生成 AI オーケストレーションなどの動的な分散環境に最適です。

このセクションでは、ソフトウェアエージェントの中核的な構成要素を紹介し、認識、理由、行動モデルに基づいて、これらのコンポーネントが従来のアーキテクチャ内でどのように相互作用するかについて説明します。ここでは、生成 AI、特に大規模言語モデル (LLMs) がソフトウェアエージェントの推論と計画の方法をどのように変革したかについて説明します。これは、ルールベースのシステムから、エージェント AI のデータ駆動型の学習済みインテリジェンスへの根本的な移行を示しています。

**Topics**
+ [ソフトウェアエージェントのコア構成要素](core-modules.md)
+ [従来のエージェントアーキテクチャ: 認識、理由、行動](traditional-agents.md)
+ [生成 AI エージェント: シンボリックロジックを LLMs](generative-ai-agents.md)
+ [従来の AI とソフトウェアエージェントおよびエージェント AI の比較](comparison.md)

# ソフトウェアエージェントのコア構成要素
<a name="core-modules"></a>

次の図は、ほとんどのインテリジェントエージェントで使用されている主要な機能モジュールを示しています。各コンポーネントは、複雑な環境で自律的に動作するエージェントの能力に貢献します。

![\[インテリジェントエージェントの主要な機能モジュールとサブモジュール。\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/agentic-ai-foundations/images/functional-modules.png)


認識、理由、アクションループのコンテキストでは、エージェントの推論機能は、認知モジュールと学習モジュールの両方に分散されます。メモリと学習の統合を通じて、エージェントは過去の経験に基づく適応的推論を開発します。エージェントが環境内で動作すると、緊急のフィードバックループが作成されます。各アクションは将来の認識に影響を与え、結果として生じるエクスペリエンスは学習モジュールを通じてメモリと内部モデルに組み込まれます。この認識、推論、アクションの継続的なループにより、エージェントは時間の経過とともに改善し、認識、理由、アクションサイクル全体を完了できます。

## 認識モジュール
<a name="perception"></a>

認識モジュールを使用すると、エージェントはテキスト、オーディオ、センサーなどのさまざまな入力モダリティを通じて環境とインターフェイスできます。これらの入力は、すべての推論とアクションが基づく raw データを形成します。テキスト入力には、自然言語プロンプト、構造化コマンド、またはドキュメントが含まれる場合があります。音声入力には、話し方や環境音が含まれます。センサー入力には、ビジュアルフィード、モーションシグナル、GPS 座標などの物理データが含まれます。認識の主な機能は、この未加工データから意味のある特徴と表現を抽出することです。これにより、エージェントは現在のコンテキストについて正確で実用的な理解を構築できます。このプロセスには、特徴抽出、オブジェクトまたはイベント認識、セマンティック解釈が含まれる場合があり、認識、理由、アクションループの重要な最初のステップを形成します。効果的な認識により、ダウンストリームの推論と意思決定は、関連するup-to-date状況認識に基づいて行われます。

## 認知モジュール
<a name="cognitive"></a>

コグニティブモジュールは、ソフトウェアエージェントの議論の中核として機能します。目標主導の計画と意思決定を通じて、認識を解釈し、インテントを形成し、目的のある行動を導く責任があります。このモジュールは、入力を構造化された推論プロセスに変換します。これにより、エージェントはリアクティブではなく意図的に動作できます。これらのプロセスは、目標、計画、意思決定の 3 つの主要なサブモジュールによって管理されます。

### 目標サブモジュール
<a name="cognitive-goals"></a>

目標サブモジュールは、エージェントのインテントと方向を定義します。目標は、明示的 (場所に移動する、レポートを送信するなど) または暗黙的 (ユーザーエンゲージメントを最大化する、レイテンシーを最小化するなど) にすることができます。これらはエージェントの推論サイクルの中心であり、計画と決定のターゲット状態を提供します。

エージェントは目標に対する進捗状況を継続的に評価し、新しい認識や学習に基づいて目標の優先順位を変更または再生成する場合があります。この目標意識により、エージェントは動的な環境で適応しやすくなります。

### サブモジュールの計画
<a name="cognitive-planning"></a>

計画サブモジュールは、エージェントの現在の目標を達成するための戦略を構築します。アクションシーケンスを生成し、タスクを階層的に分解し、事前定義されたプランまたは動的に生成されたプランから選択します。

非決定的または変化する環境で効果的に運用するには、計画は静的ではありません。現代のエージェントは、chain-of-thoughtシーケンスを生成し、中間ステップとしてサブ目標を導入し、条件が変化したときにリアルタイムで計画を改訂できます。

このサブモジュールはメモリと学習と密接に接続し、エージェントは過去の結果に基づいて時間の経過とともに計画を絞り込むことができます。

### 意思決定サブモジュール
<a name="cognitive-decision-making"></a>

意思決定サブモジュールは、利用可能な計画とアクションを評価して、最も適切な次のステップを選択します。認識からのインプット、現在の計画、エージェントの目標、環境コンテキストを統合します。

意思決定は以下を考慮します。
+ 競合する目標間のトレードオフ
+ 信頼度のしきい値 (認識の不確実性など)
+ アクションの結果
+ エージェントの学習経験

アーキテクチャによっては、エージェントはシンボリック推論、ヒューリスティック、強化学習、または言語モデル (LLMs) に依存して、情報に基づいた意思決定を行う場合があります。このプロセスは、エージェントの動作をコンテキスト対応、目標整合、適応性に保ちます。

## アクションモジュール
<a name="action"></a>

アクションモジュールは、エージェントが選択した決定を実行し、外部世界または内部システムとやり取りして有意義な効果を生み出す責任があります。これは、インテントが動作に変換される認識、理由、アクションループの Act フェーズを表します。

コグニティブモジュールがアクションを選択すると、アクションモジュールは特殊なサブモジュールを通じて実行を調整します。ここで、各サブモジュールはエージェントの統合環境と一致します。
+ 物理的な介入: ロボットシステムまたは IoT デバイスに埋め込まれたエージェントの場合、このサブモジュールは決定を実際の物理的な動きまたはハードウェアレベルの指示に変換します。

  例: ロボットのステアリング、バルブのトリガー、センサーのオン。
+ 統合インタラクション: このサブモジュールは、ソフトウェアシステム、プラットフォーム、APIs。

  例: クラウドサービスへのコマンドの送信、データベースの更新、API の呼び出しによるレポートの送信。
+ ツール呼び出し: エージェントは、特殊なツールを使用して次のようなサブタスクを実行することで、多くの場合機能を拡張します。
  + 検索: 構造化ナレッジソースまたは非構造化ナレッジソースのクエリ
  + 要約: 大きなテキスト入力を高レベルの概要に圧縮する
  + 計算: 論理計算、数値計算、またはシンボリック計算の実行

  ツール呼び出しは、モジュール式の呼び出し可能なスキルを通じて複雑な動作構成を可能にします。

## 学習モジュール
<a name="learning"></a>

学習モジュールを使用すると、エージェントは経験に基づいて時間の経過とともに適応、一般化、改善できます。認識とアクションからのフィードバックを使用して、エージェントの内部モデル、戦略、決定ポリシーを継続的に改善することで、推論プロセスをサポートします。

このモジュールは、短期メモリと長期メモリの両方と連携して動作します。
+ 短期メモリ: ダイアログ状態、現在のタスク情報、最近の観測値などの一時的なコンテキストを保存します。これは、エージェントがインタラクションやタスク内で継続性を維持するのに役立ちます。
+ 長期記憶: 以前に遭遇した目標、アクションの結果、環境状態など、過去の経験からの永続的な知識をエンコードします。長期メモリにより、エージェントはパターンを認識し、戦略を再利用し、ミスの繰り返しを回避できます。

### 学習モード
<a name="learning-modes"></a>

学習モジュールは、さまざまな環境とエージェントロールをサポートする、教師あり学習、教師なし学習、強化学習など、さまざまなパラダイムをサポートしています。
+ 教師あり学習: ラベル付きの例に基づいて内部モデルを更新し、多くの場合、人間のフィードバックやトレーニングデータセットから更新します。

  例: 以前の会話に基づいてユーザーインテントを分類する方法。
+ 教師なし学習: 明示的なラベルなしでデータの非表示パターンまたは構造を識別します。

  例: 異常を検出するための環境シグナルのクラスター化。
+ 強化学習: インタラクティブ環境で累積報酬を最大化することで、試行錯誤を通じて動作を最適化します。

  例: どの戦略が最速のタスク完了につながるかを知る。

学習は、エージェントの認知モジュールと緊密に統合されます。過去の成果に基づいて計画戦略を改良し、過去の成功の評価を通じて意思決定を強化し、認識とアクションのマッピングを継続的に改善します。このクローズドラーニングとフィードバックループを通じて、エージェントは事後対応的な実行を超えて進化し、時間の経過とともに新しい目標、条件、コンテキストに適応できる自己改善システムになります。

# 従来のエージェントアーキテクチャ: 認識、理由、行動
<a name="traditional-agents"></a>

次の図は、[前のセクション](core-modules.md)で説明した構成要素が、認識、理由、行動のサイクルでどのように動作するかを示しています。

![\[コア構成要素が従来のエージェントアーキテクチャにどのように適用されるか。\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/agentic-ai-foundations/images/traditional-agent-modules.png)


## Perceive モジュール
<a name="perceive"></a>

認識モジュールは、外部ワールドとのエージェントの知覚インターフェイスとして機能します。生の環境入力を、推論を通知する構造化表現に変換します。これには、テキスト、オーディオ、センサー信号などのマルチモーダルデータの処理が含まれます。
+ テキスト入力は、ユーザーコマンド、ドキュメント、またはダイアログから取得できます。
+ 音声入力には、話し方や環境音が含まれます。
+ センサー入力は、モーション、ビジュアルフィード、GPS などの実際の信号をキャプチャします。

raw 入力が取り込まれると、認識プロセスは特徴抽出を実行し、その後にオブジェクトまたはイベントの認識とセマンティック解釈を実行して、現在の状況の意味のあるモデルを作成します。これらの出力は、ダウンストリームの意思決定のための構造化されたコンテキストを提供し、実際の観測でエージェントの推論を固定します。

## 理由モジュール
<a name="reason"></a>

理由モジュールは、エージェントのコグニティブコアです。コンテキストを評価し、インテントを策定し、適切なアクションを決定します。このモジュールは、学習した知識と推論の両方を使用して、目標主導型の動作を調整します。

理由モジュールは、緊密に統合されたサブモジュールで構成されます。
+ メモリ: 短期形式と長期形式の両方で対話状態、タスクコンテキスト、エピソード履歴を維持します。
+ ナレッジベース: シンボリックルール、オントロジー、学習モデル (埋め込み、ファクト、ポリシーなど) へのアクセスを提供します。
+ 目標と計画: 望ましい成果を定義し、それを達成するためのアクション戦略を構築します。目標は動的に更新でき、計画はフィードバックに基づいて適応的に変更できます。
+ 意思決定: オプションを比較検討し、トレードオフを評価し、次のアクションを選択することで、中央の調停エンジンとして機能します。このサブモジュールでは、信頼度しきい値、目標の調整、コンテキスト制約の要因が示されます。

これらのコンポーネントを組み合わせることで、エージェントは環境について推論し、信条を更新し、パスを選択し、一貫性のある適応的な方法で動作できます。理由モジュールは、認識と動作のギャップを埋めます。

## Act モジュール
<a name="act"></a>

act モジュールは、エージェントが選択した決定を実行するために、デジタル環境または物理環境のいずれかとやり取りしてタスクを実行します。ここで意図がアクションになります。

このモジュールには、次の 3 つの機能チャネルが含まれています。
+ アクチュエータ: 物理的に存在するエージェント (ロボットや IoT デバイスなど) の場合、 は移動、操作、シグナリングなどのハードウェアレベルのインタラクションを制御します。
+ 実行: APIs、システムの更新など、ソフトウェアベースのアクションを処理します。
+ ツール: 検索、要約、コード実行、計算、ドキュメント処理などの機能を有効にします。これらのツールは、多くの場合動的でコンテキスト対応であり、エージェントのユーティリティを拡張します。

act モジュールの出力は環境にフィードバックし、ループを閉じます。これらの結果は、エージェントによって再び認識されます。エージェントの内部状態を更新し、将来の決定を通知するため、認識、理由、行動サイクルを完了します。

# 生成 AI エージェント: シンボリックロジックを LLMs
<a name="generative-ai-agents"></a>

次の図は、大規模言語モデル (LLMs) がソフトウェアエージェントの柔軟でインテリジェントなコグニティブコアとしてどのように機能するかを示しています。静的プランライブラリとハンドコードされたルールに依存する従来のシンボリックロジックシステムとは異なり、LLMs適応的推論、コンテキストプランニング、動的ツールの使用を可能にし、エージェントが認識、理由、行動する方法を変換します。

![\[Diagram showing LLM-based agent architecture with perceive, reason, and act components.\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/agentic-ai-foundations/images/gen-ai-modules.png)


## 主な機能強化
<a name="enhancements"></a>

このアーキテクチャは、従来のエージェントアーキテクチャを次のように強化します。
+ 認識エンジンとしての LLMs: 目標、計画、クエリは** **プロンプトコンテキストとしてモデルに渡されます。LLM は推論パス (思考の連鎖など) を生成し、タスクをサブ目標に分解して、次のアクションを決定します。
+ プロンプトによるツールの使用: LLMs は、ツールの使用エージェント、または APIs を呼び出し、出力を検索、クエリ、計算、解釈するための推論とアクション (ReAct) プロンプトを通じて指示できます。
+ コンテキスト対応計画: エージェントは、ハードコードされた計画ライブラリを必要とせずに、エージェントの現在の目標、入力環境、フィードバックに基づいて計画を動的に生成または修正します。
+ プロンプトコンテキストをメモリとして: シンボリックナレッジベースを使用する代わりに、エージェントはメモリ、計画、目標をモデルに渡されるプロンプトトークンとしてエンコードします。
+ 数ショットのコンテキスト内学習による学習: LLMsプロンプトエンジニアリングを通じて動作を適応させるため、明示的な再トレーニングやリジッドプランライブラリの必要性が軽減されます。

## LLM ベースのエージェントの長期メモリの達成
<a name="long-term-memory"></a>

構造化ナレッジベースに長期メモリを保存していた従来のエージェントとは異なり、生成 AI エージェントは LLMs のコンテキストウィンドウの制限内で動作する必要があります。メモリを拡張し、永続的なインテリジェンスをサポートするために、生成 AI エージェントは、エージェントストア、検索拡張生成 (RAG)、コンテキスト内学習とプロンプト連鎖、事前トレーニングなど、いくつかの補完的な手法を使用します。

**エージェントストア: 外部長期メモリ**

エージェントの状態、ユーザー履歴、決定、結果は、長期エージェントメモリストア (ベクトルデータベース、オブジェクトストア、ドキュメントストアなど) に保存されます。関連するメモリはオンデマンドで取得され、実行時に LLM プロンプトコンテキストに挿入されます。これにより、永続的なメモリループが作成され、エージェントはセッション、タスク、またはインタラクション間で継続性を保持します。

**RAG**

RAG は、取得した知識を生成機能と組み合わせることで LLM のパフォーマンスを向上させます。目標またはクエリが発行されると、エージェントは検索インデックスを検索します (たとえば、ドキュメントのセマンティック検索、以前の会話、構造化された知識など）。取得した結果は LLM プロンプトに追加され、外部ファクトまたはパーソナライズされたコンテキストに基づいて生成されます。このメソッドは、エージェントの有効なメモリを拡張し、信頼性と事実の正確性を向上させます。

**コンテキスト内学習とプロンプト連鎖**

エージェントは、セッション内のトークンコンテキストと構造化されたプロンプト連鎖を使用して、短期的なメモリを維持します。現在の計画、以前のアクション結果、エージェントステータスなどのコンテキスト要素は、動作をガイドするために呼び出し間で渡されます。

**継続的な事前トレーニングと微調整**

ドメイン固有のエージェントの場合、LLMs はログ、エンタープライズデータ、製品ドキュメントなどのカスタムコレクションで事前トレーニングを継続できます。または、ヒューマンフィードバック (RLHF) からの命令ファインチューニングまたは強化学習は、エージェントのような動作をモデルに直接埋め込むことができます。これにより、推論パターンがプロンプト時間ロジックからモデルの内部表現に移行し、プロンプトの長さが短縮され、効率が向上します。

## エージェント AI の利点の組み合わせ
<a name="benefits"></a>

これらの手法を一緒に使用すると、生成 AI エージェントは次のことが可能になります。
+ 経時的なコンテキスト認識を維持します。
+ ユーザー履歴または設定に基づいて動作を適応させます。
+ up-to-date、事実、またはプライベートな知識を使用して意思決定を行います。
+ 永続的、準拠、説明可能な動作でエンタープライズユースケースにスケールします。

外部メモリ、取り出しレイヤー、継続的なトレーニングで LLMs を強化することで、エージェントはシンボリックシステムだけでは達成できなかったレベルの認知継続性と目的を達成できます。

# 従来の AI とソフトウェアエージェントおよびエージェント AI の比較
<a name="comparison"></a>

次の表は、従来の AI、ソフトウェアエージェント、エージェント AI の詳細な比較を示しています。


| 特性 | 従来の AI | ソフトウェアエージェント | エージェント AI | 
| --- | --- | --- | --- | 
|  例  |  スパムフィルター、イメージ分類子、レコメンデーションエンジン  |  チャットボット、タスクスケジューラ、モニタリングエージェント  |  AI アシスタント、自律型デベロッパーエージェント、マルチエージェント LLM オーケストレーション  | 
|  実行モデル  |  バッチまたは同期  |  イベント駆動型またはスケジュール型  |  非同期、イベント駆動型、目標駆動型  | 
|  自律性  |  制限あり。多くの場合、人間または外部のオーケストレーションが必要です  |  中、事前定義された境界内で独立して動作する  |  高い。適応戦略で独立して行動する  | 
|  応答性  |  入力データに反応する  |  環境とイベントに反応する  |  リアクティブでプロアクティブ。アクションを予測して開始します  | 
|  プロアクティブ  |  まれ  |  一部のシステムに存在する  |  コア属性。目標指向の動作を促進  | 
|  コミュニケーション  |  最小、通常はスタンドアロンまたは API バインド  |  エージェント間またはエージェントヒューマンメッセージング  |  豊富なマルチエージェントとヒューhuman-in-the-loopインタラクション  | 
|  意思決定  |  モデル推論のみ (分類、予測など)  |  シンボリック推論、ルールベースまたはスクリプトによる決定  |  コンテキスト、目標ベース、動的推論 (多くの場合、LLM 拡張)  | 
|  委任インテント  |  いいえ。ユーザーが直接定義したタスクを実行します  |  部分的。範囲が限定されたユーザーまたはシステムに代わって動作します。  |  はい。多くの場合、サービス、ユーザー、またはシステム間で、委任された目標に基づいて行動します  | 
|  学習と適応  |  多くの場合、モデル中心 (ML トレーニングなど)  |  ときに適応的  |  埋め込み学習、メモリ、推論 (フィードバック、自己修正など)  | 
|  エージェンシー  |  なし、人間用のツール  |  暗黙的または基本的  |  明示的。目的、目標、自己指示で動作する  | 
|  コンテキスト認識  |  低、ステートレスまたはスナップショットベース  |  中程度、一部の状態追跡  |  高。メモリ、状況コンテキスト、環境モデルを使用する  | 
|  インフラストラクチャロール  |  アプリケーションまたは分析パイプラインに埋め込む  |  ミドルウェアまたはサービスレイヤーコンポーネント  |  クラウド、サーバーレス、またはエッジシステムと統合された構成可能なエージェントメッシュ  | 

要約は、以下のとおりです。
+ 従来の AI はツール中心で機能的に狭くなっています。予測または分類に焦点を当てています。
+ 従来のソフトウェアエージェントは、自律性と基本的な通信を導入しますが、多くの場合、ルールバインドまたは静的です。
+ エージェント AI は、自律性、非同期性、エージェンシーを結び付けます。これにより、複雑なシステム内で推論、行動、適応できるインテリジェントな目標駆動型エンティティが可能になります。これにより、エージェント AI はクラウドネイティブで AI 主導の未来に最適です。