jpskill.com
🛠️ 開発・MCP コミュニティ

langchain-langgraph-coding-assistant

LangChainやLangGraphのコード作成時、RAGやAgentなどの機能モジュール実装を、豊富なサンプルコードで支援するSkill。

📜 元の英語説明(参考)

当用户需要编写LangChain或LangGraph相关代码时,提供基于示例代码的编码辅助,包括RAG、Agent、工作流、工具定义、中间件等多种功能模块的实现指导。

🇯🇵 日本人クリエイター向け解説

一言でいうと

LangChainやLangGraphのコード作成時、RAGやAgentなどの機能モジュール実装を、豊富なサンプルコードで支援するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o langchain-langgraph-coding-assistant.zip https://jpskill.com/download/6798.zip && unzip -o langchain-langgraph-coding-assistant.zip && rm langchain-langgraph-coding-assistant.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/6798.zip -OutFile "$d\langchain-langgraph-coding-assistant.zip"; Expand-Archive "$d\langchain-langgraph-coding-assistant.zip" -DestinationPath $d -Force; ri "$d\langchain-langgraph-coding-assistant.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して langchain-langgraph-coding-assistant.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → langchain-langgraph-coding-assistant フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-17
取得日時
2026-05-17
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

[Skill 名] langchain-langgraph-coding-assistant

LangChain & LangGraph プログラミングアシスタント

説明

このスキルは、LangChainおよびLangGraphフレームワークのプログラミング支援機能を提供します。ユーザーが関連コードの記述を必要とする場合、エージェントはユーザーの要求に基づき、resourcesフォルダー内のサンプルコードを参照して、コーディング作業を支援します。resourcesフォルダーには、RAG、Agent、ワークフロー、ツール定義、ミドルウェア、大規模言語モデル呼び出しなど、複数の機能モジュールをカバーする豊富なサンプルコードが含まれています。

使用シナリオ

ユーザーがLangChainまたはLangGraphフレームワークの使用を明確に要求した場合に、このスキルがトリガーされます。

  • LangChainを使用してコードを記述することを明確に言及している場合
  • LangGraphを使用してコードを記述することを明確に言及している場合
  • LangChainのAPI(ドキュメントローダー、ベクターストア、ツールなど)の使用を明確に要求している場合
  • LangGraphのAPI(StateGraph、関数型API、グラフAPIなど)の使用を明確に要求している場合
  • resourcesフォルダー内のLangChain/LangGraphサンプルコードを参照するよう要求している場合
  • LangChainの特定の機能(Agent、RAG、ミドルウェアなど)の使用に言及し、そのフレームワークの使用を示唆している場合
  • LangGraphの特定の機能(ワークフロー、サブグラフ、中断など)の使用に言及し、そのフレームワークの使用を示唆している場合

指示

1. 要件分析

  • ユーザーの具体的な要件を注意深く分析し、実装する必要がある機能モジュールを特定します。
  • ユーザーが使用する技術スタック(LangChain、LangGraph、またはその両方の組み合わせ)を識別します。
  • 参照する必要があるサンプルコードが格納されているresourcesサブディレクトリを特定します。

2. 関連するサンプルを検索

ユーザーの要件に基づき、resourcesフォルダー内で対応するサンプルコードを検索します。

RAG関連の要件

  • ドキュメントの読み込み:resources/RAG/document_loaders.py
  • テキスト分割:resources/RAG/splitters.py
  • ベクターストア:resources/RAG/vectorstores_retrievers.py

Agent関連の要件

  • Agentの作成:resources/agent/create_agent.py
  • ミドルウェアの実装:resources/agent/middleware.py
  • カスタムモデル:resources/agent/ChatOpenAIModel_LangChian.py

ワークフロー関連の要件

  • 関数型API:resources/functional(workflow)_api/
  • グラフAPI:resources/graph-api/
  • ワークフローの比較:resources/工作流_图_对比/
    • チェーンプロンプト:chain_prompt_graph.py / chain_prompt_workflow.py
    • 評価器-最適化器:evaluator_optimizer_graph.py / evaluator_optimizer_workflow.py
    • 並列化:parallelization_graph.py / parallelization_workflow.py
    • プランナー-ワーカー:planner_worker_graph.py / planner_worker_workflow.py
    • ReActエージェント:react_agent_graph.py / react_agent_workflow.py
    • ルーティングワークフロー:routing_graph.py / routing_workflow.py

ツール定義関連の要件

  • 基本的なツール定義:resources/工具定义/tool_define.py
  • Commandツール:resources/工具定义/tool_command.py
  • メモリ保存:resources/工具定义/tool_memery_store.py
  • ランタイムコンテキスト:resources/工具定义/tool_runtime_context.py
  • ストリーミング書き込み:resources/工具定义/tool_stream_writer.py

