新闻详情

新闻详情

首页 / 资讯中心 / 详情

learn-claude-code 完整指南:从一个 Bash 循环到 17 个 Harness 机制,搭出你的 Claude Code 风格 Coding Agent

发布时间:2026/9/29 2:54:47来源:尧图网络
learn-claude-code 完整指南:从一个 Bash 循环到 17 个 Harness 机制,搭出你的 Claude Code 风格 Coding Agent
learn-claude-code 完整指南从一个 Bash 循环到 17 个 Harness 机制搭出你的 Claude Code 风格 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-codelearn-claude-code 是一门 Claude Code 风格的 harness 工程教程把一个 coding agent 从单个 bash 工具的 agent loop 拆起逐步讲到权限、上下文压缩、记忆、多智能体协作与目标闭环共 17 个机制。读完你可以独立从零构建一个可用的 agent 产品。为什么说一个 bash 一个 while 循环就是一个完整 Agent这套课程开门见山抛出的判断是感知、推理、行动的能力agency来自模型训练而不是外部编排代码赋予的。DQN 在 2013 年只靠原始像素学会 7 款 Atari 游戏、2015 年扩展到 49 款并发表于NatureOpenAI Five 用 10 个月的自我对弈在公开竞技场 42,729 场中保持 99.4% 胜率AlphaStar 达到欧洲服前 0.15% 的大师级腾讯绝悟让 KPL 职业选手 1v1 十五战仅一胜。共同点是智能全部来自训练出的模型外围代码只提供运行环境。由此得到一个反面清单把 LLM 接口用 if-else 分支、节点图、硬编码路由串起来的提示词编排不是 agent而是一条过度设计的规则流水线——LLM 只是被塞进一个补全文本节点这种系统脆弱且无法泛化。那么工程师的活是什么仓库给出的公式是Harness 工具 知识 观察接口 行动接口 权限对应 Harness 工程师的五个动作实现工具文件、Shell、API、策展知识按需加载而非预塞、管理上下文子 Agent 隔离、压缩、任务持久化、控制权限沙箱与审批、收集任务轨迹数据生产环境的每一步执行都是下一代模型的微调素材。选 Claude Code 做解剖对象的原因在于它不做什么它不试图自己变成 agent不塞僵化工作流不用决策树替模型做二次推理而是给齐工具、知识、上下文管理与权限边界后退开。剥到底就是一个 agent loop 工具集 按需技能 上下文压缩 子 Agent 带依赖图的任务系统 异步团队协调 worktree 并行 权限治理。一句话原理Agent 模型 它工作的环境harness模型负责决策harness 负责让决策落地。它如何工作一切围绕的 30 行 Agent Loop整个机制的骨架只有四步用户消息进messages[]模型返回响应若stop_reason是tool_use执行工具、把结果以user角色的tool_result块回灌消息列表继续循环否则返回文本结束。何时停完全交给模型代码只做执行与搬运。def agent_loop(messages): while True: response client.messages.create( modelMODEL, systemSYSTEM, messagesmessages, toolsTOOLS) messages.append({role: assistant, content: response.content}) if response.stop_reason ! tool_use: return results [] for block in response.content: if block.type tool_use: output TOOL_HANDLERSblock.name results.append({type: tool_result, tool_use_id: block.id, content: output}) messages.append({role: user, content: results})上面这段即 s01_agent_loop/code.py 的核心循环节选单轮输出上限max_tokens8000system prompt 只有一句 Use bash to solve tasks. Act, dont explain.。配套的 bash 执行器是权限治理的雏形——危险命令黑名单rm -rf /、sudo、shutdown、reboot、 /dev/、120 秒超时、输出截断到 50000 字符这三条就是最小边界。到 s02_tool_use/code.py循环形态完全不动唯一变化是把硬编码的run_bash换成一张分派表工具从 1 个扩到 5 个bash、read_file、write_file、edit_file、globTOOL_HANDLERS { bash: run_bash, read_file: run_read, write_file: run_write, edit_file: run_edit, glob: run_glob, } # s01: output run_bash(block.input[command]) # s02: output TOOL_HANDLERSblock.name每个文件类工具都先过safe_path检查path.is_relative_to(WORKDIR)越出工作区直接抛错——权限边界就这样以极小成本嵌进了工具实现。后面 15 节全部是围绕这个不动的循环加装机制。17 个 Harness 机制全景从能动手到能闭环按解决了什么问题可以分成五组每节课只加一个机制第一组 · 基础行动力s01–s04——让模型动得起来、动得安全s01 Agent Loopmessages/while True/stop_reason一切的起点s02 Tool UseTOOL_HANDLERS分派表加工具不改循环s03 PermissionPermissionRule审批流水线判断一条命令该放行、拦截还是询问用户s04 HooksPreToolUse/PostToolUse扩展点在循环外围挂钩而不重写循环第二组 · 干得扎实的活s05–s09——让工作有规划、有分工、有知识、有记忆s05 TodoWriteTodoItem先列步骤再执行官方数据是完成率翻倍s06 Subagent子任务拿一份全新的messages[]隔离上下文最终文本作为单个 tool result 返回s07 Skill LoadingSkillLoader先只暴露技能目录需要时才展开全文仓库 skills/ 里就是真实语料agent-builder、code-review、mcp-builder、pdf 四个技能s08 Context Compact四级压缩budget / snip / micro / summary先整理旧工具结果仍超限才摘要历史s09 Memoryselection / extraction / consolidation 三个子系统把该留的知识沉淀到会话之外第三组 · 长跑与协作s10–s13——任务可以跨会话、慢活不阻塞、多人能并行s10 Task SystemTaskRecordblockedBy依赖图任务持久化到磁盘是多 Agent 协作的地基s11 Background Tasks慢命令丢进后台线程完成时向主循环注入通知s12 Cron Scheduler持久化调度按时间表自动触发不靠人手动s13 Agent Teams常驻队友、原子化任务认领、任务绑定的 worktree 工作目录、类型化消息协议第四组 · 开放与集成s14–s15——能力外扩、机制收拢s14 MCP Plugin外部 MCP 工具经过发现与命名空间隔离后并入同一个工具池s15 Integrated Harness单文件 3079 行把记忆、团队事件、MCP 工具、定时任务全部并回一个循环用显式常量管理预算——DEFAULT_MAX_TOKENS8000、ESCALATED_MAX_TOKENS16000、CONTEXT_LIMIT50000、KEEP_RECENT_TOOL_RESULTS3、PERSIST_THRESHOLD30000数值口径与 s08 的压缩策略一脉相承第五组 · 编排与收尾s16–s17——流程固化、终止受控s16 Workflow Runtime固定编排脚本化运行记录写入 journal 支持断点恢复硬约束AGENT_CAP1000单次运行 agent 调用上限、CONCURRENCY8并行上限s17 Goal Loop模型不再调工具只说明这一轮想停于是引入会话级 Stop hook——独立 evaluator 读整段对话判断完成条件不成立就把未完成的工作送回同一个 loop连续拦截上限 8 次3 分钟跑通第一个 Agent Loopgit clone https://gitcode.com/GitHub_Trending/an/learn-claude-code cd learn-claude-code pip install -r requirements.txt cp .env.example .env # 填入 ANTHROPIC_API_KEY 与 MODEL_ID python s01_agent_loop/code.py # 起点一个循环 bash python s08_context_compact/code.py # 较复杂的压缩机制 python s17_goal_loop/code.py # 终点带目标地跑requirements.txt 只有三个依赖anthropic0.25.0、python-dotenv1.0.0、pyyaml6.0后者服务于 s13/s15 的协议与配置解析。想看图形化版本仓库自带 Web 平台cd web npm install npm run dev # http://localhost:3000内容由 web/scripts/extract-content.ts 从根目录课程抽取生成扫描s\d{2}_章节目录、旧版agents/与docs/产出到web/src/data/generated/与web/public/course-assets/因此dev脚本会自动先跑一次抽取。如何配置 API Key 与切换模型提供方所有code.py都通过load_dotenv(overrideTrue)读同一个.env再由ANTHROPIC_BASE_URL构造客户端MODEL os.environ[MODEL_ID]。关键字段变量必填默认/示例说明ANTHROPIC_API_KEY是—Anthropic 或兼容方密钥MODEL_ID是claude-sonnet-4-6模型标识ANTHROPIC_BASE_URL否Anthropic 官方端点指向任意兼容端点.env.example 内建了一张兼容提供方对照表覆盖国际站与大陆双区域端点MiniMaxMiniMax-M3、GLM/智谱glm-5.2、Kimi/月之暗面kimi-k2.7-code、DeepSeekdeepseek-v4-pro/deepseek-v4-flash全球单一端点。课程从第一天就假设模型层可替换——这正是 harness 与模型解耦主张的直接体现。扩展点分布在四个位置Hookss04不改主循环加拦截/观测逻辑、Skillss07往 skills/ 放新技能目录即被SkillLoader收录、MCPs14外部工具经命名空间进入同一工具池、Stop hooks17目标门控。验证行为不必真调模型tests/ 下有 14 个测试文件如test_compaction_tool_pairs.py、test_skill_loading.py、test_task_system.py、test_goal_loop.py、test_agent_teams_runtime.py、test_web_scenarios.py覆盖压缩配对、技能加载、任务图、目标闭环与 Web 场景。两条教程轨道现行 17 节与旧 12 节怎么选仓库当前并存两条轨道旧资料检索时尤其要注意编号错乱现行轨道推荐根目录s01_agent_loop/至s17_goal_loop/。每章一个文件夹含英文README.md、README.zh.md、README.ja.md、可独立运行的code.py与images/图。旧版迁移轨道docs/旧 12 节文档与 agents/旧 12 节可运行脚本含s_full.py这个全机制进一个座舱的整合参考实现仅为过渡期保留。新旧编号并不对齐对应关系是旧 s01/s02 与新 s01/s02 一致旧 s03–s08 分别平移到新s05TodoWrite、s06Subagent、s07Skill Loading、s08Context Compact、s10Task System、s11Background Tasks旧版把团队主题拆成 s09–s12 四节现行版收敛为一个 s13Agent Teams并补入自主认领与 worktree 隔离新轨道独有的 8 节为s03 Permission、s04 Hooks、s09 Memory、s12 Cron、s14 MCP、s15 Integrated Harness、s16 Workflow Runtime、s17 Goal Loop。想跑旧版时命令形如python agents/s01_agent_loop.py或python agents/s_full.py。仓库结构与范围边界它做什么刻意不做什么learn-claude-code/ s01_agent_loop/ ~ s17_goal_loop/ # 每节一个文件夹README 三语 code.py images agents/ # 旧 12 节可运行副本 s_full.py skills/ # s07 的真实技能语料 docs/ # 旧 12 节文档过渡期保留 web/ # 从根目录课程生成的 Web 平台 tests/ # 14 个机制验证测试边界画得很清楚。它做的从 0 到 1 的 harness 工程课——每节隔离一个机制s15 收拢累积运行时s16 加 Workflow 编排s17 用小工具池聚焦目标受控继续这一机制注意 s17 是机制示例不是又一个累积运行时。它不做的不教模型训练那是 DeepMind、Anthropic 们的活不教常驻助手形态——本仓库教的 harness 是用完即弃的开终端、派活、干完关闭下次会话从零开始。常驻路线由姊妹教材 claw0 覆盖在同一个 agent core 上加心跳每 30 秒 harness 问一次有没有事做与Cronagent 自己排未来任务叠加多通道 IM 路由、持久记忆与 Soul 人格系统后claw agent agent core heartbeat cron IM chat memory soul从一次性工具变为常驻个人助手。想直接落地同门还有交付形态Kode Agent CLInpm i -g shareai-lab/kode支持 Skill 与 LSP可接 GLM / MiniMax / DeepSeek 等开放模型与可嵌入后端、浏览器扩展、嵌入式设备的 Kode Agent SDK。s07 所用技能 agent-builder 的 SKILL.md 开篇有一句话与全仓库的主张互为印证The model already knows how to be an agent. Your job is to get out of the way. 模型早已是 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),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

