🎉

『LangChainとLangGraphによるRAG・AIエージェント[実践]入門』の感想

2024/11/08に公開

LLM界ではチェックしていない人はいないであろう『LangChainとLangGraphによるRAG・AIエージェント[実践]入門』をご恵贈いただいたので、今日はその感想をシェアしたいと思います!

https://x.com/ueeeeniki/status/1851510425575133629

著者の一人である大嶋さんとは勉強会コミュニティStudyCoを一緒に運営しています。

StudyCoは、特にここ1.5年ぐらいはAI・LLM関連の話題を積極的に発信してきたコミュニティとして、ありがたいことに徐々に認知いただいていております。

勉強会にご参加いただき本書をご存知の方もいらっしゃるかと思いますが、書籍の特性上、セミナー形式の勉強会よりも網羅的に体系立てて説明されているのが本書の素晴らしい点かと思います。

特に、

  • ①CTOなどの職にあり、AIエージェントの概要を知りたい方
  • ②テックリードやアーキテクトとして自社ビジネスのワークフローをAIエージェントに置き換えたい方
  • ③LLMを使った新しいプロダクトを構想しており、ワークフローをLLMベースで再定義したい方

などにお読みいただければよいのではないでしょうか!

全体の感想

本書の特徴はLangChainを題材としながら、AIエージェントの外観が掴める点です。

AIエージェントに関するまとまった技術書は日本ではまだ本書ぐらいなので、AIエージェントについて知りたい方は是非お読みいただければと思います。

特に良かった点を下記で紹介したいと思います。

AIエージェントについて網羅的に解説されているのでイメージが掴める

昨今のSNS等での議論を見聞きしていると、AIエージェントという言葉が一人歩きしていて、何をAIエージェントと呼ぶべきかという定義がふわふわしているように感じます。

本書では、

エージェントとは、環境を認識し、目標を達成するために自律的に行動する存在

という『エージェントアプローチ人工知能』という本の定義を元にAIエージェントという概念を捉えています。

LLMを活用したAIエージェントは、与えられた目標を達成するために必要な行動を自ら決定し、実行することができます。(p.190)

このような定義を見るとAIエージェントは"自律性"にフォーカスがあたっていることが分かります。

また、OpenAI社が発行している「Practices for Governing Agentic AI Systems」で取り上げているエージェンティックなAIの性質として下記の4つを紹介しています。

  • 目的の複雑さ:どれだけ困難な目的を達成できるか? どれだけ幅広い目標を達成できるか?
  • 環境の複雑さ:目標を達成するための環境はどれだけ複雑か?
  • 適応性:新しい状況や予期せぬ状況にどれだけうまく対応できるか?
  • 独立した実行:どれだけ少ない人間の介入や監督で、信頼性を持って目標を達成できるか?

この定義を見ても、より汎用的で自律的である方がAIエージェントらしいということでしょう。

本書の中では、このようなAIエージェントの実例が取り上げられていたり、デザインパターンが豊富に取り上げられているので、どうすればAIエージェントを実装するのイメージが付くでしょう。

ただ、エージェントが"自律的なもの"だというとAIエージェントは1つのLLMがすべてのことをやってくれると勘違いされている方が多いように感じます。

実際、本書で紹介されているデザインパータンを見れば、エージェントは必ずしも1つのプロンプトで成立するわけではなく、複数のLLMプロンプトを組み合わせる場合があることも分かります。
LLM以外の外部のコンポーネントが必要な場合もあります。

本書を通じてAIエージェントのデザインのコツを理解することで、自社のビジネスへのAIエージェント活用のヒントを掴むことができるのではないでしょうか。

LangChain、LangSmith、LangGraphのエコシステムのイメージが付く

本書ではLangChainだけではなく、LangSmith、LangGraphというLangChainを取り巻くエコシステムについて詳しく紹介されています。

LangSmithはLLMOpsと呼ばれるLLMをリリースする前からリリースした後も継続的に評価し、改善するためのツールです。
LangGraphは、AIエージェントのグラフ構造を作るためのフレームワークです。Difyともよく比較されますが、Difyがノーコードツール/ローコードツールであるのに対し、LangGraphはフレームワークなので自由度は高いのが特徴です。

私がエンジニアチームの責任者を務めるPharmaX社でもLangGraphやLangSmithは積極活用しているので、本書と合わせてそちらもご覧いただければ、活用のイメージが掴めるのではないでしょうか。

PharmaXのLangSmithについての発信

LangSmithを使ってLLMアプリケーションを継続的に改善していく方法についてまとめています。

https://speakerdeck.com/pharma_x_tech/llmmarutiezientonohuroenziniaringuwozhi-erullm-ops

https://zenn.dev/pharmax/articles/21478167d4d4c4
https://zenn.dev/pharmax/articles/61edc477e4de17
https://zenn.dev/pharmax/articles/3dcb7f22b9efff
https://zenn.dev/pharmax/articles/5d98053894e129

PharmaXのLangGraphについての発信

LangGraphについては、本書の内容よりも少し発展的な(ニッチな?)内容も含めてまとめているので、本書を読まれて概要を掴んだ後にお読みいだければよりイメージが掴めるかもしれません。

https://zenn.dev/pharmax/articles/148bc9497d68dd
https://zenn.dev/pharmax/articles/78f2e6a51a459e
https://zenn.dev/pharmax/articles/5a1cfba82a5ed5
https://zenn.dev/pharmax/articles/508d378ce45c9e
https://zenn.dev/pharmax/articles/7d20bfe258c51b
https://zenn.dev/pharmax/articles/a9b9762c2c384e
https://zenn.dev/pharmax/articles/26be245e159590

AIエージェントの実装例が豊富なので、手を動かしながら体感できる

上記でAIエージェントのデザインパターンが豊富に紹介されていて概要が掴めるという利点をお伝えしたのですが、結局のところ手を動かしながらでないと本当の意味でイメージは掴めません。

本書の特長は概要を伝えることだけで満足せず、きちんと実装例も紹介してくれることで、手を動かして体感できるようになっている点です。

10章では、要件定義書生成のAIエージェントが取り上げられており、既存のワークフローをLLMで置き換える肌感覚が掴めるでしょう。

12章では、11章で網羅的に説明されたエージェントのデザインパターンの実装が紹介されているので、より深く理解できるように設計されています。

まとめ

本日は『LangChainとLangGraphによるRAG・AIエージェント[実践]入門』の感想をシェアしました。

本書を片手に、既存のワークフローをAIエージェントに置き換えることはもちろん、これまでにないワークフローのあり方、ビジネスのあり方を創造いただければよいのではないでしょうか。

私もこれまで以上にAI(マルチ)エージェントに関する発信を積極的に行っていきたいと思いました!

Discussion