ミドルウェア関連の要件

  • クラスベースのミドルウェア:resources/中间件/class_based_middleware.py
  • デコレータベースのミドルウェア:resources/中间件/decorator_based_middleware.py
  • コンテキスト編集:resources/中间件/context_editing.py
  • 人間によるレビュー:resources/中间件/human_in_the_loop.py
  • LLMツール選択:resources/中间件/llm_tool_selector.py
  • モデル呼び出し制限:resources/中间件/model_call_limit.py
  • モデルフォールバック:resources/中间件/model_fallback.py
  • PII検出:resources/中间件/pii_detection.py
  • プランニング:resources/中间件/planning.py
  • 要約:resources/中间件/summary.py
  • ツール呼び出し制限:resources/中间件/tool_call_limit.py
  • ツールリトライ:resources/中间件/tool_retry.py

大規模言語モデル呼び出し関連の要件

  • OpenAI互換モデル:resources/大模型调用/ChatOpenAIModel_LangChian.py
  • Azure OpenAI:resources/大模型调用/Azure.py
  • Gemini:resources/大模型调用/Gemini.py
  • OpenAI公式API:resources/大模型调用/OpanAI.py

Embedding関連の要件

  • ローカルEmbedding:resources/embedding模型调用/local_embedding.py
  • クラウドEmbedding:resources/embedding模型调用/cloud_embedding.py
  • OpenAI互換Embedding:resources/embedding模型调用/opanai_embedding.py

コンテキストエンジニアリング関連の要件

  • メッセージ管理:resources/上下文工程/messages.py
  • システムプロンプト:resources/上下文工程/system_prompt.py

サブグラフ関連の要件

  • 状態共有:resources/子图/share_state.py
  • 多段階サブグラフ:resources/子图/father_son_grandson_noShareState.py
  • 永続化:resources/子图/add_persistence.py

LangGraph中断関連の要件

  • 承認または拒否:resources/langgraph中断/approve_or_reject.py
  • ツール内の中断:resources/langgraph中断/interrupts_in_tools.py
  • 状態のレビューと編集:resources/langgraph中断/review_and_edit_state.py
  • 人間入力の検証:resources/langgraph中断/validating_human_input.py

タイムトラベル関連の要件

  • タイムトラベル機能:resources/时间旅行/use_time_travel.py

MCP関連の要件

  • ローカルツールの呼び出し:resources/MCP/调用本地工具/
  • リモートMCPサービスの呼び出し:resources/MCP/调用远程mcp服务/

完全なケーススタディの参照

  • 計算機Agent:resources/案例/Calculator_Agent/
  • 詳細調査:resources/案例/Deep_Research/
  • RAG Agent:resources/案例/RAG_Agent/

3. コードの実装

  • 関連するサンプルコードのreadme.mdファイル(存在する場合)を読み、機能と使用方法を理解します。
  • サンプルコードの実装方法とコード構造を参照します。
  • ユーザーの具体的な要件に基づいて、要件を満たすコードを記述します。
  • コードスタイルがサンプルコードと一致していることを確認します。
  • カスタムモデルを使用する必要がある場合は、ChatOpenAIModel_LangChian.pyの実装を参照します。

4. 必要なインポート(重要)

コードを記述する際には、必要なすべてのインポートステートメントを含める必要があります。以下は、一般的なインポートの説明です。

一般的な基本インポート

  • typing: TypedDict, List, Any, Dict, Optional
  • typing_extensions: TypedDict(より複雑な型定義用)

LangChainコアインポート

  • langchain_core.messages: AIMessage, HumanMessage, SystemMessage, ToolMessage
  • langchain_core.prompts: ChatPromptTemplate
  • langchain_core.output_parsers: StrOutputParser
  • langchain_core.runnables: RunnablePassthrough
  • langchain.tools: tool
  • langchain.agents: create_agent

LangGraphグラフAPIインポート

  • langgraph.graph: StateGraph, START, END, MessagesState
  • langgraph.graph.message: add_messages
  • langgraph.checkpoint.memory: InMemorySaver
  • langgraph.types: interrupt

LangGraph関数型APIインポート

  • langgraph.func: entrypoint, task

LangChain Agentミドルウェアインポート

  • langchain.agents.middleware: before_model, after_model, wrap_model_call, wrap_tool_call, AgentState, ModelRequest, ModelResponse, dynamic_prompt
  • langgraph.runtime: Runtime