天融信FW3000防火墙实测报告:NAT、端口映射与用户认证落地指南 2026/9/29 3:49:10

天融信FW3000防火墙实测报告:NAT、端口映射与用户认证落地指南

简介:本资源是一份完整的网络安全系统功能与性能验证测试报告,面向网络安全工程师、安全运维人员及高校相关专业学习者,用于系统性掌握主流安全设备的核心能力验证方法。报告覆盖网络地址转换(NAT)、端口映射、IP/MAC绑…

阅读更多 →
让AI真正听懂课题:AI平台推荐与实操方法总结 2026/9/29 3:49:10

让AI真正听懂课题:AI平台推荐与实操方法总结

这两个月里,“有没有真正能听懂课题的AI平台推荐”这个问题,我被人问了不下十次。问的人里,有研二的学生,有刚拿到横向课题的年轻老师,也有在公司做技术预研的工程师。他们普遍不是没用过AI,恰恰相反&#…

阅读更多 →
校园网安全巡检实战:日志留存、弱口令排查与终端抽查指南 2026/9/29 3:49:10

校园网安全巡检实战:日志留存、弱口令排查与终端抽查指南

简介:这份文档面向中小学、幼儿园、职校及其他教育单位的信息安全负责人与网络管理员,围绕教育系统网络与信息安全巡检的实际工作展开,帮助读者理清巡检流程、检查要点与整改方向。内容涵盖巡检计划安排、重要设备日志备份、数据备份方式核查…

阅读更多 →
RAG准确度优化:从检索到生成的完整调优指南 2026/9/29 3:49:10

RAG准确度优化:从检索到生成的完整调优指南

1. 先定位:一次错误回答,到底是检索的锅还是生成的锅我接手过不少RAG项目,团队上来第一句话往往是"换个更强的LLM是不是就好了"。钱花了,延迟上去了,准确度没见涨。后来我把错误回答全摊开复盘,发…

阅读更多 →
家用电梯怎么选?从井道条件、驱动技术到品牌避坑的全流程指南 2026/9/29 3:49:04

家用电梯怎么选?从井道条件、驱动技术到品牌避坑的全流程指南

1. 先别急着问品牌,先问自己家能不能装做这行久了,被问得最多的一句话就是"家用电梯哪个品牌好"。说实话,这个问题问得太早了。每次有人这么问我,我都会先反问回去:你家房子现在是什么状态?楼梯旁…

阅读更多 →
Manus爆火背后:用TaoToken统一Key接入主动式AI Agent的配置实战 2026/9/29 3:48:57

Manus爆火背后:用TaoToken统一Key接入主动式AI Agent的配置实战

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

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