本文通过一个最小版本的Agent实现深入浅出地解析了大模型的核心逻辑即“读用户任务、让模型选择下一步、按模型要求调用工具、把工具结果喂回去继续循环”。文章强调了Harness在Agent运行控制系统中的核心价值以及工具调用、记忆系统和权限分级策略的重要性。通过对比Claude Code、Pi框架和OpenClaw等成熟框架揭示了它们在最小Loop基础上增加的工程化边界如工具边界、上下文边界、记忆边界、权限边界和验证边界。最后文章指出Agent工程的核心是“跑稳”并鼓励开发者从最小版本入手逐步完善Agent的工程化细节使其成为可信赖的协作工具。1、核心结论速览如果赶时间本文核心结论可浓缩为一句话Agent起步靠一个循环模型看上下文、选工具、拿观察、继续下一轮几十行代码就能跑起来但“能跑”和“能用”之间差的全是循环外面的各类边界Claude Code、OpenClaw、Harness等框架做的核心工作就是补齐这些边界。结合实践经验有几条明确的结论的可直接参考大模型本身不具备执行文件读写、命令运行、网页搜索的能力这些实际动作都由模型外部的运行系统完成模型仅负责决策与指令输出。Function Calling的核心作用是“解决工具调用的表达问题”它不会自动处理参数校验、权限控制、输出裁剪和错误恢复这些均需额外的工程化设计。记忆系统的核心目标不是让Agent记住所有内容而是让它在合适的时机精准召回对当前任务有用的信息避免冗余与干扰。Harness不是可有可无的装饰层它的核心价值是将一个能跑的Loop改造为可恢复、可审计、可约束、可验证的稳定系统决定Agent能否长期可靠运行。最核心的一句话总结最小循环让Agent动起来Harness决定它能不能长期稳定地干活。2、手搓目标最小Coding Agent明确一点我们不可能在30分钟内复刻Claude Code这样的成熟产品。一个完整的Coding Agent需要具备读仓库、改代码、跑测试、管理上下文、派发subagent、做compact压缩、处理权限等一系列能力其外部的运行系统非常复杂。如果硬要从零打造完整版本很容易做成一个“玩具版”的虚拟Claude Code无法触及Agent工程的核心逻辑。因此本次手搓的核心目标的是“最小Coding Agent”我们将目标高度聚焦只保留最核心的输入、工具和逻辑具体设定如下三类核心输入最小Agent的运行仅需要三类输入即可启动无需复杂的配置与依赖用户任务即开发者交给Agent的具体需求比如“查看当前目录下的文件列表”“读取某个代码文件的内容”。当前对话历史包含用户任务、模型之前的响应、工具执行的结果等用于模型判断下一步动作形成循环。工具列表Agent可调用的工具集合本次仅保留最基础、最可控的3个工具不添加复杂工具增加实现难度。三个基础工具为了保证最小闭环的可控性我们暂不添加写文件、删除文件等风险较高的工具仅保留3个只读和有限执行类工具具体如下list\_files(path)列目录工具用于查看指定路径下的所有文件和文件夹帮助Agent了解当前环境。read\_file(path)读文件工具用于读取指定路径下的文本文件内容让Agent获取所需的文件信息。run\_command(command)命令运行工具仅允许运行白名单内的命令避免无限制执行命令带来的风险。这样的选择看似保守却更贴近实际工程实践新系统的第一版优先让模型“观察环境”再允许它执行少量可控动作写权限、删除权限、网络权限、凭证访问等更敏感的能力可在后续版本中逐步添加、逐步验证。这也是实战中很容易被忽略的第一层边界Agent的能力不是越大越好能力的扩展必须与验证、回滚机制同步推进否则很容易引发安全风险与运行失控。3、最小闭环Agent核心逻辑20行代码Agent的核心逻辑其实非常简单就是一个循环Loop。下面这段代码不是完整的生产级代码而是将Agent Loop的骨架提炼出来20行左右即可看懂能清晰呈现Agent的运行流程async functionrunAgent(task: string) { constmessages [ { role: user, content: task }, ]; for (let step 0; step 8; step) { constresponse await model.create({ messages, tools, }); messages.push({ role: assistant, content: response.content, }); if (!response.toolCall) { return response.text; } constobservation await runTool(response.toolCall); messages.push({ role: tool, content: observation, }); } returnStopped: step limit reached.; }这段代码的逻辑非常清晰核心就是5个步骤的循环往复直到完成任务或达到步数限制初始化上下文将用户任务存入messages数组作为初始的上下文信息。模型决策调用大模型传入当前上下文messages和工具列表tools让模型判断下一步动作——是直接返回回答还是需要调用工具。记录模型响应将模型的响应无论是回答还是工具调用指令存入messages更新上下文。工具执行判断如果模型没有返回工具调用指令!response.toolCall说明任务已完成直接返回模型的最终回答如果有工具调用指令则执行对应的工具。更新上下文并循环将工具执行的结果observation存入messages更新上下文进入下一轮循环直到完成任务或达到8步的步数限制。很多文章会把Agent的逻辑讲得很神秘但把这段核心代码摆出来就会发现它本质上就是一个“调模型→判断是否调用工具→执行工具→回写上下文→继续循环”的简单流程。当然生产级Agent的实现会比这复杂得多比如会添加流式响应、事件系统、工具的串行/并行调度、工具执行前后的钩子hook等机制但核心主干从未改变。我们之前分析过《OpenClaw 背后的秘密武器极简智能体框架 Pi 》其核心文件agent-loop.ts虽然有639行代码但主干仍然是类似的循环结构——外层用while(true)循环每一轮同样是调用模型、检查工具调用、执行工具、回写上下文区别只是增加了生产级所需的各类辅助机制骨架始终没有变化。但问题也随之而来这个最小Loop能跑起来不代表它能在实际工程中使用。它没有处理权限控制没有限制危险命令没有裁剪工具输出的冗余信息没有设计合理的记忆策略也没有明确的任务完成验证标准。也就是说30分钟能轻松跑通Agent的最小闭环但接下来所有的工程问题本质上都是在回答同一句话这个Loop放进真实世界以后怎么才能不乱跑、不翻车。4、Agent工具的核心设计逻辑在最小版本的实现中我们很容易将工具写成一个简单的函数列表比如const tools [ listFiles, readFile, runCommand, ];但这样的写法只能说明程序中存在这三个函数并不能满足Agent的实际需求。对Agent而言工具不仅仅是“可调用的函数”更需要让模型清楚地知道每个工具能做什么、需要哪些参数、什么时候该用、失败时会返回什么同时程序还需要判断工具的参数是否可信、文件路径是否超出工作区范围、命令是否安全、工具输出的内容是否需要裁剪等。因此实际工程中工具的定义更接近下面这种结构化的形式这也是Function Calling或Tools API要解决的核心问题——让模型用结构化的方式清晰表达“我要调用哪个工具、带什么参数”const tools [{ name : read_file, description: Read a text file inside the current workspace., inputSchema: { type: object, properties: { path: { type: string }, }, required : [path], }, }];目前OpenAI、Anthropic、Google、DeepSeek等各家大模型的工具接口细节略有不同但核心方向一致工具名、工具描述、参数schema、调用结果等都尽量采用结构化设计让模型能精准理解和调用工具。这里需要特别补充一个重要的边界认知Function Calling仅解决“怎么表达工具调用”的问题它不会替我们解决以下工程化问题这些都需要额外设计实现path参数是否越过工作区边界导致访问无关文件run\_command执行的命令是否危险如删除文件、泄露环境变量工具返回2MB甚至更大的日志时是否需要裁剪避免占用过多Token或污染上下文命令执行失败后是选择重试、降级执行、询问用户还是直接停止任务模型连续调用工具8次仍未完成任务时系统是否需要主动切断循环避免无限执行。Pi框架的coding tools设计就很好地体现了“工具可控”的原则它默认只提供Read、Bash、Edit、Write四个核心工具初次看到时可能会觉得工具太少但仔细思考就会发现写软件的核心主路径其实很明确读代码→改代码→跑一下看结果这四个工具刚好覆盖了这条主路径。工具数量越少系统提示词就越简洁模型误用工具的概率就越低出现问题后也更容易追溯和排查。当需要扩展能力时Pi更倾向于将扩展能力放在系统侧而不是一开始就把工具列表铺得很大。说到底Agent的工具调用本质不是把函数暴露给模型而是把真实世界切成一组可控的入口。入口越少每个入口的边界就越容易守住Agent的运行也就越安全、越可控。这一点我们回头看Claude Code就能更好地理解Claude Code不仅仅是“模型 Bash”的组合它还围绕Bash、Read、Edit、WebFetch等工具做了完善的权限控制、动作确认、环境隔离和输出处理。Anthropic的Bash tool文档中也明确提醒Bash是直接访问系统的能力使用时必须做好环境隔离、命令过滤、资源限制和日志记录。我们的手搓版用一个run\_command就能演示工具调用的概念但一旦要做成可落地的工具这些边界控制就必须全部补上。5、工具调用的进化从提示词解析到Function Calling很多教程讲解Agent时会直接从Function Calling开始仿佛它是天生就存在的能力但实际上“让模型调用工具”的实现经历了一个从原始到成熟的进化过程其中有一个很容易被跳过的关键阶段——提示词解析。第一代“让模型调工具”的做法非常原始在系统提示词中把工具名、参数格式、返回约定等全部写清楚然后要求模型以JSON格式输出调用意图再由程序手动解析JSON、将调用指令分发到对应的函数。这套方案确实能跑通很多早期的Agent Demo都是这么实现的但写过这类代码的开发者都知道它存在几个非常现实的痛点提示词维护成本高工具数量越多提示词就越长后续修改、新增工具时需要同步修改提示词很容易出错格式稳定性差模型输出的格式全靠提示词约束偶尔会出现格式跑偏的情况导致程序解析失败解析逻辑复杂需要手动编写JSON解析逻辑处理各种边界情况如格式错误、参数缺失等增加了开发成本。2022年ReAct论文提出了一个关键思路彻底改变了Agent工具调用的范式模型不应该只在文本中猜测下一步动作它可以通过主动执行动作向环境获取新的观察结果形成“Thought思考→ Action动作→ Observation观察”的闭环。这个范式影响了后续所有Agent框架的设计方向让Agent的工具调用从“被动解析”走向“主动交互”。2023年6月13日OpenAI将Function Calling纳入Chat Completions API标志着工具调用进入主流开发接口工具名、描述、参数schema等由API层统一承载模型会用结构化的方式输出工具调用意图包括工具名和参数开发者无需再手动编写JSON解析逻辑大幅降低了开发成本。随后Anthropic、Google、DeepSeek等厂商纷纷跟进虽然接口细节略有差异但核心方向完全一致——用结构化方式规范工具调用。回头看这个进化过程我们能清晰地感受到Agent工程的核心逻辑Agent的开发很少能一次设计到位更常见的是“先跑通再优化”——发现提示词解析不稳就补上Function Calling发现工具调用没有边界就补上schema校验和权限控制发现模型会无限循环调用工具就补上步数限制和超时机制。每一层优化都是从“能跑”到“跑稳”的跨越每一个边界的补充都是为了解决实际工程中的痛点。6、Agent的运行控制Harness的核心价值在我们手搓的最小Loop中特意加入了step 8的步数限制——这是一个很简单、甚至有些“粗糙”的限制但却非常实用。如果没有这类限制Agent很容易出现各类失控问题具体包括无限循环一直调用工具无法判断任务是否完成陷入死循环错误掩盖工具执行失败后模型仍继续往下执行假装执行成功导致后续动作全部出错上下文污染读取过多无关文件导致上下文信息冗余、混乱影响模型决策提前终止还未完成任务、未验证结果就提前返回“任务完成”结论误判将工具执行的中间日志当成最终的任务结论返回给用户。这些问题虽然和模型本身的能力有一定关系但更多是发生在Agent运行过程中的工程化问题需要通过专门的运行控制系统来解决——这就是Harness的核心价值。很多人会误以为Harness是给Agent套的一层“装饰壳”其实不然Harness是将最小Loop放进真实工程环境后必须补上的运行控制系统它的核心作用是约束Loop的运行让Agent从“能跑”变成“能稳定、安全地跑”。一个最小化的Harness至少需要管理以下9个核心内容最大循环轮数避免无限循环比如我们手搓版中设置的8步限制最大工具调用次数防止模型频繁调用工具浪费资源单次工具超时避免工具执行时间过长导致整个Agent卡住Token和成本预算控制模型调用和工具执行的成本避免超支工具输出裁剪对工具返回的大量日志、冗余信息进行裁剪避免污染上下文、占用过多Token错误分类和恢复对工具执行失败、模型决策错误等情况进行分类制定对应的重试、降级或终止策略关键动作确认对高风险工具调用如写文件、删除文件需要经过人工确认后再执行日志和回放记录Agent的每一步动作、模型响应、工具执行结果方便后续排查问题、审计追溯任务完成标准明确什么情况下才算任务真正完成避免模型提前终止或误判。Pi框架的Harness实现就很有参考价值。它在agent-loop.ts中提供了两个核心钩子beforeToolCall和afterToolCall。其中beforeToolCall在工具执行前拦截可用于校验工具参数、检查权限、直接拦截不安全的工具调用afterToolCall在工具执行后介入可用于修改工具返回内容、标记错误、做输出裁剪。这两个钩子虽然简单却把“工具执行前后的控制权”从模型手里拿了回来交给了工程侧让开发者能更好地约束Agent的运行。如果我们把Claude Code、Codex、OpenClaw这几个成熟框架放到这个逻辑中看就能更清晰地理解它们的差异与共性三者的核心都是最小Loop但各自补上的边界不同适合的场景也不同。Claude Code更偏向Coding Agent重点完善了仓库上下文、文件工具、Bash、Todo、Subagent、Compact压缩、权限和验证等边界Pi框架走的是克制路线默认只保留4个核心工具搭配只读工具和扩展系统让上下文更干净、更易审计OpenClaw则更偏向长期通用Agent重点完善了消息入口、会话管理、工作区、记忆、插件、网关、安全边界等其底层使用的正是Pi的引擎。7、Agent记忆系统三层设计逻辑在我们的手搓版Agent中记忆的实现非常简单就是将用户消息、模型响应、工具观察结果依次存入messages数组形成上下文记忆代码如下messages.push(userMessage); messages.push(assistantMessage); messages.push(toolObservation);这种方式对于短任务来说完全够用但只要任务稍微复杂、执行步骤增多就会遇到几个非常现实的问题上下文冗余工具输出的内容越来越多导致messages数组过大占用过多Token干扰严重旧的错误路径、无关的中间结果一直留在上下文里影响模型的决策准确性成本上升对话越长模型调用的Token成本越高记忆丢失会话一旦重启所有的上下文记忆都会丢失无法复用之前的信息效率低下模型需要在大量冗余信息中筛选有用内容降低决策效率。因此我们不能把Agent的记忆简单理解为“保存所有聊天记录”更科学的做法是将记忆拆分为三层每一层都有明确的存储内容和存储载体核心目标是“在合适的时机召回对当前任务有用的信息”具体分层如下层次保存什么适合放哪里当前上下文当前任务需要的消息、工具结果、文件片段等临时信息仅用于当前任务的循环决策messages/ context window模型上下文窗口持久事实项目约定、用户偏好、长期背景信息等可跨任务复用的固定信息Markdown文件 / 数据库DB / 用户profile过程经验某类任务的执行方法、踩坑路径、工作流程等可沉淀复用的经验性信息Skills技能库 / playbooks操作手册 / procedures流程文档OpenClaw、Hermes、Clawdbot等系统的记忆设计都遵循了这个分层逻辑只是侧重点不同OpenClaw和Clawdbot走的是工程化路线将记忆存入工作区文件让记忆具备可读、可改、可审计、可迁移的特点。比如用memory/YYYY-MM-DD.md记录每日的任务流水用MEMORY.md保存长期的持久事实在检索记忆时不会把整个记忆文件塞给模型而是返回有用的片段、文件路径和行号避免上下文污染。Hermes则更注重过程经验的沉淀它将事实和用户偏好存入基础记忆而将各类任务的执行经验沉淀为Skill技能重点解决“这类事情以后怎么做”的问题提升Agent的复用能力和执行效率。这两条路线本质上都指向同一个核心记忆系统的目标不是让Agent记住所有内容而是精准召回有用信息。对于我们的手搓版Agent如果要添加记忆功能建议先从最小版本入手用简单、可理解的方式实现代码示例如下const memory { projectRules: readMarkdown(AGENTS.md), recentSummary: readMarkdown(memory/session-summary.md), }; const messages [ { role: system, content: memory.projectRules }, { role: system, content: memory.recentSummary }, { role: user, content: task }, ];先用Markdown文件存储持久事实和近期摘要优先保证记忆的可读性和可维护性让开发者能清晰看到Agent的记忆内容。等后续内容量增加、召回需求提升、跨项目复用成为刚需时再逐步引入向量库、全文检索、信息重排和自动整理等更复杂的技术。很多系统的记忆设计之所以出问题不是因为没有记忆功能而是太早把记忆做成了黑盒——一开始就引入向量库、自动摘要等复杂机制导致记忆的流向不可追溯、问题难以排查。Agent工程的很多环节都遵循“先跑通最小版本再按痛点优化”的节奏记忆系统也不例外先用简单的方式跑通碰到瓶颈再逐步加层每一层优化都要有明确的痛点驱动。8、Agent权限分级策略记忆系统解决了“Agent知道什么”的问题而权限系统则解决了更敏感的“Agent能做什么”的问题。在我们的手搓版Agent中最危险的工具就是run\_command——一旦将Bash等系统命令交给模型Agent的能力会瞬间提升它可以列目录、读文件、跑测试、调用CLI工具但同时也可能误删文件、泄露环境变量、访问外部网络、执行长时间运行的命令引发安全风险和系统故障。因此我们不能把“给模型开放Bash权限”理解为一种“酷炫的能力”它更像一把锋利的刀——好用但必须有刀鞘约束这个刀鞘就是权限系统。Claude Code的权限系统就为我们提供了很好的参考它将工具调用分为“允许直接执行”“需要询问用户”“禁止执行”三类平衡了安全性和易用性。Anthropic在后续推出Claude Code auto mode时也提到了一个很实际的矛盾每次写文件、跑命令都询问用户虽然安全但会带来“审批疲劳”影响使用体验完全不询问用户又会放大安全风险。他们的解决方案不是简单地“取消询问”而是用分类器在工具执行前自动识别动作的风险等级——低风险动作直接放行高风险动作则拦截并询问用户。根据Anthropic的工程文章披露在真实的overeager actions数据集上这套完整的权限 pipeline 仍有17%的假阴性率即高风险动作被误判为低风险而放行。这个数字很有价值它告诉我们自动化权限系统可以减少人工干预但不能完全拿掉高风险动作的人类确认环节安全边界必须守住。OpenClaw的实践也印证了这一点作为通用Agent一旦接入聊天入口、插件、工作区和本地工具网关和权限边界就不再是“安全附录”而是Agent运行主路径的一部分——没有完善的权限控制Agent就无法长期、安全地运行在真实工程环境中。对于我们的手搓版Agent建议将权限分为四档每一档都有明确的适用场景和默认策略既保证可控性又兼顾易用性具体分级如下权限层例子默认策略只读list\_files、read\_file仅用于查看文件和目录不修改任何内容可直接执行无需人工确认安全执行npm test、pytest、go test等测试命令仅用于验证代码正确性无安全风险白名单机制仅允许执行白名单内的命令写操作write\_file、apply\_patch用于修改文件内容可能影响代码逻辑需要人工确认确认后才能执行高风险动作删除文件、访问外部网络、读取凭证信息、操作系统目录等可能导致系统故障或信息泄露默认禁止如需执行需手动开启权限并确认这份权限分级表看似简单却决定了Agent的本质——它是一个可控的工程工具还是一个可能引发事故的“隐患”。权限控制不是越多越好而是要精准分级在安全和易用性之间找到平衡这也是Agent能长期稳定运行的核心底线。9、Agent的任务验证体系权限系统管住了Agent“能做什么”但还有一个关键问题当Agent说“任务完成了”我们怎么知道它真的完成了Agent最容易让人误判的地方就是它很擅长用自信的语气输出“任务完成”但在工程实践中“完成”不是一句口号而是需要有明确的证据支撑。如果我们的手搓版Agent最后只返回一句任务完成。这样的回答没有任何工程价值——我们无法确认它是否真的完成了任务也无法排查可能存在的问题。一个有价值的Agent在声称“任务完成”时至少要能回答以下6个问题为了完成任务读取了哪些文件调用了哪些工具每个工具的执行结果是什么对代码或文件做了哪些修改修改的依据是什么运行了哪些测试测试结果是否通过哪些检查如类型检查、lint格式化已经通过哪些还未通过还有哪些潜在风险没有处理后续需要做什么对于Coding Agent而言最小化的任务验证体系通常包括以下6个核心环节缺一不可相关测试通过执行对应的单元测试、集成测试确保修改后的代码能正常运行类型检查通过对于TypeScript、Go等强类型语言确保类型定义正确无类型错误lint或格式化通过确保代码风格统一无语法错误、格式问题diff能对应用户任务代码修改的内容diff必须与用户交给的任务需求一致无无关修改失败时有错误摘要和下一步建议如果任务执行失败需清晰输出错误原因、错误位置并给出可落地的下一步建议高风险改动有人确认对于写文件、删除文件等高风险改动必须经过人工确认后才能视为“完成”。这也是我们在观察Claude Code、Codex、OpenClaw等成熟系统时最需要关注的部分。随着大模型能力的不断提升“能写出一段代码”已经不再稀奇更稀缺的能力是能把上下文、工具、权限、测试、日志和错误恢复整合为一个完整的闭环真正具备工程可用性。没有验证体系的Agent本质上只是一个“很会解释”的聊天机器人——它能告诉你“该怎么做”但无法证明“已经做好了”而有了验证体系Agent才真正接近一个能与开发者协作的工程工具——它能落地执行能验证结果能排查问题能承担实际的开发任务。这也是我自己踩过的一个坑传统CI/CD系统跑失败了查看日志就能明确知道哪行代码报错、问题出在哪里但Agent跑“成功”了反而需要更加警惕——因为模型太擅长用自信的语气说“搞定了”但它口中的“搞定”和工程意义上的“搞定”往往不是一回事。验证体系就是连接“模型自信”和“工程可用”的关键桥梁。10、Claude Code的核心逻辑最小循环的工程化增厚看到这里再回头看Claude Code这样的成熟产品就会觉得豁然开朗。之前拆解Pi框架源码时就有一个深刻的感受它的agent-loop.ts虽然有600多行生产级代码但核心主干和我们手搓的最小Loop几乎一致Claude Code也是如此它的核心逻辑没有什么神秘的新机制只是把一个朴素的Loop放进了真实的软件工程环境中补上了所有必要的边界。我们手搓的最小Loop逻辑非常简单Model - Tool - Observation - Loop模型→工具→观察→循环。而Claude Code的逻辑更像是在这个最小Loop的基础上层层叠加了工程化能力完整链路如下Model → Repo Context仓库上下文 → Tool System工具系统 → Permission权限控制 → Bash / Read / Edit工具执行 → Todo / Subagent任务拆分与分发 → Compact / Memory上下文压缩与记忆 → Validation验证 → Loop循环它没有把Agent Loop变成玄学只是把一个能跑的最小闭环改造为能适应真实工程场景的系统。这也是为什么同一个大模型在聊天框里和在Claude Code里的使用体感完全不同在聊天框里模型的核心作用是“生成文本”——你问它“帮我改个bug”它只能告诉你“你可以试试这样改”无法实际操作而在Claude Code里模型进入了一个完整的工作台——它能查看仓库结构能读取具体的代码文件能执行测试命令能记录待办事项Todo能把复杂任务拆分给subagent子Agent能在上下文冗余时进行Compact压缩还能在权限系统的约束下安全行动。它不是在“说”怎么改bug而是真的在“做”——这就是Harness运行控制系统的价值也是Loop外面那些边界的价值。把前面所有的内容再次浓缩为一句话30分钟手搓Agent我们看到的是Agent的核心Loop而Pi、Claude Code、OpenClaw这些成熟框架补上的是这个Loop在真实世界里工作所需要的所有边界——工具边界、上下文边界、记忆边界、权限边界、验证边界。11、写在最后Agent工程的核心是“跑稳”手搓一个最小Agent其实很容易让人兴奋——几十行代码就能让模型读取任务、调用工具、获取结果、循环执行第一次看到它“自己动起来”时那种成就感非常强烈。但我自己写下来最大的收获其实不是“跑通了”这个结果而是“跑通”之后的思考最小循环只是Agent的起点让它跑起来不难难的是让它跑得住、跑得稳。工具边界、上下文边界、记忆边界、权限边界、验证边界这五层边界每一层都是从“Demo能用”到“日常能靠”的距离每一层都需要大量的工程化细节来支撑。这些细节没有模型本身那么显眼没有“自主智能”那么吸引眼球大多是校验参数、裁剪输出、管理权限、运行测试、记录日志、处理错误恢复这些“细活”但正是这些细活决定了Agent能不能真正进入日常的工程链路能不能成为开发者可以信赖的协作工具。我一直有个不太成熟的看法未来半年到一年大模型本身的能力会逐渐趋同——各家模型的推理能力、理解能力、工具调用能力差距会越来越小而更容易拉开差距的会发生在模型外面也就是Harness这一层。谁的工具系统更可控谁的记忆策略更精准谁的权限和验证更可靠谁的Agent就更能长期稳定地干活就更能从“聊天机器人”升级为“工程协作工具”。这也是我最近持续研究和撰写Harness系列内容的原因——它没有那么多酷炫的概念却承载着Agent工程化的核心价值。这篇文章算是一个起点后续我会继续拆解Claude Code的具体模块、OpenClaw的系统边界以及Harness在多Agent场景下的新挑战。如果你也在开发Agent欢迎留言聊聊你踩过的坑——很多好的工程经验都是从坑里长出来的很多边界的设计都是为了解决那些“跑不通、跑不稳”的实际问题。如何学习大模型 AI 由于新岗位的生产效率要优于被取代岗位的生产效率所以实际上整个社会的生产效率是提升的。但是具体到个人只能说是“最先掌握AI的人将会比较晚掌握AI的人有竞争优势”。这句话放在计算机、互联网、移动互联网的开局时期都是一样的道理。我在一线科技企业深耕十二载见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事早已在效率与薪资上形成代际优势我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我们整理出这套AI 大模型突围资料包✅ 从零到一的 AI 学习路径图✅ 大模型调优实战手册附医疗/金融等大厂真实案例✅ 百度/阿里专家闭门录播课✅ 大模型当下最新行业报告✅ 真实大厂面试真题✅ 2026 最新岗位需求图谱所有资料 ⚡️ 朋友们如果有需要《AI大模型入门进阶学习资源包》下方扫码获取~① 全套AI大模型应用开发视频教程包含提示工程、RAG、LangChain、Agent、模型微调与部署、DeepSeek等技术点② 大模型系统化学习路线作为学习AI大模型技术的新手方向至关重要。 正确的学习路线可以为你节省时间少走弯路方向不对努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划带你从零基础入门到精通③ 大模型学习书籍文档学习AI大模型离不开书籍文档我精选了一系列大模型技术的书籍和学习文档电子版它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。④ AI大模型最新行业报告2025最新行业报告针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。⑤ 大模型项目实战配套源码学以致用在项目实战中检验和巩固你所学到的知识同时为你找工作就业和职业发展打下坚实的基础。⑥ 大模型大厂面试真题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我精心整理了一份大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。以上资料如何领取为什么大家都在学大模型最近科技巨头英特尔宣布裁员2万人传统岗位不断缩减但AI相关技术岗疯狂扩招有3-5年经验大厂薪资就能给到50K*20薪不出1年“有AI项目经验”将成为投递简历的门槛。风口之下与其像“温水煮青蛙”一样坐等被行业淘汰不如先人一步掌握AI大模型原理应用技术项目实操经验“顺风”翻盘这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。以上全套大模型资料如何领取