news 2026/9/29 2:28:17

五分钟跑通最小 Coding Agent:learn-claude-code 的 17 节 Agent Harness 课程完全指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
五分钟跑通最小 Coding Agent:learn-claude-code 的 17 节 Agent Harness 课程完全指南

五分钟跑通最小 Coding Agent:learn-claude-code 的 17 节 Agent Harness 课程完全指南

【免费下载链接】learn-claude-codeBash is all you need - A nano claude code–like 「agent harness」, built from 0 to 1项目地址: https://gitcode.com/GitHub_Trending/an/learn-claude-code

learn-claude-code 是一套 17 节渐进式开源课程,教你从零拼出一个能跑的 agent harness,也就是把模型包成一个 coding agent 的那层外围框架。读完可以按顺序跑通仓库里 s01 到 s17 的脚本,并看懂这类智能体的内部结构。

🚀 它解决什么问题

先想个场景。你写了个调模型的 while 循环,但它只会 bash。怎么让它读文件、跑测试、记住上次干了什么?每接一个新能力就往上堆 if-else,循环很快会变得没法读,主循环也被改得面目全非。

learn-claude-code 的思路很直接:智能交给模型,其余一切交给外围框架,也就是agent harness。工具、知识、上下文、权限都由 harness 铺好,模型只负责决定调不调工具、什么时候停,代码则执行模型的请求并把结果喂回去。

换句话说,你不用写决策树,只要给模型一双手、一张工作台,智能自己会在里面表达。具体讲,harness 递了五样东西:摸文件和命令的工具、查领域资料的知识的、看当前状态的上下文、真正动手的动作接口,以及不出格的权限边界。

⏱️ 五分钟跑起来

先克隆仓库装依赖,就三个包(anthropic、python-dotenv、pyyaml):

git clone https://gitcode.com/GitHub_Trending/an/learn-claude-code cd learn-claude-code pip install -r requirements.txt

再把仓库里的.env.example模板复制成.env,填好这几个字段:

字段必填说明
ANTHROPIC_API_KEY是Anthropic 或兼容提供方的 API Key
MODEL_ID是模型 ID,默认示例claude-sonnet-4-6
ANTHROPIC_BASE_URL否指向兼容端点,可换 GLM、Kimi、DeepSeek

然后运行python s01_agent_loop/code.py。输入一个问题回车,你会看到终端打印带$的命令、执行它、回显输出,几轮之后它自己停下并给出一句文字答复。这就是一个最小可运行的 Agent。

📚 17 节课到底在教什么

别逐节罗列,把 17 节看成五层递进的能力,每层往同一个循环上加几个 harness 机制就好:

层次包含的节一句话说明
让 Agent 动手s01–s04从单循环 + bash 到工具分派、权限边界与钩子扩展点
让它想清楚s05–s07先计划再执行、子任务隔离子 Agent、按需加载知识
让它记得住、能恢复s08–s09上下文四级压缩,加选择 / 提取 / 整理的记忆子系统
让它长跑、能协作s10–s13任务图落盘、慢操作丢后台、定时触发、多 Agent 协作
让它扩展与收尾s14–s17MCP 接外部能力、收进一个 harness、编排工作流、目标闭环

贯穿始终的是那个循环,s01 里第一次出现:

def agent_loop(messages): while True: response = client.messages.create( model=MODEL, system=SYSTEM, messages=messages, tools=TOOLS) messages.append({"role": "assistant", "content": response.content}) if response.stop_reason != "tool_use": return # 执行工具,把结果塞回 messages

有三个机制特别值得琢磨。工具分派:s02 起把工具名和 handler 放进一张表,加工具只是加一行,循环不动,这是 coding agent 能从 1 个工具扩到几十个而不重写循环的原因。上下文压缩:s08 做四级,先整理工具结果(只留最近几条),超限再摘要旧历史,因为上下文迟早溢出,总得有个腾地方的手段。目标闭环:s17 里 worker 模型想停时,一个独立 evaluator 读整段对话判断目标达没达成,没达成就把没干完的活送回同一个循环,避免"模型觉得完事了就提前收工"。

