
AI Agent Vol.3【Agent の 学習と評価】

前回の記事(AI Agent 第2回 : Agentの4つの要素)では、AI Agentの作成のために考慮すべき構成要素について、「Profile」「Memory」「Planning」「Action」の4つに着目して解説しました。
第3回では、AI Agentのサーヴェイ論文「 A Survey on Large Language Model based Autonomous Agents 」をもとに、AI Agentの学習方法や評価方法について紹介していきます。
第1回~第2回では、主にLLMの能力を上手く活用するためのエージェントアーキテクチャについて紹介しました。
一方で、AI Agentではタスク固有の能力や経験が不足し、アーキテクチャの工夫だけでは不十分であることがあります。
そこで今回の記事では、エージェントに知識や経験を獲得させるための方法について
紹介します。
AI Agentとは(復習)
AI Agentとは、与えられた目標の達成のために自律的に判断および行動ができる人工知能システムのことを指します。LLMsやRAGが、人間による指示に対して単発的に応答するのに対して、AI Agent では目標達成までに必要な過程を自ら推論し、複数のタスクを実行することができます。
LLMを活用したAI Agentは、LLMをコントローラとしてタスク達成のための計画を練りながら、様々なツールを動作させることで、人間のような意思決定能力を獲得しています。
これによって、人間による追加入力を必要とせずに複雑なタスクを実行可能となることが期待されています。
AI Agentの学習方法
LLMの応答能力が不足している場合、目的のタスクや専門知識の補強のために専用のデータセットを使ったFine Tuningや、知識を直接挿入するPrompt Engineeringを用いてLLMを強化する方法が多く用いられます。
一方で、AI Agentの能力が不足する場合にはAgentの学習を想定したアーキテクチャの設計によって能力向上を目指す方法が用いられます。
本章では、AI Agentの能力向上のための学習方法の選択肢について、従来の言語モデルの能力獲得方法に加えてAI Agent固有の戦略について紹介します。
【図1】AI Agentの能力獲得戦略
(A Survey on Large Language Model based Autonomous Agents Fig.4より引用 )
▍Without Finetuning
FineTuningを行うことで、追加知識をLLMに与えることができる一方、本来もっていた汎用性が消失する可能性があります。
また、LLMは非常に多くのパラメータをもつため学習に多くの計算資源と時間を必要とします。これに対してLLMの登場以降では、LLMのFineTuningを行わずに入力やアーキテクチャの調整によってエージェントに追加の知識を与える方法が用いられています。
▍ Prompt Engineering
Prompt Engineeringは、LLMに自然言語によって指示を与え、より効果的な出力を得るための手法です。
追加の知識を与える場合には、タスクの例示やドメイン情報をプロンプトに書き加えることで、LLMが本来持たない知識を使った動作を可能にすることができます。
タスクを分割して推論するCoT(Chain of Thought)や、エージェントの状態を入力に設定するSocialAGI、自己反省を実施するRetroformerといった、様々な手法が提案されています。
▍ Mechanism Engineering
AI Agentには、単一のエージェントだけでなく複数のエージェントを組み合わせて動作させることで、
より効果的な出力を得ることができます。
Mechanism Engineeringは、エージェント同士の構成を工夫することで能力向上を目指す方法です。Mechanism Engineeringによる能力獲得の戦略には、主に以下のようなものがあります。
・Try and error
評価器を組み込み、Agentの行動に対するフィードバックを得ることで、行動の修正を
行う方法です。
・Crowd sourcing
複数の異なるエージェントに同様のタスクを実施させ、複数の回答を比較したうえで
最終的な回答を生成することで能力を高める手法です。
・Experience accumulation
Agentの経験の蓄積によって能力を向上させる手法です。類似タスクの達成経験の活用や
過去ログから生成した知識ベースの利用等が例に挙げられます。
・Self-driven evolution
運用の中でAgentの状態を自己修正することで徐々に能力を向上させる手法です。
報酬関数のフィードバックによって、Agentの目標を設定する手法やAgentの役割/関係を
動的に調整する手法が用いられています。
AI Agentの評価
AI Agentでは、LLM単体の場合と同様に出力の評価を行う必要がありますが、タスクの複雑さや出力/動作の柔軟さから評価が困難であるため、状況に合わせた様々な評価方法が用いられています。
Agentの評価では、データセットの有無やタスクの目的に合わせて、主観的評価と客観的評価が実施されます。
Handcrafting:
手作業によって各Agentの役割を定義する方法です。
性格特性や役割を柔軟に割り当てることができる一方で、扱うAgentが増えるほどに人手による作成コストが多くなってしまう特徴があります。
LLM-Generation:
LLMによってAgentの役割を定義する方法です。
例えば、数ショットの例のみを人手によって作成し、LLMに与えることで類似のプロファイルを作成する方法があります。この方法では、作成コストの削減が可能となる一方で、正確な制御ができず矛盾が生じやすくなる欠点があります。
Dataset-Alignment:
実在の統計データに基づき、プロフィールを作成する方法です。人種/性別/年齢といった
実人間の属性をAgentに与えることで実世界のシミュレーションに用いることができます。
▍主観的評価
主観的評価では、人間の判断に基づいてエージェントの能力を測定します。
この方法は、評価データセットが存在しない場合や、定量的な評価が困難である場合、主に
用いられます。
主観的評価には以下のような方法が考えられます。
Human Annotation:
人手によりAgentの出力を直接採点する評価方法です。
一例として、いくつかの観点についてのスコアを設定し、各モデルを比較する手法があります。
Turing Test:
Agentの出力であるかを人手によって区別できるかを基準に評価する方法です。
評価者がAgentと人間の結果を区別できない場合に、Agentが人間に近い能力を持つと判断
することができ、人間の動作の再現能力を評価指標としています。
近年では、上記の他にLLMを使用した主観評価の研究が増加しており、タスクの達成状況とプロセスをGPTによって評価する手法であるChemCrowや複数のAgentを用いて、討論形式でモデルの評価を行う手法であるChatEvalといった評価指標が提案されています。
▍客観的評価
客観的評価では、評価指標を用いてエージェントの能力を定量的に評価します。
主観的評価とは異なり、エージェントの能力について具体的かつ測定可能な洞察を得ることを目的としています。客観的評価の実施にはいくつかの重要な観点があり、本節では「Metrics」「Protocols」について紹介していきます。
・Metrics
エージェントの効果を客観的に評価するためには適切な評価指標を設計することが重要となります。
評価指標はエージェントの品質を正しく反映し、実世界における人間の感覚と一致するものを用いる必要があります。
主な評価指標には、以下のようなものがあります。
Task success:
タスクの達成度を評価指標とする方法であり、タスクの成功率や報酬関数のスコア、精度等を用います。
Human similarity:
人間の出力との類似度を評価指標とする方法です。
対話の類似性や人間による反応の模倣度合いを指標とすることで、人間の動きをどれだけ再現できるかを評価します。
Efficiency:
タスクの達成過程での推論速度やAgentの対話数に基づき、Agentの効率を評価する方法です。
・Protocols
客観的評価の実施において、どのように評価指標を活用するかにも、いくつかの選択肢が
存在しています。
評価指標の主な活用方法については、以下のようなものがあります。
Real-world simulation:
ゲームやシミュレータ内でのAgentの動きを、タスクの成功率や人間との類似性を用いて
評価する方法です。
この方法を用いることで、現実世界におけるAgentの実用性を評価することが期待されます。
Social evaluation:
Agentにスキル評価のための共同作業や議論能力推定のための討論を行う方法です。
人間の社会性評価と同様の指標で、Agentの社会性を評価することができます。
Multi-task evaluation:
複数のタスクを含むデータセットを利用してタスクの達成率を評価することで、Agentの
汎用能力を測定する方法です。
まとめ
本稿では、AI Agentについての紹介第3弾として、AI Agentの構築手法の最新動向をまとめたサーヴェイ論文である「 A Survey on Large Language Model based Autonomous Agents 」を元に AI Agentの学習方法や評価方法について解説しました。

理工学専攻の大学院生で、主に言語AIを扱っています。大学では、生成AIを用いた学習支援アドバイスの生成について研究しています。