LangChainドキュメントローダーインポート

  • langchain_community.document_loaders.csv_loader: CSVLoader
  • langchain_community.document_loaders: JSONLoader, BSHTMLLoader
  • langchain_docling.loader: DoclingLoader

LangChainテキスト分割器インポート

  • langchain_text_splitters: RecursiveCharacterTextSplitter, CharacterTextSplitter, MarkdownHeaderTextSplitter, RecursiveJsonSplitter

LangChainベクターストアインポート

  • langchain_chroma: Chroma
  • langchain_core.vectorstores: VectorStore
  • langchain_core.embeddings: Embeddings

LangChain Embeddingインポート

  • langchain_openai: OpenAIEmbeddings
  • langchain_community.embeddings: HuggingFaceEmbeddings

LangChainモデルインポート

  • langchain_openai: ChatOpenAI
  • langchain_azure_chat_models: AzureChatOpenAI
  • langchain_google_genai: ChatGoogleGenerativeAI

LangChain RAGインポート

  • langchain.chains: RetrievalQA
  • langchain_core.runnables: RunnablePassthrough

カスタムモデルインポート

  • ChatOpenAIModel_LangChian: ChatOpenAIModel(resources内のカスタムモデルを使用する場合)

可視化インポート

  • IPython.display: Image, display

その他の一般的なインポート

  • asyncio, uuid, time, os, pathlib.Path

インポートに関する注意事項

  1. コードを提供する際には、使用するすべてのインポートステートメントを含める必要があります。
  2. コード内でクラスまたは関数を使用する場合は、インポートセクションに対応するインポートを含める必要があります。
  3. カスタムのクラスまたは関数については、そのソースを明確に説明するか、完全な定義を提供する必要があります。
  4. 読みやすさと保守性を高めるために、インポートステートメントを機能ごとにグループ化することをお勧めします。
  5. サードパーティライブラリを使用する場合は、ユーザーに適切な依存関係パッケージのインストールを促す必要があります。

5. コードの説明

  • 主要なロジックを説明する明確なコードコメントを提供します。
  • コードの動作原理と使用方法を説明します。
  • コードで使用されているLangChain/LangGraphのコアコンセプトとAPIを指摘します。
  • 複雑な機能が含まれる場合は、使用例を提供します。

6. 注意事項

  • resourcesフォルダー内のサンプルコードは一切変更しないでください。
  • サンプルコードを参照する際は、その設計思想と実装方法を理解してください。
  • ユーザーの実際の要件に合わせて適応および調整してください。
  • コードの正確性と実行可能性を確保してください。
  • APIキーなどの機密情報が含まれる場合は、ユーザーに自己設定を促してください。

よくあるエラーと解決策

  1. インポートステートメントの欠落

    • エラー:NameError: name 'AIMessage' is not defined
    • 解決策:from langchain_core.messages import AIMessage, HumanMessage, SystemMessage, ToolMessage がインポートされていることを確認してください。
  2. 型定義の欠落

    • エラー:NameError: name 'TypedDict' is not defined
    • 解決策:fr がインポートされていることを確認してください。
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

LangChain & LangGraph 编程助手

描述

本技能提供LangChain和LangGraph框架的编程辅助功能。当用户需要编写相关代码时,智能体将根据用户需求,参考resources文件夹中的示例代码,协助用户完成编码工作。resources文件夹包含了丰富的示例代码,涵盖RAG、Agent、工作流、工具定义、中间件、大模型调用等多个功能模块。

使用场景

当用户明确要求使用LangChain或LangGraph框架时,触发此技能:

  • 明确提到使用LangChain编写代码
  • 明确提到使用LangGraph编写代码
  • 明确要求使用LangChain的API(如文档加载器、向量存储、工具等)
  • 明确要求使用LangGraph的API(如StateGraph、函数式API、图API等)
  • 要求参考resources文件夹中的LangChain/LangGraph示例代码
  • 提到使用LangChain的特定功能(如Agent、RAG、中间件等)并暗示使用该框架
  • 提到使用LangGraph的特定功能(如工作流、子图、中断等)并暗示使用该框架

指令

1. 需求分析

  • 仔细分析用户的具体需求,确定需要实现的功能模块
  • 识别用户使用的技术栈(LangChain、LangGraph或两者结合)
  • 确定需要参考的示例代码所在的resources子目录

2. 查找相关示例

根据用户需求,在resources文件夹中查找对应的示例代码:

RAG相关需求

  • 文档加载:resources/RAG/document_loaders.py
  • 文本分割:resources/RAG/splitters.py
  • 向量存储:resources/RAG/vectorstores_retrievers.py

