各図解動画は補助教材です。本文だけでも学べます。「動画を再生」で再生できます。規程・数値は説明用の架空例で、動画は音声なしです。
LangChainは何をするものか
LangChainは、大規模言語モデル(LLM)を利用するアプリケーションを組み立てるための、オープンソースのフレームワークです。LLMは、入力された文章などをもとに応答を生成するモデルです。LangChainは、そのモデルに何を渡し、どの情報や機能と組み合わせ、返ってきた結果をどう扱うかを、プログラムから組み立てるために使います。
アプリケーションとは、質問に答える画面や申請を受け付けるサービスなど、ある目的のために動くソフトウェアです。プログラムは、コンピューターへ処理の手順を伝えるものです。この教材ではプログラムを書かずに、LangChainがその手順の中で何を担うかを学びます。オープンソースとは、その仕組みを記したソースコードが公開され、定められた利用条件(ライセンス)のもとで利用・変更などができる形を指します。
LLMの「学習」と「利用」も分けておきます。学習は、大量の文章などから言葉の関係や応答の傾向を身につける準備の段階です。利用する段階では、与えられた入力をもとに続きを作ります。これを生成と呼びます。質問するたびにモデル全体を学習し直しているわけではありません。
新しい文章や画像などを作る仕組みの総称が生成AIです。LLMは、その中で主に言葉を扱うモデルです。この教材では文章のやり取りを中心に学ぶので、まず「文章を作るモデルを、アプリケーションの一つの部品として使う」と捉えてください。
たとえば「この文章を要約してください」と一度依頼するだけなら、モデル提供会社のAPI(プログラムからモデルを利用する入口)を直接呼び出しても実現できます。一方、「社内資料を探す」「見つかった箇所を渡す」「根拠がなければ回答を保留する」「前の会話を踏まえて追加の質問に答える」となると、生成以外の処理が増えます。LangChainが役立つのは、このような処理をモデルとつなぎ、アプリケーションとして扱いたいときです。
ここでいうフレームワークとは、開発によく使う部品や、それらの組み合わせ方を提供する仕組みです。LangChain自体が社内規程を知っているわけではありません。規程を検索できる仕組みや生成モデルを用意し、それらをつなぐ役割を受け持ちます。
チャット画面でAIを使う場合との違い
チャットサービスでは、人が画面に入力し、返ってきた文章を読みます。資料を渡す、追加の質問をする、結果を別の場所へ転記する、といった操作も人が行えます。LangChainを使う場合は、それらの一部をプログラム側の処理として組み立てます。利用者が毎回同じ指示を入力しなくても、アプリケーション側で回答方針や資料の渡し方をそろえられます。
社内規程の案内を例にすると、利用者は「出張の交通費はどう申請しますか」と質問します。アプリケーションは、関連する規程を取得し、その文章と質問をモデルへ渡して、回答を利用者に返します。利用者に見えるのは一つの応答ですが、内部には検索、情報の受け渡し、生成、表示という複数の段階があります。
LangChainを使えば、こうした部品を共通した扱い方で接続できます。ただし、質問を受けるWeb画面や利用者のログイン、規程そのものの管理まで、すべてが自動的に完成するわけではありません。LangChainはアプリケーション全体の中で、主にモデルを利用する処理を担当します。
理解の中心になる四つの要素
最初は、モデル、メッセージ、外部の情報、ツールの四つを分けると理解しやすくなります。モデルは応答を生成するものです。メッセージは、モデルへ渡す指示や質問、会話の記録です。外部の情報は、社内資料など、モデルにその場で参照させたい内容です。ツールは、資料検索やデータ照会など、アプリケーションが実行できる機能です。
モデルに「残りの有給休暇を教えて」と頼んでも、モデルだけでは本人の残日数を確定できません。実際の勤怠情報を取得するツールを用意し、その結果を受け取って説明文を作る必要があります。この場合、事実を取得するのは勤怠システムにつながる処理で、文章にして伝えるのがモデルの仕事です。LangChainはその受け渡しを組み立てます。
この区別をせずに「AIが調べた」「AIが実行した」とひとまとめにすると、どこで間違いが起きたのか分からなくなります。本教材では、何をモデルに任せ、何をプログラムやデータ側で決めるのかを、繰り返し説明します。
何が作れて、何が保証されないのか
LangChainを使うと、文章の要約や分類、必要項目の抽出、会話の継続、資料に基づく回答、外部ツールを使うエージェントなどを構成できます。これらは、モデルの呼び出しに情報や処理を組み合わせた使い方です。機能の名前を増やすよりも、「どの入力を、どの部品へ渡し、どんな結果として受け取るか」を押さえることが基本です。
LangChainを導入しても、モデルが常に正しい答えを返すわけではありません。検索対象が古ければ古い情報に基づく回答になりますし、質問に合う箇所を取得できなければ、必要な根拠を渡せません。モデルが作った文章を業務上そのまま利用できるかどうかは、別途確認する必要があります。
モデルが、根拠の無い内容をもっともらしい文章として作ることは、ハルシネーションと呼ばれます。たとえば資料を渡していないのに、存在しない社内規程の条番号を答えるような場合です。「自然に読める文章」と「根拠を確認できる回答」を分けることが、LangChainを学ぶ上でも大切です。
また、LangChainの公開された部品を利用することと、接続する生成APIや外部サービスの費用は別です。このテキストを読むためのAPI契約や環境構築は必要ありません。まず仕組みを理解し、実装するときに利用するモデルやサービスを選ぶ、という順序で学べます。実装とは、考えた仕組みを実際に動くプログラムなどにすることです。
この後の学習で扱うこと
この教材では、モデルへの入力と出力を理解した後、構造化出力、会話、RAG、ツール、エージェントへ進みます。RAGは資料を参照して回答する構成、エージェントは状況に応じてモデルがツールの利用を選ぶ構成です。応用では、LangGraphを使った処理の制御や、動作の評価・改善も扱います。
どの話題も、土台は「モデルを部品として利用し、必要な情報や処理につなぐ」という考え方です。次の節では、APIを直接使う方法や、名前の似た関連製品と比較しながら、LangChainを選ぶ意味をもう少し具体的に整理します。