langchain-dev-guide について
langchain-dev-guideは、LangChainとLangGraphの基礎を理解している開発者向けの技術リファレンスです。実際の問題と検証済みの解決策をシナリオ別に整理し、エージェント、モデル、ミドルウェア、ストリーミング、オーケストレーション、ContextSeekの設定を扱います。
主な機能
- 01シナリオ索引とキーワード検索
- 02症状・原因・解決策で項目を整理
- 03エージェントと構造化出力のガイド
- 04モデル連携とストリーミングの参照情報
- 05ContextSeekの利用法と設定の案内
活用シーン
- 01LangGraphのミドルウェア動作を調査
- 02構造化出力やモデル連携のエラーを解決
- 03ストリーミングやマルチエージェント方式を選択
MCP 対応
MCPツールが実行時コンテキストにアクセスできない場合のトラブルシューティングを掲載しています。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ ob-labs/ agentseek --skill langchain-dev-guideインストール後、Claude Code で/langchain-dev-guideを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
reference/common-issues.mdcontextseek-middleware.mdcontextseek-params.mddeepagents.mdmiddleware.mdmodel-integration.mdmulti-agent.mdstreaming.mdstructured-output.mduser-queries.mdreference/cn-models/integration-tests.mdREADME.mdtemplate/chat_model.py詳細
LangChain 開発ガイド
LangChain/LangGraph エコシステムを使った実際のエンジニアリングで遭遇した、典型的な問題、直感に反する挙動、検証済みの解決策を体系的にまとめています。各項目は実際の開発シナリオに基づき、カテゴリ別に整理されています。
重要
このスキルはエンジニアリング実践のリファレンスであり、入門チュートリアルではありません。各項目では、開発者が LangChain の基本概念(エージェント、ツール、メッセージ、グラフ)をすでに理解していることを前提としています。
使い方
- まず、以下の「シナリオ索引」を使って、問題に該当するカテゴリファイルを探してください。
- どのカテゴリに該当するか判断できない場合は、「よくある問題のクイックリファレンス」でキーワードを直接検索してください。
- ContextSeek/セマンティックメモリについては、まず contextseek-middleware.md でシナリオを特定し、次に contextseek-params.md で具体的なパラメーター設定の問題を確認してください。
- 該当するセクションが見つかったら、詳しく読んでください。各項目は 症状 → 原因 → 解決策 → 学んだこと の構成になっています。
シナリオ索引
| カテゴリ | ファイル | 該当するシナリオ |
|---|---|---|
| Deep Agents | reference/deepagents.md | モデルの選択、ファイルシステムのバックエンド、汎用サブエージェントの無効化、ファイル権限、長期メモリ、read_file のデフォルトである100行制限による長い SKILL.md の切り詰め |
| 構造化出力 | reference/structured-output.md | モデルレベルの方式選択、create_agent の戦略、フィールドの欠落、未対応の tool_choice、スキーマのツール選択を強制した際にプロバイダー側で発生する400エラー |
| OpenAI互換モデルの統合 | reference/model-integration.md | OpenAI互換プロバイダーに対して ChatOpenAI を使う際の落とし穴、推論モデル(思考の連鎖/reasoning_content)の統合 |
| 中国語モデルの統合 | reference/cn-models/README.md | 中国語プロバイダー(DeepSeek、Qwen、GLM、Moonshot)向けの LangChain 統合クラスの生成 |
| ミドルウェア | reference/middleware.md | ミドルウェアの実行順序、state_schema のマージ、HITL の resume 値、wrap_model_call からの状態変更 |
| ストリーミング出力 | reference/streaming.md | stream_events と stream の選択、複数の LLM のトークンの見分け、ストリーミングの無効化、カスタム進捗イベント |
| マルチエージェントのオーケストレーション | reference/multi-agent.md | サブエージェントとハンドオフの比較、エージェントごとのツールとディスパッチの比較、サブエージェントの状態の取得、サブエージェントの定型処理の削減、ハンドオフ構成の迅速な構築 |
| その他のよくある問題 | reference/common-issues.md | 上記のカテゴリに当てはまらない、発生頻度の高い個別の問題。現在は、モデルとアプリケーション層の両方にデータを返すツール、ランタイムコンテキストにアクセスできない MCP ツール、invalid_tool_calls、動的なシステムプロンプトのプレースホルダーを収録 |
| ContextSeek — ユースケースのシナリオ | reference/contextseek-middleware.md | セッションをまたいだコンテキストの喪失、ツール呼び出しの監査、トピックをまたいだ知識の発見(dream)、SRE の出所情報/信頼度の追跡、エンタープライズナレッジのコールドスタート(DataPlug) |
| ContextSeek — パラメーターと設定の問題 | reference/contextseek-params.md | スコープの分離、auto_store/record_tool_calls の書き込み量、auto_compact のスロットリングとシャットダウン、retrieval_tags/min_score のフィルタリング、tool_arg_overrides、dream のトリガー条件、dream アイテムの減衰、evidence_chain と chain_confidence の比較、DataPlug と ctx.add() の比較、plug() のスコープ優先順位、auto_dream の二重ゲートによるトリガー |
よくある問題のクイックリファレンス
| キーワード/エラー | 参照先 |
|---|---|
| 選ぶべきモデル/Deep Agent のパフォーマンスが低い | deepagents issue 1 |
| ファイルシステムバックエンド/ローカルファイル/ファイル権限 | deepagents issues 2 / 4 |
| デフォルトのサブエージェント/general-purpose を無効にする | deepagents issue 3 |
| 長期メモリ/ストア | deepagents issue 5 |
SKILL.md が途中で切れる/先頭 100 行しか読み込まれない/read_file の上限/段階的な情報開示 | deepagents issue 6 |
with_structured_output が None を返す/フィールドが欠落する | structured-output issue 1 |
create_agent/response_format/ProviderStrategy/ToolStrategy | structured-output issue 1 |
with_structured_output/function_calling/tool_choice が未対応/deepseek-reasoner does not support this tool_choice | structured-output issue 2 |
OpenAI 互換モデル/ChatOpenAI が動作しない | model-integration issue 1 |
推論モデル/reasoning_content/思考の連鎖が失われる | model-integration issue 2 |
| 中国語モデル/中国のプロバイダー/DeepSeek/Qwen/GLM/Moonshot | cn-models README |
埋め込み型の langchain-cn-models/統合クラスの生成 | cn-models README |
| ミドルウェアの順序がおかしい/before と after の挙動が直感に反する | middleware issue 1 |
state_schema のフィールドがマージされない/入出力の制御 | middleware issue 2 |
interrupt の再開時に値が欠落する/HITL | middleware issue 3 |
wrap_model_call 内で状態を変更しても反映されない | middleware issue 4 |
ストリーミングで astream_events と astream のどちらを選ぶか | streaming issue 1 |
| 複数の LLM におけるトークンの送信元を見分ける | streaming issue 2 |
| 特定のモデルでストリーミングを無効にする | streaming issue 3 |
| ツール内からのカスタムイベントが出力されない | streaming issue 4 |
| マルチエージェント:サブエージェントとハンドオフの比較 | multi-agent issue 1 |
| 単一のディスパッチツールとエージェントごとのツールの比較 | multi-agent issue 2 |
interrupt からサブエージェントの状態を確認できない | multi-agent issue 3 |
| サブエージェントのラッパーに定型コードが多すぎる | multi-agent issue 4 |
| ハンドオフベースのマルチエージェント構成をすばやく構築する | multi-agent issue 5 |
モデルとアプリ層の両方にデータを返すツール/artifact/Command(update=...) | common-issues issue 1 |
MCP ツールから user_id/store/状態/API キーにアクセスできない | common-issues issue 2 |
invalid_tool_calls/ツールが実行されない/不正なツール呼び出し JSON | common-issues issue 3 |
動的なシステムプロンプトのプレースホルダー/format_prompt/Jinja2 プロンプト変数 | common-issues issue 4 |
| エージェントがセッション間でコンテキストを保持できない — パーソナルアシスタントまたはサポートボット | contextseek-middleware issue 1 |
| 複数のツールを使うデータパイプラインエージェント — ツール呼び出しの判断を監査する | contextseek-middleware issue 2 |
| 調査エージェントが生のメモを蓄積する — トピックを横断したパターンを発見する | contextseek-middleware issue 3 |
| SRE インシデントの事後分析エージェント — 知識の確度と矛盾を追跡する | contextseek-middleware issue 4 |
| エンタープライズナレッジの移行 — 初日から検索に対応したエージェント | contextseek-middleware issue 5 |
コメント
Markdown 対応