Agent相关需求

  • Agent创建:resources/agent/create_agent.py
  • 中间件实现:resources/agent/middleware.py
  • 自定义模型:resources/agent/ChatOpenAIModel_LangChian.py

工作流相关需求

  • 函数式API:resources/functional(workflow)_api/
  • 图API:resources/graph-api/
  • 工作流对比:resources/工作流_图_对比/
    • 链式提示:chain_prompt_graph.py / chain_prompt_workflow.py
    • 评估器-优化器:evaluator_optimizer_graph.py / evaluator_optimizer_workflow.py
    • 并行化:parallelization_graph.py / parallelization_workflow.py
    • 计划器-工作者:planner_worker_graph.py / planner_worker_workflow.py
    • ReAct智能体:react_agent_graph.py / react_agent_workflow.py
    • 路由工作流:routing_graph.py / routing_workflow.py

工具定义相关需求

  • 基本工具定义:resources/工具定义/tool_define.py
  • Command工具:resources/工具定义/tool_command.py
  • 内存存储:resources/工具定义/tool_memery_store.py
  • 运行时上下文:resources/工具定义/tool_runtime_context.py
  • 流式写入:resources/工具定义/tool_stream_writer.py

中间件相关需求

  • 基于类的中间件:resources/中间件/class_based_middleware.py
  • 基于装饰器的中间件:resources/中间件/decorator_based_middleware.py
  • 上下文编辑:resources/中间件/context_editing.py
  • 人工审核:resources/中间件/human_in_the_loop.py
  • LLM工具选择:resources/中间件/llm_tool_selector.py
  • 模型调用限制:resources/中间件/model_call_limit.py
  • 模型回退:resources/中间件/model_fallback.py
  • PII检测:resources/中间件/pii_detection.py
  • 规划:resources/中间件/planning.py
  • 摘要:resources/中间件/summary.py
  • 工具调用限制:resources/中间件/tool_call_limit.py
  • 工具重试:resources/中间件/tool_retry.py

大模型调用相关需求

  • OpenAI兼容模型:resources/大模型调用/ChatOpenAIModel_LangChian.py
  • Azure OpenAI:resources/大模型调用/Azure.py
  • Gemini:resources/大模型调用/Gemini.py
  • OpenAI官方API:resources/大模型调用/OpanAI.py

Embedding相关需求

  • 本地Embedding:resources/embedding模型调用/local_embedding.py
  • 云端Embedding:resources/embedding模型调用/cloud_embedding.py
  • OpenAI兼容Embedding:resources/embedding模型调用/opanai_embedding.py

上下文工程相关需求

  • 消息管理:resources/上下文工程/messages.py
  • 系统提示:resources/上下文工程/system_prompt.py

子图相关需求

  • 状态共享:resources/子图/share_state.py
  • 多级子图:resources/子图/father_son_grandson_noShareState.py
  • 持久化:resources/子图/add_persistence.py

LangGraph中断相关需求

  • 审批或拒绝:resources/langgraph中断/approve_or_reject.py
  • 工具中的中断:resources/langgraph中断/interrupts_in_tools.py
  • 审查和编辑状态:resources/langgraph中断/review_and_edit_state.py
  • 验证人工输入:resources/langgraph中断/validating_human_input.py

时间旅行相关需求

  • 时间旅行功能:resources/时间旅行/use_time_travel.py

MCP相关需求

  • 调用本地工具:resources/MCP/调用本地工具/
  • 调用远程MCP服务:resources/MCP/调用远程mcp服务/

完整案例参考

  • 计算器Agent:resources/案例/Calculator_Agent/
  • 深度研究:resources/案例/Deep_Research/
  • RAG Agent:resources/案例/RAG_Agent/

3. 代码实现

  • 阅读相关示例代码的readme.md文件(如果存在),理解功能和使用方法
  • 参考示例代码的实现方式和代码结构
  • 根据用户的具体需求,编写符合要求的代码
  • 确保代码风格与示例代码保持一致
  • 如需要使用自定义模型,参考ChatOpenAIModel_LangChian.py的实现

4. 必要导入(重要)

在编写代码时,必须确保包含所有必要的导入语句。以下是常用导入说明:

通用基础导入

  • typing: TypedDict, List, Any, Dict, Optional
  • typing_extensions: TypedDict(用于更复杂的类型定义)

LangChain核心导入

  • langchain_core.messages: AIMessage, HumanMessage, SystemMessage, ToolMessage
  • langchain_core.prompts: ChatPromptTemplate
  • langchain_core.output_parsers: StrOutputParser
  • langchain_core.runnables: RunnablePassthrough
  • langchain.tools: tool
  • langchain.agents: create_agent

