wangyuxun6699/learn_claude_code_langchain
56 stars · Last commit 2026-09-30
Rebuild Claude Code's agent harness step by step with LangChain and LangGraph — from agent loops and tools to permissions, subagents, context compaction, memory, and recovery.
README preview
# Learn Claude Code — LangChain Agent Harness 版 > **命名说明**:仓库目录名与 `.env.example` 里的 `langchain4j` 是历史遗留(`LangChain4j` 是 Java 库,与本项目无关)。 > 本项目是**纯 Python** 实现(LangChain 1.x + LangGraph + OpenAI-compatible ChatModel),仓库内没有任何 Java 文件。 框架选对了,代码量最多可以少一半。这个仓库基于 [LangChain](https://github.com/langchain-ai/langchain) 和 [LangGraph](https://github.com/langchain-ai/langgraph),深入拆解 Claude Code 这类 coding agent 的 Harness。 本项目已对齐 [shareAI-lab/learn-claude-code](https://github.com/shareAI-lab/learn-claude-code) 的 17 章源码结构(功能同步基线:`08263f49b3d5c895ea61d56a3737d8eebe624f20`;本次结构核对:main `0dcafa2ae053a1ddd6a72f265431104b08a5aa13`)。章节中的 Agent Loop、工具协议、Hook、Context、Task、Team、Workflow 与 Goal 实现保留上游结构;s01 使用 LangChain `create_agent` 展示框架提供的最小 Agent,s02 沿用同一 Agent Loop 增加结构化工具,后续章节再逐步展开 Harness 机制。 > Agency 来自模型,Agent 产品 = 模型 + Harness。 模型负责理解、推理和决策;Harness 负责工具执行、权限、生命周期、上下文、记忆、委派与恢复。本项目的目标不是重新发明模型,而是用逐章可运行的 LangChain 代码理解 Claude Code 一类 coding agent 的工程机制。 ## 核心模式 第一章用 LangChain `create_agent` 对齐参考实现的“一个 Bash 工具 + 一个 Agent Loop”,并通过 `stream` 实时输出模型 token: ```python @tool def bash(command: str) -> str: