最新资讯
dev.to 我们在 DolphinBench 上测试记忆检索:纯关键词搜索暴露了自身回归 dev.to 别再把 Agent 写成 while 循环,把它建模为状态机 bloomberg.com Rightmove 与 Scout24 借 AI 产品应对低迷房市并上调展望 stackoverflow.blog 欢迎来到芯片时代:半导体制造、AI 数据中心与芯片设计的未来 www.youtube.com AI Agent 总犯同样的错:CentralAgent AI 将记忆重构为经验系统 pub.towardsai.net Netflix 科学家建议重采样 LLM 评判:5 次仅将误差棒缩小 13% pub.towardsai.net Jev 作为 LLM 前的静默层:构建提示感知的模型路由器 reddit.com OpenAI 称 Astra 仅满足 10% 安全任务标准 dev.to FreeToken:在自有 GPU 上运行前沿 MoE 模型及其内存需求 dev.to 当 AI Agent 说“完成”时,究竟完成了什么? dev.to 部署 Underdog Bark 3.0 Pro:逐字转写、自定义后端与分块设置 dev.to 为艰难对话构建 AI:五个 Agent、一条安全正则与一位盲评监督者
多元动态
登录 注册
智能体 mp.weixin.qq.com · @51CTO技术栈

Total TypeScript 作者 Matt Pocock:别把整个需求塞给 Agent,上下文一长模型就进“变笨区”

原文 我的收藏

文章整理 Matt Pocock 在 The Pragmatic Engineer 访谈中的观点:知识获取成本下降,但工程判断与经验并未变便宜;给 Agent 的上下文越多表现反而越差,会进入所谓“变笨区”(smart zone/dumb zone,概念来自 Dex Horthy);建议把规格拆成一张张独立工单、一次会话只处理一张,并强调任务拆分、上下文管理、测试反馈和代码库质量是驾驭 Agent 的基本功。作者提醒 Agent 把错误答案写成代码的速度与写对一样快,开发者判断失误可能让错误扩散到整个仓库。

AI推荐理由 Total TypeScript 作者 Matt Pocock 在 The Pragmatic Engineer 访谈中的观点整理,提出上下文过长会让 Agent 进入“变笨区”(smart zone/dumb zone,源自 Dex Horthy)、应把规格拆成独立工单、一次会话只处理一张,并强调任务拆分、测试反馈与工程判断等基本功;对 Agent 编码实践有直接参考价值,但为二手翻译整理,观点属经验性主张而非可验证结论。

74

正文

原创 姜篇 2026-09-30 12:10 日本 ![](https://wechat2rss.bestblogs.dev/img-proxy/?k=13774ec9&u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FZhxqo7xEfgIY1CxeZnIIKsqfKiaQ7riav6Sma82hVAA778nk3a9cjkc1USgd3DdlnXve1AyKr780aicWZic7uUJNFibI9lhjibgKHbGbthrEb0iciao%2F0%3Fwx_fmt%3Djpeg) Agent会写的代码越来越多,上下文却不是越长越好。Total TypeScript作者Matt Pocock认为,任务拆分、上下文管理、测试反馈和工程判断,正在成为程序员驾驭Agent的基本功。 ![](https://wechat2rss.bestblogs.dev/img-proxy/?k=b6a4647d&u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FMOwlO0INfQoIDJ0nx1IhNibpIpYLrpUE0kIP9qbF1iaY7EoZpaic6IojvbXibd5ZGiatxmjtibQRcVbGAPM9Ijvp66yQ%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg) ![](https://wechat2rss.bestblogs.dev/img-proxy/?k=c0c3dc40&u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FZhxqo7xEfgIiaPLt2914MicdJdnM2wiaYNT1Lu8pdDfMibFMABD4ibkXpbOp6K3wj7o8ycbQrqJswVOxfZPqd7nprxial6Fr58f82mZCRDOK9Ga1M%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg) 编辑 | 姜篇 > Matt Pocock:知识已经变得很便宜,工程智慧却没有变得更容易获得。 > > Matt Pocock:你给Agent的上下文越多,它的表现反而越差。 > > Matt Pocock:把规格拆成一张张独立工单,一次会话只处理一张。 模型会写的代码越来越多,程序员的基本功却没有跟着贬值,反而越来越重要。 同样一项改造任务,有人把需求文档、代码、日志和报错一次性塞进Agent,几个回合后,会话里全是过期信息。模型还在继续输出,改动却开始偏离最初的要求。 另一种做法是先把任务拆开:这一轮只定位问题,下一轮补测试,再开一个干净会话修改代码。每一步都有明确范围,也知道怎样才算完成。 两种用法调用的是同一个模型,结果可能完全不同。 Matt Pocock谈的“基本功”,并不是背语法、记API。现在这些知识随时可以问模型。他所说的是另一类能力:能不能把需求说清楚,能不能把大任务切成Agent接得住的小块,能不能发现测试虽然通过了,代码却没有解决真实问题。 Agent把错误答案写成代码的速度,和写对答案一样快。开发者判断错一次,它可能沿着错误方向改完整个仓库。 备注:Matt Pocock是Total TypeScript作者,也是一名开发者教育者。他创建了Grill Me、Wayfinder等AI编程Skills。最近,他在The Pragmatic Engineer的访谈中,集中谈了上下文管理、任务拆分、测试反馈和代码库质量。 这些听起来都不新鲜,却决定了Agent到底是帮手,还是一台跑得很快的返工机器。 **以下为访谈内容,我们进行了翻译与整理。** ![](https://wechat2rss.bestblogs.dev/img-proxy/?k=48afb9bf&u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FZhxqo7xEfgJMrib9SkhDulIdU7QS0B0J6LeTQs4lukoaicWefweYSnAVB2ia7CvibrScgD7vpGTBicXDamR01HshydUTdhfjXe0bkK24jxJvBoyM%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg) *Matt Pocock认为,知识获取成本下降了,工程判断仍要在真实问题中学习* ## **知识变便宜了,工程经验没有** AI把很多过去需要搜索和记忆的东西压缩成了几秒钟。 不熟悉一个API,可以直接问模型;刚进入一套代码库,也能让Agent解释目录、调用链和关键模块。开发者获取知识的速度比以前快了很多。 Matt认为,变便宜的是知识,不是做工程决策的经验。 > Matt Pocock:“You can find out about any part of a codebase extremely quickly. But the wisdom has gotten no easier to learn.” > > Matt Pocock:你可以很快了解代码库的任何部分,但工程智慧并没有变得更容易学习。 这种“智慧”并不神秘。它是开发者在项目里反复碰壁以后留下的判断:需求该拆到多小,哪项约束必须先确认,什么样的测试才算覆盖风险,什么时候该停止重构。 Agent能给出一套漂亮的目录结构,却不知道团队三个月后会不会因此多维护两个服务;它能迅速升级依赖,也不会替人判断旧数据是否兼容、上线窗口是否合适。 > Matt Pocock:“You are still going to run into the same issues that you would have run into even with AI.” > > Matt Pocock:即使有了AI,你仍会碰到过去那些软件工程问题。 AI没有把这些问题拿走。它让每个决定更快变成代码,错误的决定也会更快铺满仓库。 ## **上下文越堆越多,Agent开始听不清重点** Matt在访谈里借用了开发者Dex Horthy提出的两个概念:smart zone和dumb zone,可以理解为Agent的“高质量工作区”和“变笨区”。 ![](https://wechat2rss.bestblogs.dev/img-proxy/?k=c1a6524a&u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FZhxqo7xEfgJzmTUCjWjAqc5fOJ1K4QF2WvxxyOL5Fq2qnItselvAic6F9gEUr3Nj0PBXn8mbaboBfIjAPnHjShxOp5yuCtYfW1z1JiaqSyBbU%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg) *Matt谈Agent的“高质量工作区”和“变笨区”,这一说法来自Dex Horthy* > Matt Pocock:“There’s this thing that Dex Horthy talks about, which is the smart zone and the dumb zone.” > > Matt Pocock:Dex Horthy讲过一个概念,叫“高质量工作区”和“变笨区”。 上下文窗口只说明模型能装下多少内容。材料放进去以后,模型能否稳定抓住当前任务的重点,是另一回事。 一个会话先讨论数据库,再贴报错,又让Agent改前端,随后补充安全要求。每条内容都可能有用,它们的重要程度却不同。已经放弃的方案和失败日志仍留在会话里,也会继续影响下一次判断。 > Matt Pocock:“Every token is shouting for attention. And the more voices you put into that room, the harder it is to hear the important ones.” > > Matt Pocock:每个Token都在争夺注意力。房间里的声音越多,重要信息就越难被听见。 ![](https://wechat2rss.bestblogs.dev/img-proxy/?k=818220b9&u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FZhxqo7xEfgIPMw17l76xew8spLuvsFPsZwxjHCsUgCTTTicfno11eYFvoyOHBsmYLvWicibMjaqFP1DiaO8vzicqrUr4Lq1Pjhhtk74CgH98D2vY%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg) *上下文里的每个Token都在争夺模型注意力* Matt目前把前约15万Token视作多数前沿模型较可靠的工作区。超过这条经验线后,他会开始警惕输出质量下降。 > Matt Pocock:“The smart zone is about the first 150,000 tokens for most frontier models, regardless of whether their context size is a million.” > > Matt Pocock:按我的经验,多数前沿模型较可靠的工作区大约在前15万Token,即便它标称拥有100万Token上下文。 15万不是所有模型的统一上限。模型、任务和工具链都会改变结果。这个数字的用途,是提醒开发者别把“能装下”直接理解成“始终能想清楚”。 ## **一张工单,只占用一次会话** 上下文不能无限堆,任务状态又必须保留。Matt的处理方式,是把状态从对话里搬出去。 > Matt Pocock:“Do the smallest possible change that will get us further towards that goal, and then clear your context and start from fresh.” > > Matt Pocock:完成一个能让项目向目标前进一步的最小改动,然后清空上下文,从新会话继续。 规格、工单、代码、测试结果和提交记录都在仓库里。新会话不需要记住前面聊过的每句话,只要读取已经留下的结果。 ![](https://wechat2rss.bestblogs.dev/img-proxy/?k=26a4aee9&u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FZhxqo7xEfgIOSnQsibHxWHxw3DibFxbXMuOI5P5c0Cq9BKQpYSMtkdHvqYgxGAKgYt2oxiaNJWyUiagkicajnN5d9tliabCxetjXN6nhicA9c08TJE%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg) *Matt建议把规格拆成独立工单,每张工单使用一次新会话* “重做账号系统”不适合直接交给Agent。它可以继续拆成登录失败次数记录、锁定策略、管理员解锁接口、前端提示和回归测试。每项任务都有清楚的改动范围和验收条件,做完一项,再开启下一轮。 新会话不用背着前一次试错产生的旧方案,开发者也能看清这一轮究竟改了什么。 Matt把自己的流程分成三段:先让Agent追问需求,再生成规格和工单,最后逐张执行。白天由人做规划和取舍,夜里再让Agent处理边界已经说清的任务。 > Matt Pocock:“You’re doing the planning during the day shift, and then during the night shift your agents are actually working on these tickets.” > > Matt Pocock:白天把计划做清楚,夜里再让Agent按照这些工单执行。 ## **先别写代码,让Agent把问题问完** Matt的Grill Me Skill会故意给开发制造一点摩擦。 主持人Gergely Orosz用它规划一个简单API接口时,被连续问了35个问题:身份验证怎么做,异常返回什么,数据能否重放,哪些内容不在本次范围内。 ![](https://wechat2rss.bestblogs.dev/img-proxy/?k=d177bd9d&u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2FZhxqo7xEfgIEzuVg4wQd2uM29h3aK7CNyM23Rk7MlOdTicejzeN1u66yibmeiaZWVUnbcBjpicmM6uNbW0zutx5dpgYOGCMN4ibOuhUMnFUGQsVE%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg) *Grill Me持续追问,迫使开发者把范围、约束和取舍说清* > Matt Pocock:“It relentlessly interviews you, and it is 10 times better than anything I have used.” > > Matt Pocock:它会不停地追问。在我用过的这类工具里,它的效果好得多。 连续追问会逼着开发者亲自做决定。 > Matt Pocock:“It forces you to make those decisions and reminds you of things you might have overlooked.” > > Matt Pocock:它会迫使你做出决定,也会提醒你那些可能漏掉的问题。 只说“帮我写一个接口”,Agent很容易交出能运行却不合用的实现。输入输出、权限、失败方式、兼容范围和不可触碰的边界被说清以后,代码才有明确方向。 Grill Me没有替人完成思考。它把原本藏在开发者脑子里的假设逼了出来。 ## **测试绿了,Agent仍可能自证正确** Agent需要能读懂的反馈。测试、类型检查、运行日志和性能指标,都可以告诉它这次修改有没有接近目标。 > Matt Pocock:“Agents really do need feedback loops. They need to have something that they can look at to tell them if what they’re doing is working or not.” > > Matt Pocock:Agent确实需要反馈循环。它必须有东西可以检查,才能知道自己的修改是否有效。 ![](https://wechat2rss.bestblogs.dev/img-proxy/?k=42b3ed32&u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2FZhxqo7xEfgJYRlfZlawibo5Gfu1hWdjomcQtZZib46vSib0LjUS3qsYlqO8xaQuHaOoNT92rmFNV9boFIlM4XOxqUp6GQQJxmc0zg6iaiarZt6kw%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg) *测试、类型检查和运行日志,为Agent提供可以读取的反馈* Matt会要求Agent拿出两份证据:修改后的测试能够通过,同时证明没有这次修改时测试会失败。 > Matt Pocock:“Ask it to provide evidence that what it has done has worked, and that if you hadn’t made the change, it would have failed.” > > Matt Pocock:要求它提供证据,证明修改确实生效,也证明没有这次修改时测试会失败。 绿灯仍然不等于正确。 > Matt Pocock:“Agents are very good at writing bad tests, tautological tests.” > > Matt Pocock:Agent很擅长写出糟糕的测试,甚至是自证正确的测试。 Agent可能按照自己的实现理解需求,再补一个刚好能证明这份实现正确的断言。 测试全绿,真实业务仍然可能出错。 支付系统里的幂等逻辑就是一例。函数测试通过以后,开发者还要检查历史订单怎么补偿、消息是否会重复消费、旧版本数据库能否兼容。验收条件最好来自需求、旧行为和生产数据,不能让同一个Agent既出题又判卷。 ## **代码库越乱,Agent越容易把错误复制下去** 团队成员在一个项目里工作几年,会记住哪些模块不能随便碰,哪些奇怪命名背着历史兼容。Agent每次进入新会话,都没有这段记忆。 > Matt Pocock:“The agent is like a new starter every single session.” > > Matt Pocock:Agent在每次新会话里,都像一名刚入职的新员工。 人可以靠经验绕过坏设计,Agent只能从目录、命名、接口、文档和测试里理解系统。几处信息相互矛盾,它就得猜。 > Matt Pocock:“Your code is the environment the agent operates in.” > > Matt Pocock:你的代码,就是Agent工作的环境。 ![](https://wechat2rss.bestblogs.dev/img-proxy/?k=21e148b6&u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FZhxqo7xEfgKQSntrzP1khiadAfofrwWI0WkNHdBrPYPBMe59rhs534rnSYgSKpNhFAvAv3gV9CBmsZs7s8e7cn4UzDKDMEhNudDo2N591G3g%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg) *代码库是Agent工作的环境* 坏环境的代价还会被生成速度放大。一个错误抽象过去可能几个月后才暴露,现在Agent可以在一晚之间沿着它生成几十个文件。 > Matt Pocock:“It’s so easy for agents to just make a codebase worse over time.” > > Matt Pocock:Agent很容易在持续生成中,让代码库一点点变差。 ![](https://wechat2rss.bestblogs.dev/img-proxy/?k=5245e19f&u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2FZhxqo7xEfgJLjFubag3xcyhHQDjHybHCaGPlcIoH8Zg3Qic6EicOwnAZaYgocqhdjsgcqnAc7VoQd57MvlLOyEKM9eaA4w0xwEInbI5leT7P0%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg) *生成速度提高后,结构性问题也会更快扩散* 实现Agent后面再接一个审查Agent,可以挡住一部分问题,挡不住所有问题。单行改动也可能破坏权限边界、状态机和数据兼容。团队仍需要有人理解系统为何这样设计。 这也是软件基本功重新变得显眼的地方。清楚的命名、稳定的接口、可执行测试和可信文档,过去方便人协作,现在也决定Agent能否稳定工作。 ## **评论区:有人认可基本功,也有人质疑个人项目经验** 评论区里,支持者最认同的是Matt把话题拉回软件基本功。 ![](https://wechat2rss.bestblogs.dev/img-proxy/?k=84dc1cd2&u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FZhxqo7xEfgKdO3JiaaoywiauCwKoDmZ3knhrIzn5kNhPaCJhGibNKcOfDMaib2I8ib3WMuzCrmsiahWGKHCnTTrjwUzBMfgcxgDTay2hdibpVrZ2CQ%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg) *有观众认为,每次编程能力跃升都会带来更复杂的系统,开发者仍要保持好奇并继续写代码* 网友@larsfayedev写道,过去约50年里,人们多次声称编程已经被“解决”。每次能力大幅提升以后,软件没有自动变简单,行业只是开始构建更复杂的系统。 另一边的质疑也很直接:个人项目上的方法,放进大型业务团队是否仍然成立? ![](https://wechat2rss.bestblogs.dev/img-proxy/?k=2010156e&u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FZhxqo7xEfgKuuEKIzCNEyz3icBQBCiaAxn5wiciaOQZNGChyxfSZqRolmB6u2a6wbK6ibEWCvuQtfKdkaUr780yEBiarBfz2EnO0wmldoiadcgLwibc%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg) *有观众质疑,个人项目经验与大型关键业务团队的工作环境存在明显差异* 这个问题确实存在。大型项目还有跨团队依赖、合规审批、发布窗口和历史数据,不能靠清空一次会话解决。 规模越大,任务边界、验收条件和可追溯记录越重要。Matt的方法无法代替组织治理,它能做的是把Agent一次出错的范围压在一张工单里。 ## **写在最后** Matt在访谈接近尾声时,把开发者的新角色形容成Agent的平台团队。 > Matt Pocock:“We are our agents’ platform team. We have to build the environment for them to succeed.” > > Matt Pocock:我们就是Agent的平台团队,需要为它们搭好能够工作的环境。 ![](https://wechat2rss.bestblogs.dev/img-proxy/?k=0282cecc&u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FZhxqo7xEfgLXmUFxvn23rPI4U4ldHKE2g5dJoC5PGibkHx2rFhAM61lkhpNn1jIR4qX7xAibzUItNHQS0s5WlWtqf5xfraRnpVCWLibxEe4Gp8%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg) *开发者需要为Agent准备清楚的环境、反馈和边界* 可以先把五条规则放进日常开发:一次会话只处理一个验收目标;规划和实现使用不同会话;规格、工单和关键决定写进仓库;要求Agent用测试、类型检查和日志证明结果;任务跨过自然边界时,主动清空上下文。 重复使用的工作方法,还可以继续写成Skill、脚本或项目规范。 > Matt Pocock:一项很重要的能力,是看清自己的工作过程,把它说出来,再编码给AI。 模型会继续获得更长的上下文,Agent也会一次处理更多文件。开发者仍要替它决定哪些信息该进入当前会话、什么时候应该停下,以及结果达到什么标准才能进入下一步。 代码生成得更快以后,把问题切清楚、给出可靠反馈、维护好代码库,才是让这份速度留下来的办法。 参考链接: `——好文链接—— 程序员最大的风险不是被AI替代,而是“认知投降”!Chrome前负责人:代码写完了,人却看不懂系统 AI编程已经卷到头了!马斯克:把目光转向“现实世界工程”,下一场硬仗,是让AI走出IDE 软件开发正在变成“开工厂”!黄仁勋劝开发者别只盯着AI末日论,网友锐评:卖铲子的人让大家继续挖 ![](https://wechat2rss.bestblogs.dev/img-proxy/?k=e5d52b63&u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FZhxqo7xEfgJo8IcibL07wriaiaN0t4iaYt405QJQd52S3ibRhia2KIgKORYE0Fibf2smpbtn7vlCWnC9qiaXkOggBurrHtVqM78x2BBrQpCP5bO3UyQ%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg) ![](https://wechat2rss.bestblogs.dev/img-proxy/?k=a648489b&u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FMOwlO0INfQoIDJ0nx1IhNibpIpYLrpUE08WAbJJdTMja6PvLXj2wheGNzev6OjG8Csq3SHErQQICIXKiatydK3xw%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg)` [跳转微信打开](https://wechat2rss.bestblogs.dev/link-proxy/?k=778a6e0b&r=1&u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMjM5ODI5Njc2MA%3D%3D%26mid%3D2655943165%26idx%3D1%26sn%3Da081929500383d2176416bb8eef5b0a9)

来源报道 · 1 篇 · 以下链接均前往原始媒体

← 返回精选动态 原文

更多内容