LangGraph图API导入

  • langgraph.graph: StateGraph, START, END, MessagesState
  • langgraph.graph.message: add_messages
  • langgraph.checkpoint.memory: InMemorySaver
  • langgraph.types: interrupt

LangGraph函数式API导入

  • langgraph.func: entrypoint, task

LangChain Agent中间件导入

  • langchain.agents.middleware: before_model, after_model, wrap_model_call, wrap_tool_call, AgentState, ModelRequest, ModelResponse, dynamic_prompt
  • langgraph.runtime: Runtime

LangChain文档加载器导入

  • langchain_community.document_loaders.csv_loader: CSVLoader
  • langchain_community.document_loaders: JSONLoader, BSHTMLLoader
  • langchain_docling.loader: DoclingLoader

LangChain文本分割器导入

  • langchain_text_splitters: RecursiveCharacterTextSplitter, CharacterTextSplitter, MarkdownHeaderTextSplitter, RecursiveJsonSplitter

LangChain向量存储导入

  • langchain_chroma: Chroma
  • langchain_core.vectorstores: VectorStore
  • langchain_core.embeddings: Embeddings

LangChain Embedding导入

  • langchain_openai: OpenAIEmbeddings
  • langchain_community.embeddings: HuggingFaceEmbeddings

LangChain模型导入

  • langchain_openai: ChatOpenAI
  • langchain_azure_chat_models: AzureChatOpenAI
  • langchain_google_genai: ChatGoogleGenerativeAI

LangChain RAG导入

  • langchain.chains: RetrievalQA
  • langchain_core.runnables: RunnablePassthrough

自定义模型导入

  • ChatOpenAIModel_LangChian: ChatOpenAIModel(如果使用resources中的自定义模型)

可视化导入

  • IPython.display: Image, display

其他常用导入

  • asyncio, uuid, time, os, pathlib.Path

导入注意事项

  1. 在提供代码时,必须包含所有使用的导入语句
  2. 如果代码中使用了某个类或函数,必须在导入部分包含对应的导入
  3. 对于自定义的类或函数,需要明确说明其来源或提供完整定义
  4. 建议将导入语句按照功能分组,便于阅读和维护
  5. 如果使用了第三方库,需要提醒用户安装相应的依赖包

5. 代码说明

  • 提供清晰的代码注释,说明关键逻辑
  • 解释代码的工作原理和使用方法
  • 指出代码中使用的LangChain/LangGraph核心概念和API
  • 如涉及复杂功能,提供使用示例

6. 注意事项

  • 不要修改resources文件夹中的任何示例代码
  • 参考示例代码时,理解其设计思路和实现方式
  • 根据用户实际需求进行适配和调整
  • 确保代码的正确性和可运行性
  • 如涉及API密钥等敏感信息,提醒用户自行配置

常见错误及解决方案

  1. 缺少导入语句

    • 错误:NameError: name 'AIMessage' is not defined
    • 解决:确保导入了 from langchain_core.messages import AIMessage, HumanMessage, SystemMessage, ToolMessage
  2. 缺少类型定义

    • 错误:NameError: name 'TypedDict' is not defined
    • 解决:确保导入了 from typing import TypedDict 或 from typing_extensions import TypedDict
  3. 缺少工具装饰器

    • 错误:工具函数无法被识别
    • 解决:确保导入了 from langchain.tools import tool 并使用 @tool 装饰器
  4. 缺少状态定义

    • 错误:NameError: name 'State' is not defined
    • 解决:确保定义了状态类,例如 class State(TypedDict): ...
  5. 缺少图API导入

    • 错误:NameError: name 'StateGraph' is not defined
    • 解决:确保导入了 from langgraph.graph import StateGraph, START, END
  6. 缺少中间件导入

    • 错误:NameError: name 'before_model' is not defined
    • 解决:确保导入了 from langchain.agents.middleware import before_model, after_model, ...
  7. 自定义模型未导入

    • 错误:ModuleNotFoundError: No module named 'ChatOpenAIModel_LangChian'
    • 解决:确保自定义模型文件在正确路径,或提供完整的模型实现代码
  8. 第三方库未安装

    • 错误:ModuleNotFoundError: No module named 'langchain_chroma'
    • 解决:提醒用户安装相应的依赖包,例如 pip install langchain-chroma

代码质量保证

  • 在提供代码前,检查所有导入是否完整
  • 确保所有使用的类和函数都有对应的导入
  • 对于自定义的类或函数,提供完整的实现或明确说明来源
  • 建议用户在运行代码前安装必要的依赖包