Software Design 2024年8月号に「第11回:LangGraphのcreate_react_agentでエージェント開発を省力化」を寄稿しました

ジェネラティブエージェンツの西見です。

技術評論社Software Design誌にて「実践LLMアプリケーション開発」という連載を担当しており、本日7月18日発売の2024年8月号にて、「第11回:LangGraphのcreate_react_agentでエージェント開発を省力化」という記事を寄稿しました。LangGraphの実装に関心のある方は、ぜひご覧頂けると嬉しいです!

8月号の特集は奇遇にもLangChainによるLLMアプリケーション開発ですので、LangChainもLangGraphもカバーできるお得な号になっております。

「第11回:LangGraphのcreate_react_agentでエージェント開発を省力化」記事概要

  • LangGraphのビルトインAPI create_react_agent の紹介と使用方法について解説
    • ツール呼び出しを伴うLLMエージェントを1つの関数で作成可能
  • create_react_agent の主要パラメータと内部動作の概要
  • リサーチエージェントのサンプルコード実装例を紹介
    • エージェントに「情報源の検索」「レポートの生成」「十分性のチェック」の3つのツールを組み込む
  • 各ツールの実装方法と、プロンプト設計のポイントを解説
  • create_react_agent を使用する際の注意点と効果的な利用方法

寄稿にあたっての所感

LangChainにおけるビルトインエージェントの実装は、create_openai_functions_agentのようなagentを生成するファクトリーメソッドと、AgentExecutorという実行のための箱を組み合わせる形になっており、ちょっと動作の全体感が掴みづらい構造になっている気がしています。加えて、LangChainにおけるagent系の実装は、LLM側のTool useのインターフェース変更とあわせてどんどんdeprecatedになっていっている感があり、であればエージェント系はLangGraph、LLM呼び出しのインターフェースはLangChainという棲み分けできっちり使い分けるのが良いのではと感じています。

というわけで、本稿ではLangGraphでcreate_openai_functions_agentのような実装をするためのcreate_react_agentの内部動作についてフォーカスして解説することにしました。create_react_agentの内部実装もLangGraphの機能を活用して作られているため、かなりシンプルで、解説も記事1回分に収まるような仕様になっています。ぜひお楽しみください。

これまでの連載

  • 2024年7月号:第10回 LangGraphで開発するCorrective Retrieval Augmented Generation
  • 2024年6月号:第9回 LangGraphで開発するリサーチエージェント
  • 2024年5月号:第8回 マルチエージェントシステム開発ライブラリ「LangGraph」
  • 2024年4月号:第7回 LangChain Expression Language 落ち穂拾い
  • 2024年3月号:第6回 LangChain安定バージョンの発表とLangChain Expression Language
  • 2024年2月号:第5回 LangChainで開発する初めてのAIエージェント(後編)
  • 2024年1月号:第4回 LangChainで開発する初めてのAIエージェント(前編)
  • 2023年12月号:第3回 LangChainの概要とライブラリを利用したチャットボット開発
  • 2023年11月号:第2回 ベクトルデータベースを活用したチャットボットの開発
  • 2023年10月号:第1回 ChatGPT APIで初めてのAIチャットボット開発