「LLMエージェントを組みたいが、コードを書く前にまず動くものを見たい」。そんな要望に応えるのがLangflowだ。Langflow 使い方の要点は、LangChainのコンポーネント群をノードとして画面上に並べ、線でつなぐだけでAIエージェントやRAGパイプラインを組み上げられる点にある。2026年7月20日時点でGitHub上のスター数は15.2万を超え、MITライセンスのOSSとして活発に開発が続いている。
本記事では、Langflowとは何かという基本から、実際にローカルで起動して手を動かした結果、LangChain・Difyとの違い、RAG構築やMCPサーバー化といった実践的な使い方までを一気通貫で解説する。
- LangChainベースのノーコード/ローコードAIワークフロービルダー。ドラッグ&ドロップでエージェント・RAGパイプラインを設計できる
- 完成したフローはREST APIまたはMCPサーバーとしてワンクリックでデプロイでき、Claude DesktopなどMCPクライアントからツールとして呼び出せる
- Python 3.10〜3.14+
uvでローカル起動、Docker・Langflow Desktop(Windows/macOS)でも利用可能
AIエージェントの構築手段を横断的に比較したい場合は、AIエージェントフレームワーク比較2026|LangGraph・CrewAI・Dify等9種をStar数・実コードで検証も参照してほしい。
Langflowとは:概要と背景
Langflowは、LangChainをベースにしたAIワークフロー構築プラットフォームだ。公式READMEは「AIパワードのエージェントとワークフローを構築・デプロイするための強力なプラットフォーム」と説明しており、開発者向けのビジュアル編集環境と、組み込みのAPI・MCPサーバーの両方を備える。
コードを書かなくてもLLMチェーンを設計できる一方、Pythonでのソースコードアクセスも提供しているため、ノーコードで始めて必要な箇所だけコードを書き足す、という段階的な使い方ができる点が特徴だ。OpenAI・Anthropic・Google・Cohereなど主要LLMプロバイダーとベクトルデータベースを標準サポートし、成長中のAIツールライブラリと組み合わせて使う。
Langflowという名前は「LangChain」と「Flow(フロー図)」を組み合わせたもので、実際にLangChainの各コンポーネント(プロンプトテンプレート、チェーン、エージェント、メモリなど)がそのままノードとして画面に並ぶ。
LangChain自体は2022年に登場したPythonライブラリで、LLMアプリを組み立てるための部品(コンポーネント)を大量に提供してきた。ただし、コンポーネント同士をどう組み合わせるかはすべてPythonコードで記述する必要があり、非エンジニアにとっては参入障壁が高かった。Langflowはこの「組み合わせ方」の部分を画面上のノード接続に置き換えることで、LangChainの資産を活かしながらノーコードでの操作性を実現している。
Langflowを立ち上げたのはRodrigo Nader氏とGabriel Almeida氏で、2024年4月にデータベース企業DataStaxが開発元を買収したことで開発体制が拡大した。さらにIBMは2025年2月にDataStax買収を発表し、同年5月28日に買収を完了した。これにより、Langflowは現在IBM傘下のOSSプロジェクトという立ち位置になっている。買収後もリポジトリはMITライセンスのオープンソースとして公開が続いており、GitHub上の開発は活発だ。
利用形態は大きく3つある。ローカルまたは自社インフラにセルフホストするOSS版(無料)、依存関係を同梱したLangflow Desktop、そしてインフラ管理をLangflow側に任せるマネージドのLangflow Cloudだ。個人が試すだけならOSS版かDesktop版で十分で、チームで共有・運用する段階になったらセルフホストかCloudかを選ぶ、という進め方になる。実際にかかる費用はLLM APIの利用量やホスティング先に依存するため、本記事では断定的な金額は示さない。
(Pythonライブラリ)"] -->|"コンポーネントを提供"| B["Langflow
(ビジュアルビルダー)"] B -->|"ノード接続で組み立て"| C["完成したフロー"] C -->|"デプロイ"| D["REST API"] C -->|"デプロイ"| E["MCPサーバー"] style B fill:#4A90D9,color:#fff
Langflowの主な機能
Langflowの機能は、ワークフローを「作る」「試す」「配る」の3段階に整理できる。
・ビジュアルビルダー:ノードベースのUIでLLMチェーンをドラッグ&ドロップで構築する。React Flowをベースにしたキャンバス上でコンポーネント同士を線でつなぐ
・ソースコードアクセス:各コンポーネントの内部実装をPythonで確認・カスタマイズできる。ノーコードで足りない部分だけコードを書き足せる
・インタラクティブプレイグラウンド:フローを組みながらその場でテスト実行し、ステップごとに入出力を確認できる
・マルチエージェントオーケストレーション:会話管理・情報検索を伴う複数エージェントの連携フローを構築できる
・API/MCPサーバーとしてデプロイ:完成したフローをJSON出力してPythonアプリに組み込むか、REST APIとして公開する。MCPサーバーとしてエクスポートし、MCP対応クライアントのツールにすることも可能
・オブザーバビリティ:LangSmith・LangFuseなどとの連携でフローの実行ログ・トレースを可視化する
・エンタープライズ対応:構造化ロギングやGrafana/Lokiとの連携など、本番運用を想定したオブザーバビリティ機能が公式ドキュメントに用意されている
このうち特に評価が分かれやすいのが「ソースコードアクセス」と「API/MCPサーバーとしてデプロイ」の2つだ。多くのノーコードツールは画面上の操作だけで完結する代わりに、複雑なロジックを組もうとすると途中で行き詰まる。Langflowは各コンポーネントの中身がPythonコードとして公開されているため、既存ノードをコピーして条件分岐や独自APIコールを書き足す、という「ノーコードで8割、コードで2割」のハイブリッドな作り方ができる。
またMCPサーバー化は2025年以降のMCP仕様普及を受けて強化された機能で、Langflowで組んだフローをそのままAIエージェントのツールとして他のクライアントに公開できる点は、単なる「社内向けAIアプリのプロトタイピングツール」を超えた使い方を可能にしている。
オブザーバビリティ機能についても補足しておく。LangSmithやLangFuseと連携すると、フロー実行のたびにどのノードにどれだけの時間・トークンが使われたかがトレースとして記録される。プロンプトを少し変えるたびに体感で「速くなった/遅くなった」を判断するのではなく、実行ログを見ながら改善できる点は、個人の検証用途を超えてチームで運用する際に効いてくる。
Langflow 使い方:クイックスタートの手順
インストール方法は複数用意されている。もっとも手早く試せるのは、パッケージマネージャーuvを使うローカルインストールだ。前提条件はPython 3.10〜3.14。
# uvでLangflowをインストール
uv pip install langflow -U
# Langflowを起動
uv run langflow run
起動するとhttp://127.0.0.1:7860でワークスペースにアクセスできる。
コンテナ環境で動かしたい場合はDockerイメージも公式に配布されている。
# Dockerで起動する場合
docker run -p 7860:7860 langflowai/langflow:latest
起動後はhttp://localhost:7860でアクセスする。OpenAIなど外部LLMプロバイダーを使う場合は、APIキーを環境変数に設定しておく。
# LLMプロバイダーのAPIキーを設定
export OPENAI_API_KEY="your-api-key-here"
Python環境を用意したくない場合は、Windows/macOS向けのLangflow Desktopも配布されている。依存関係がすべて同梱されており、Pythonのセットアップなしにインストーラーから直接使い始められる。
リポジトリを直接触って開発に参加したい場合は、ソースからのビルドも用意されている。
# ソースからビルドして起動する場合(開発者向け)
git clone https://github.com/langflow-ai/langflow.git
cd langflow
make run_cli
いずれの方法で起動しても、最初にアクセスするのは同じワークスペース画面だ。既存コンポーネントで足りない処理は、Pythonでカスタムコンポーネントとして追加できる。最小構成は次のようになる。
# カスタムコンポーネントの最小構成例(Langflow公式ドキュメント準拠)
from langflow.custom import Component
from langflow.io import MessageTextInput, Output
from langflow.schema import Message
class HelloComponent(Component):
display_name = "Hello"
description = "入力テキストに挨拶を付け加えるカスタムノード"
inputs = [MessageTextInput(name="input_value", display_name="入力")]
outputs = [Output(display_name="出力", name="output", method="build_output")]
def build_output(self) -> Message:
return Message(text=f"こんにちは、{self.input_value} さん")
このファイルをLangflowのカスタムコンポーネントディレクトリに置くと、ワークスペースの左サイドバーに新しいノードとして表示され、既存コンポーネントと同じようにドラッグ&ドロップで使えるようになる。
Langflow 使い方を実際に検証した結果
Langflow v1.10.2(`python3 -m langflow --version`で確認)/Python 3.11.15/Linux/2026年7月20日に検証。
公式手順に沿ってuv pip install langflow -Uでインストールし、python -m langflow run --host 127.0.0.1 --port 7860を実行すると、環境初期化・コンポーネントロード・スターターsimple project登録が順に走り、以下のようなウェルカムメッセージとともに起動する。
╭─────────────────────────────────────────────────────────────────────────╮
│ Welcome to Langflow │
│ 🌟 GitHub: Star for updates → https://github.com/langflow-ai/langflow │
│ 🟢 Open Langflow → http://localhost:7860 │
╰─────────────────────────────────────────────────────────────────────────╯
起動後にcurl http://127.0.0.1:7860/を叩くとHTTP 200が返り、/api/v1/flows/のようなAPIエンドポイントは認証エラー(No authentication credentials provided)を返す。ここまでは公式手順どおりの挙動で、追加の設定なしにワークスペースとAPIの両方が起動することを確認できた。
初回起動時にはテンプレートギャラリーが表示され、「Basic Prompting」「Vector Store RAG」「Simple Agent」など用途別のスターターフローから選んで始められる。UIの表示言語は英語がデフォルトだが、Promptノードのテキスト欄は通常のテキストフィールドのため日本語入力自体に制限はない。日本語ドキュメントをRAGパイプラインに取り込む場合は、Split Textコンポーネントのチャンクサイズが文字数ベースの設定である点に注意したい。英語ドキュメントを前提にしたデフォルト値のままだと、日本語では想定より分割が細かくなる可能性がある。
テンプレートを開くと、Input・Prompt・Language Model・Output といったノードがすでに線で接続された状態で表示される。ノードをクリックするとプロバイダーやモデル名、温度パラメータなどの設定項目がサイドパネルに表示され、画面上で直接編集できる。右上の「Playground」ボタンを押すと、フローを保存しなくてもチャット形式でその場でテスト実行できる。
コードを書かずに、ノードの追加・接続・パラメータ変更だけでプロンプトチェーンの挙動を試行錯誤できる点は、READMEが謳う「視覚的な設計とインタラクティブなテスト」を素直に体感できる部分だ。
「Vector Store RAG」テンプレートを開くと、File・Split Text・Embedding Model・Vector Store・Retrieverの各ノードがすでに接続された状態で表示され、PDFをアップロードするだけでRAGパイプラインの骨格が動く状態になる。ノード同士の接続線は入出力の型(Message・Data・DataFrameなど)で色分けされており、型が合わないノード同士は接続できない設計になっている。誤った組み合わせを線でつなごうとするとUI上でエラーが表示されるため、「動かしてみたら型エラーで落ちた」という事態を接続の時点で防げる点は、コードを書かない読者にとって特に有用だ。
一方で、テンプレートから外れて独自のロジック(条件分岐、外部API呼び出し、リトライ処理など)を組み込もうとすると、既存ノードの組み合わせだけでは表現しきれない場面に行き当たる。そこで前述の「ソースコードアクセス」機能が効いてくる。ノードを右クリックして「Edit Code」を選ぶと、そのノードの実装がPythonコードとしてその場で編集できる状態になり、必要な処理を書き足してから保存すればワークフローに反映される。
実行結果がおかしいときのデバッグも画面内で完結する。各ノードの右下にあるインスペクタアイコンをクリックすると、そのノードが受け取った入力値と返した出力値がその場で確認できる。複数ノードを連鎖させたフローで「どこで期待した値と変わってしまったか」を辿るとき、コンソールログを読むよりも視覚的に追いやすい。
アーキテクチャ
Langflowは、ワークスペース上で組んだノードグラフを内部でLangChainの実行グラフに変換し、実行エンジンが処理する構成になっている。デプロイ先に応じてAPIとMCPサーバーの2つの出口を持つ点が設計上の要だ。
ワークスペース(React)"] WS -->|"フロー定義(JSON)"| ENGINE["実行エンジン
(Python/FastAPI)"] ENGINE --> LC["LangChainコンポーネント
(Prompt/Chain/Agent/Memory)"] LC --> LLM["LLMプロバイダー
OpenAI/Anthropic/Google等"] LC --> VDB["ベクトルDB
Chroma/Astra DB等"] ENGINE -->|"デプロイ"| API["REST API"] ENGINE -->|"デプロイ"| MCP["MCPサーバー"] API --> APP["自社アプリ"] MCP --> CLIENT["Claude Desktop等
MCPクライアント"] style ENGINE fill:#4A90D9,color:#fff
フロントエンドはReact/TypeScript、バックエンドはPython/FastAPIで構成され、フロー定義はJSONとして保存される。この構成のため、UIで組んだフローをそのままバージョン管理し、CI/CDでデプロイする運用も可能だ。
実行エンジンがLangChainコンポーネントを直接呼び出す設計になっているため、Langflow独自の実行系を新たに学ぶ必要がない点もポイントだ。LangChainで提供されているモデル・ツール・メモリの実装がそのまま使えるため、LangChainのアップデートに追従しやすい。
実際にソースコードを確認すると、ノードグラフの実行を担う中核クラスはsrc/lfx/src/lfx/graph/graph/base.pyのclass Graph(65行目)で定義されている。MCPサーバー化のエンドポイントはsrc/backend/base/langflow/api/v1/mcp_projects.pyにあり、get_project_sse関数(245行目)がSSE(Server-Sent Events)ベースのトランスポートを返す実装になっている。ケース2で使ったURL末尾の/sseは、この実装に対応したパスだ。
競合ツールとの比較
ノーコード/ローコードでAIワークフローを組めるツールは他にも存在する。代表的な3つを、2026年7月20日時点のGitHubスター数とあわせて比較する。
| 項目 | Langflow | LangChain | Dify |
|---|---|---|---|
| 種別 | ビジュアルフロービルダー | Pythonライブラリ(コードファースト) | ビジュアルビルダー+アプリプラットフォーム |
| GitHub Star | 約15.2万 | 約14.2万 | 約15.0万 |
| ライセンス | MIT | MIT | Apache 2.0系(一部制限あり) |
| ノーコード度 | 高い(ノード接続が基本) | 低い(コード記述が前提) | 高い(アプリテンプレート中心) |
| MCPサーバー化 | 標準機能 | 別途実装が必要 | 一部対応 |
| 向いている用途 | フローの細部を自由に組み替えたいプロトタイピング | 本番コードへの組み込み・細かい制御 | チャットボット運用・ナレッジベース管理 |
LangflowはLangChainのコンポーネントをノードとして扱うため、両者は競合というより「ライブラリとそのビジュアル層」の関係に近い。実際にLangChainをコードで書きたい場合はLangChainの使い方|日本語入門 — LLMエージェント・RAG・チェーン構築をPythonで実践を参照してほしい。
なお、RAGに特化したエンジンが必要な場合はRAGFlowのような専用OSSも選択肢になる。Langflowは汎用のワークフロービルダーであるのに対し、RAGFlowは文書のチャンク分割・検索精度チューニングに特化している点が異なる。
選定の目安をまとめると、「まずUIで動くものを見て、必要な部分だけコードに落とし込みたい」ならLangflow、「最初からコードで細部まで制御したい」ならLangChain、「チャットボットやナレッジベースをアプリとして完成させて非エンジニアに配りたい」ならDifyが向いている。3つは排他的な選択肢ではなく、実際にLangflowのフローがLangChainコンポーネントを内部で呼び出しているように、併用するケースも多い。プロトタイプはLangflowで素早く組み、本番の複雑なロジックだけLangChainのコードに書き直す、という使い分けも現実的な選択肢だ。
実践的な使い方
ケース1:RAGチャットボットを組んでAPI公開する
社内ドキュメントを検索して回答するRAGチャットボットは、Langflowの典型的な用途だ。「File」コンポーネントでPDFを読み込み、「Split Text」でチャンク分割し、「Embedding Model」でベクトル化して「Vector Store」に格納、最後に「Language Model」ノードで回答を生成する。この一連の流れをノードの接続だけで組める。
フローが完成したら、右上の「Publish」からAPIとして公開する。発行されたエンドポイントはflow-id単位でユニークなURLになっており、既存の社内システムやSlack Botから叩くだけで、ノーコードで組んだRAGチャットボットを既存の業務フローに組み込める。ドキュメントの追加・更新に合わせてVector Storeを再構築する部分だけは定期実行のバッチ処理として別途組む必要があるが、検索・回答生成のロジック自体はUI上の変更だけで継続的に調整できる。
# Langflow REST APIとしてデプロイしたフローを呼び出す例
import requests
response = requests.post(
"http://localhost:7860/api/v1/run/<flow-id>",
json={"input_value": "今月の障害対応フローを教えて", "output_type": "chat"},
headers={"x-api-key": "<your-api-key>"}
)
print(response.json())
ケース2:完成したフローをMCPサーバー化してエージェントのツールにする
Langflowで組んだフローは、MCPサーバーとしてそのままエクスポートできる。たとえば「社内FAQ検索フロー」をMCPサーバー化すれば、Claude DesktopなどMCP対応クライアントから1つのツールとして呼び出せるようになる。この仕組みを使うと、Langflow上で作った複数のフロー(FAQ検索、要約、翻訳など)を、それぞれ独立したMCPツールとして1つのエージェントにまとめて持たせることができる。ブラウザ操作を伴うエージェントと組み合わせる場合の設計はBrowser-Useの使い方|AIに実ブラウザを操作させるOSSの仕組み・導入・他ツール比較【2026】が参考になる。
{
"mcpServers": {
"langflow-faq": {
"url": "http://localhost:7860/api/v1/mcp/sse"
}
}
}
ケース3:マルチエージェントで役割分担する
「Agent」コンポーネントを複数配置し、それぞれに異なるツール(Web検索、コード実行、ファイル操作等)を割り当てることで、リサーチ担当・実行担当のように役割分担したマルチエージェント構成を組める。各エージェントノードの出力を次のエージェントの入力に接続すれば、「調査→要約→通知」のようなパイプラインを、コードでオーケストレーション処理を書かずに画面上のつなぎ替えだけで組み替えられる。エージェント設計の全体像はバイブコーディングは終わった?2026年版Agentic AIエンジニアのロードマップと進化の全体像で詳しく解説している。
# エージェント間でタスクを受け渡すフローの入力例
payload = {
"input_value": "先週のGitHub Issueを要約して、優先度順にSlackへ通知して",
"tweaks": {"Agent-1": {"tools": ["web_search", "slack_post"]}}
}
tweaksパラメータを使うと、フローを組み替えずにAPI呼び出し側からノードのパラメータ(使用ツール・モデル名など)を上書きできる。同じフロー定義を使い回しながら、呼び出しごとに担当エージェントの持ちツールを切り替える、といった運用が可能になる。マルチエージェント設計の考え方を体系的に押さえたい場合は、冒頭で紹介したAIエージェントフレームワーク比較記事で他フレームワークとの設計思想の違いも確認しておくと理解が深まる。
まとめ
Langflowは、LangChainのコンポーネントをノードとして視覚的に組み立てられるノーコード/ローコードのAIワークフロービルダーだ。プロンプトチェーンの試行錯誤をUI上で完結でき、完成したフローをAPIまたはMCPサーバーとしてそのままデプロイできる点が、コードファーストのLangChainや、アプリ完成形を重視するDifyとの違いになる。
コード記述を最小化してプロトタイピングを速めたい開発者、技術知識がなくてもAIワークフローを試したいビジネス担当者、複数モデルを組み合わせた実験を素早く回したいデータサイエンティストに向いている。スタートアップや企業が低コストでAIパイプラインの試作を回し、有望なものだけ本番へ持っていく用途にも合う。
一方で、細かいエラーハンドリングや大規模な本番運用ロジックを作り込む段階になると、結局Pythonコードでの実装力が必要になる場面も出てくる。IBM傘下という体制変更後もOSSとしての開発は継続しているが、大規模言語モデルの選定・料金体系はLLMプロバイダー側の変更に左右される点は留意しておきたい。ノーコードで始めて、必要な部分だけコードに落とし込む段階的な使い方が、最も相性が良い。
参照ソース
・langflow-ai/langflow(公式GitHubリポジトリ)
・Install and run the Langflow OSS Python package — Langflow公式ドキュメント
・Docker deployment guide — Langflow公式ドキュメント
・Langflow Desktop — 公式サイト
・IBM to Acquire DataStax(買収発表)— IBM Newsroom
・IBM Officially Closes Acquisition of DataStax(買収完了)— Database Trends and Applications
・Create custom Python components — Langflow公式ドキュメント
・langflow v1.10.2 Release Notes — GitHub Releases
・Use Langflow as an MCP server — Langflow公式ドキュメント
・Grafana and Loki — Langflow公式ドキュメント