AI

LangChainの応用例:Agents(エージェント)とは?

この記事では、LangChainの中でも最も注目されている機能のひとつ「Agents(エージェント)」について解説します。
エージェントとは、一言でいえば「AIが自ら判断して外部ツールを使う仕組み」です。
ChatGPTのように単にテキストを生成するだけでなく、“AIが行動する”段階へと進化させるのがLangChain Agentsの役割です。

まずはかんたんに:AIが「考えて、行動する」仕組み

これまでのLLM(大規模言語モデル)は、入力されたテキストに対して最も適切な出力を生成することしかできませんでした。
しかし、業務でAIを使うと「データを検索したい」「APIを叩きたい」「計算結果をもとに判断したい」といった、“外の世界”との連携が必要になります。

ここで登場するのがLangChainのAgentです。
Agentはまるで“AIの手足”のような存在で、ツールを選び、呼び出し、結果を理解して次のアクションを決めます。

イメージとしては、次のような「自律アシスタント」です:

ユーザー:「今日のドル円レートを教えて」
AI(Agent):「検索ツールを使おう」→ Web APIを呼び出し → 「現在のレートは151.3円です」

このように、Agentは「どのツールをどう使うべきか」をAI自身が考えて決定します。
まるで人間が「電卓を使うか」「Google検索するか」を判断するのと同じような知的行動を再現できるのです。

もう少し深く知る:LangChain Agentの仕組み

LangChainのエージェントは、次の主要な構成要素によって動作します。

1. Tools(ツール)

Agentが使える外部機能を定義します。たとえば:

  • Web検索API(SerpAPIなど)
  • 計算機(Pythonのeval関数やMathツール)
  • データベースクエリ(SQLDatabaseChain)
  • ファイル操作、メール送信、外部API連携など

これらのツールを「AIにとっての行動オプション」として登録します。

2. Agent(エージェント本体)

Agentは、与えられたタスクを達成するために「どのツールを使うか」を決定し、実際にツールを呼び出して結果を評価します。
LangChainでは initialize_agent() 関数を使って、LLM・ツール・エージェントタイプをまとめて初期化します。

3. AgentType(行動戦略)

LangChainには複数のAgentタイプが用意されています。代表的なものは以下の通りです:

  • ZERO_SHOT_REACT_DESCRIPTION: 最も基本的なタイプ。LLMがツールの説明を読んで、自分でどれを使うか判断する。
  • CONVERSATIONAL_REACT_DESCRIPTION: 会話の履歴を保持しながら、状況に応じて行動を決める。
  • STRUCTURED_CHAT_ZERO_SHOT_REACT_DESCRIPTION: 明確な構造を持ったチャット型エージェント。

これらのタイプを使い分けることで、単純な質問応答から複雑なマルチステップ推論まで柔軟に対応できます。

4. Thought → Action → Observation というループ

Agentの中では、AIが以下のプロセスを繰り返します:

Thought(考える) → Action(ツールを使う) → Observation(結果を確認) → 再びThought(次を考える)

この循環により、AIは段階的に推論を深めながら最終回答へたどり着きます。
この仕組みを「ReAct(Reason + Act)」と呼びます。

使用例:LangChainで動くエージェントのサンプル

以下は、LangChainでWeb検索+計算ができるAgentを構築するPythonサンプルです。


# LangChain Agentの基本例
from langchain.agents import initialize_agent, load_tools, AgentType
from langchain.llms import OpenAI

# 1. モデルを定義
llm = OpenAI(model_name="gpt-4-turbo")

# 2. ツールを読み込む(例:検索+計算)
tools = load_tools(["serpapi", "llm-math"], llm=llm)

# 3. Agentを初期化
agent = initialize_agent(
    tools=tools,
    llm=llm,
    agent_type=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
    verbose=True
)

# 4. 実行
result = agent.run("今日のドル円レートを調べて、100ドルを円に換算してください。")
print(result)

このコードでは、AIが「検索」と「計算」を自動的に選択し、ツールを順番に実行して結果を返します。
つまり、AIが“自分で考えて手を動かす”状態を再現しているわけです。

注意点:

  • Agentがツールを誤って使うことがあるため、結果を常に検証する。
  • 実行コスト(APIコール数)が増えるため、用途に応じた最適化が必要。
  • ユーザー入力の安全性(SQLインジェクションなど)にも注意。

まとめ:LangChain Agentsが切り開く「自律AIアプリ」の世界

LangChain Agentsは、単なるチャットボットを超えて「自分で調べて、判断して、動くAI」を作るための基盤です。
RAG(検索拡張生成)と組み合わせれば、「自社データを理解して、適切なツールで処理するAIエージェント」を構築できます。

初心者へのアドバイス:

  • まずは1〜2個のツール(計算・検索)を使うAgentを試す
  • ツールの説明文を丁寧に書くと、AIの行動精度が上がる

中級者へのヒント:

  • 複数ステップのタスクを自動処理するマルチエージェント構成に挑戦
  • LangGraph(エージェントの可視化・制御拡張)を併用する
  • エージェントの「思考ログ」を記録・分析して改善する(LangSmith活用)

LangChain Agentsは「AIが自ら考えて行動する」仕組みをソフトウェアに統合する鍵です。
近い将来、RAG+Agents構成がAIアプリ開発の標準アーキテクチャになるでしょう。