走完五层你会发现,s15 只是把前面攒下的机制重新收进一个循环,s16、s17 再在这个循环上补编排与收尾。循环是骨架,机制是血肉。

💡 工程上的几个亮点

这个项目最显眼的就是克制——每节只加一个机制,循环几乎不动。挑三个讲。

s01 只给一个工具。问题是怎么用最少的复杂度把 agent 跑起来。做法:只留 bash,退出条件完全交给模型(不调工具就停),边界就三条:危险命令黑名单、120 秒超时、输出截断到 5 万字符。效果:最小 Agent 跑起来了,安全底线也在。

s02 用一张分派表扩展。把工具调用写死在循环里,加工具就得改循环。做法:名字和 handler 进表,按工具名分派:

TOOL_HANDLERS = { "bash": run_bash, "read_file": run_read, "write_file": run_write, "edit_file": run_edit, "glob": run_glob, }

效果:加工具等于往表里加一行,像给排插多接一个插位,循环形态一点没变。

s17 用独立 evaluator 判终止。worker 自己说"我完事了"容易提前收工。做法:挂一个会话级 Stop hook,由一个独立 evaluator(它甚至不拿工具)读整段对话判完成,不可行、失败或超继续上限时把控制权交还用户。效果:"该不该结束"由目标说了算,不由 worker 的嘴说了算。

这些单点机制的价值,最终会收进同一个 harness,也就是 s15 的形态:

🎯 适合谁、怎么继续

这套课适合刚接触 LLM Agent 的开发者,也适合想看懂 coding agent 内部机制的工程师,会点 Python 就能跟。

推荐路径:先连跑 s01 到 s05,把循环、工具分派、边界、计划这几样走熟;再挑你最好奇的机制深挖——想搞长时运行看 s10 到 s12,想看多 Agent 协作看 s13,想看整体收口看 s15 到 s17。

延伸阅读方面,仓库带了一个web/平台,能从课程生成阅读、源码和架构视图;tests/目录里有 14 个测试文件,想核对某个机制的行为,直接看对应测试就行,不用真调模型。

别停在"能跑",把 s01 到 s17 一路走完,亲手拼一个 coding agent。一个循环足以承载全部智能,剩下的,是你替模型搭的那层框架。

【免费下载链接】learn-claude-codeBash is all you need - A nano claude code–like 「agent harness」, built from 0 to 1项目地址: https://gitcode.com/GitHub_Trending/an/learn-claude-code

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/29 2:27:40

光耦继电器电路设计避坑指南:从选型到PCB的实战分析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/29 2:27:31

Vue 与 WebRTC 音视频直播:从信令到调优实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/29 2:26:19

ZeroLaunch-rs 3D建模:CAD软件快速访问终极指南

ZeroLaunch-rs 3D建模:CAD软件快速访问终极指南 🎯 痛点场景:3D设计师的启动器困境 还在为每次打开CAD软件而烦恼吗?当灵感迸发时,你却要: 在开始菜单中费力寻找Blender图标误点Maya的卸载程序而不是主程序…

作者头像 李华
网站建设 2026/9/29 2:25:31

网络安全应急演练实战方案:从L1到L3穿透式响应设计

简介:本资源是一份系统、规范的《网络安全事件应急演练方案》PDF文档,面向企业安全管理员、IT运维人员、等保合规负责人及网络安全培训讲师,旨在解决组织在应对勒索攻击、数据泄露、DDoS等典型网络威胁时响应流程不清晰、协同机制不健全、预案…

作者头像 李华
网站建设 2026/9/29 2:24:31

Zabbix通过proxy进行分级监控

1.实验环境服务名称服务器IP角色数据库版本zabbix-server192.168.6.188总部mysql-8.0.4zabbix-proxy192.168.6.199分支mysql-8.0.42.安装环境 zabbix-server安装zabbix-proxy安装 以上安装分别使用不同的数据库,各自用各自的,模拟总部和分支都存在自己的…

作者头像 李华