尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

如何从零构建 Coding Agent:Harness 工程 17 节完整指南

发布时间:2026/9/29 7:40:13

资讯中心
01
ARTICLE

如何从零构建 Coding Agent:Harness 工程 17 节完整指南

如何从零构建 Coding Agent:Harness 工程 17 节完整指南
如何从零构建 Coding AgentHarness 工程 17 节完整指南【免费下载链接】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 是一门把 Coding Agent 从 0 到 1 搭起来的 17 节渐进式开源课程以 Claude Code 为解剖对象讲透 Agent Loop 原理与 Agent Harness 工程五件套每节配一个可独立运行的示例。 先拆掉一个误区智能不是 if-else 编出来的写代码之前先定一件事智能从哪来。拿餐厅打比方。大厨的手艺来自十几年灶台练出来的肌肉记忆也就是训练厨房提供炉子、刀具、食材和出餐流程也就是 Harness。大厨决定做什么菜厨房决定这锅菜能多快端上桌。大模型就是那位大厨而你要造的是这套厨房。但市面上不少人以为把流程图钉上墙就等于开了家餐厅。拖拽式工作流构建器、无代码 Agent 平台、提示词链编排库本质都是把 LLM API 调用用 if-else 分支和节点图串起来。规则树堆得再厚自主行为会自己涌现吗不会。这类系统脆弱、难扩展、换不了场景LLM 在里面只是一个负责填空的文本节点不是大脑。真正的分工只有两条路训练模型或者构建 Harness。前者是大厂在做的事后者是绝大多数开发者包括这门课在做的事。 Agent Harness 里到底装了哪几样东西Harness 一共五件套每件对应大厨工作流里的一块工具刀与炉灶。文件读写、shell、浏览器、数据库。每个工具都是 Agent 可执行的一个原子动作要可组合、描述清晰。知识产品手册与风格指南。别预塞按需加载——先给目录Agent 需要哪章自己取哪章。观察舌头尝味道。git diff、报错日志、命令回显都是告诉模型现在什么状况的信号。动作出餐上菜。CLI 命令、API 调用、UI 交互把决定落成对外部世界的真实改动。权限厨房红线。哪个燃气阀不能碰、哪个后门不能开、破坏性操作要先找人审批。模型负责决策Harness 负责执行模型负责推理Harness 负责喂上下文。这条边界是 Harness 工程师第一件事要钉死的。 Agent Loop 怎么跑起来一切从一个 while 循环开始一个 Coding Agent 最完整的骨架就是一个 while 循环。伪代码while True: response llm(messages, tools) messages.append(assistant 这一轮) if response.stop_reason ! tool_use: return # 模型自己决定停 for 每个 tool_use in response: messages.append(tool_result(执行结果))stop_reason是 API 返回的信号表示模型这轮为什么停下。值是tool_use说明它要调用工具你执行、把结果塞回messages是别的值说明它说完了直接返回答案。注意这里没写什么最大迭代次数也没写什么时候该停。停止时机完全交给模型代码只干三件事执行它说的、把结果还给它、继续下一轮。这就是 s01_agent_loop/ 的完整逻辑。但裸循环不能直接上生产。s01 里最朴素的权限边界就几行命令执行前先过一遍rm -rf /、sudo这类黑名单命中直接返回错误执行超时卡 120 秒输出截断到 5 万字符。这三行是后面权限流水线、钩子扩展点那些复杂章节的雏形。这个循环就是课程的 Agent Loop17 节全部围着它转。工具、记忆与上下文能力怎么一层层叠上去循环跑起来之后后面几节都在做同一件事往循环外面叠能力循环本身几乎不动。加工具就是往分派表加一行。s02 把硬编码的单工具调用换成一张工具名 → 处理函数的映射表循环形态与 s01 完全相同。想加write_file、glob表里加一个条目其他文件类工具顺手加一道工作区边界检查越界直接拒绝。上下文总会溢出得会腾地方。对话一长messages就膨胀。课程把压缩拆成四级先清掉旧的工具结果只留最近三条再逐段裁剪最后才在超限时对整段历史做摘要。s15 把这些固化成一组显式常量上下文 5 万 token 封顶单轮输出默认 8000、需要时自动升到 16000。工具结果先被整理历史最后才被动刀。记忆要分记什么和忘什么。s09 拆成三个子系统选择决定哪些信息值得留、提取从对话里挑出稳定事实、整理合并旧条目、删掉过时的。重点不是多记而是别让每条信息都进长期记忆。工具、压缩、记忆三样都不替换循环只是各自包一层。这是整门课反复出现的叠加方式。 从单兵到班组协作与长跑怎么做一个会话扛不下任务时方向只有两个拆时间和拆空间。子 Agent是最轻的拆分。子任务开一份全新的messages[]独立跑完最终文本作为一个tool_result返回主会话——主循环的上下文保持干净细节不回流。团队是更重的形态多个常驻队友共享一张任务板消息走异步邮箱投递任务靠原子认领抢到的才算数每个人在任务绑定的独立 worktree 里干活并行改代码互不踩踏。后台任务解决慢操作长命令扔进后台线程主循环继续想下一步跑完时把通知注入消息流。定时触发cron再进一步——不靠人手动敲到点任务自己启动。四种机制对应四种场景隔离上下文、并行拆活、不被慢事阻塞、无人值守长跑。 5 分钟跑通第一个示例 环境怎么配依赖总共就三个包anthropic、python-dotenv、pyyaml。git clone https://gitcode.com/GitHub_Trending/an/learn-claude-code cd learn-claude-code pip install -r requirements.txt cp .env.example .env # 填入你的 key python s01_agent_loop/code.py.env三个字段ANTHROPIC_API_KEY必填、MODEL_ID必填、ANTHROPIC_BASE_URL可选指向兼容端点换其他供应商的模型也能跑。阅读顺序就是从 s01 一路读到 s17s02–s04 把工具和边界搭起来s05–s09 补上计划、隔离、压缩与记忆s10–s13 做长任务与协作s14–s15 引入外部能力并把所有机制收进同一个循环s16–s17 用工作流编排和目标门控收尾。想核对某个机制的行为直接看 tests/ 里的对应测试不用真调模型s07 的技能语料在 skills/。s15_integrated_harness/ 单文件 3000 多行是整门课的集大成一站读到它你才知道前面 14 节怎么拼在一起。这套方法论还能走到哪课程解剖的是 coding agent但模式跟写代码没有绑定关系。农场 Agent 大模型 土壤气象传感器 灌溉控制 作物知识酒店 Agent 模型 预订系统 客户渠道 设施 API制造 Agent 模型 产线传感 质检 物流调度。换掉的只有工具、知识和权限那个 while 循环从头到尾没变过。把厨房修好菜自然端得出来。【免费下载链接】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),仅供参考
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。