
5
エージェントとツールの利用
5.7
前節までで、RAGを LangChainで実現する方法を学びました。RAG では、LLMに行わせ
るタスクに関連する知識をプロンプトに組み込むことでLLM の応答の質を高めることができ
ます。一方、本節で紹介するエージェントは、LLMに論理的推論能力を駆使させることで複
雑なタスクを自律的に実行することができます。
5.7.1
エージェントの概要
ここでのエージェントとは、LLM とツールを組み合わせ、与えられたタスクを自律的に解
決する機能を持つ要素のことを指します。エージェントは5.2.6で紹介したツールを組み合わ
せて使うことで、外部の環境とのやり取りを通してより複雑なタスクを実行することができま
す。
エージェントは、与えられたプロンプトに対して、LLMの論理的推論(Reasoning)能力を
用いて、自動的に一連のツール呼び出しの順序や条件を決定します。エージェントの動作は、
3.8で示したReAct に基づいています。エージェントはLLMを用いて、論理的推論
(Reasoning)とツール呼び出し(Action)を自動的に繰り返すことにより、プロンプトで与え
られたタスクを実行します。
LangChainでは、エージェントを作成するためのAPI として、エージェントを作成するた
めのクラスと関数を提供しています。表5.7.1 に、LangChainで提供される主要なエージェン
ト関連のクラスと関数を示します。
create_tool_calling_agent ...