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:

View full repository on GitHub →