当前位置: 首页 > news >正文

Coding Agent 正在偷走你的控制权?慢下来,守住开发者的核心地位!

今天重看了一遍 pi-mono 作者 Mario Zechner 的演讲 “Building pi in a World of Slop”,发现里面还是有不少观点是值得我们学习思考的。

原视频:https://www.youtube.com/watch?v=RjfbvDXpFls

当所有人都在热衷于讨论如何通过 Coding Agent 做到更快更高效的时候,Mario 却发出了不同的声音,他呼吁大家先慢下来,停止软件开发中的粗制乱造。

当 Coding Agent 工具越来越复杂、越来越自动化时,开发者正在不知不觉中失去两件东西,一是对工具上下文和行为的控制权,二是对代码质量和系统复杂度的判断权。

当工具开始替你管理上下文、替你裁剪信息、替你生成 PR、甚至替你决定系统架构时,开发者有哪些东西是必须要守住的?

要点速览

  • 现在的 Coding Agent 还处在探索阶段,工具形态远未稳定。今天流行的交互、上下文管理和 harness 设计,都只是阶段性假设,不应该被过早当成标准答案。
  • 一个好 #harness 不一定要复杂。Terminal Bench 里极简终端式 harness 表现很强,提醒我们功能堆叠不等于 Agent 能力提升。
  • pi的价值不是功能多,而是可修改、可扩展、可由 Agent 自己改造。真正重要的是工具能否适应开发者工作流,而不是开发者被迫适应工具。
  • Agent 正在放大开源维护者的噪音成本。自动生成的 issue 和 PR 会污染协作系统,生成成本下降后,筛选成本会被转嫁给维护者。
  • 大规模放任 Agent 写代码会加速复杂度堆积。抽象、重复、兼容层和局部补丁会被更快写进代码库,最后变成没人真正理解的系统。
  • 人类仍然是关键瓶颈,因为人会感到痛。痛感会让人停下来、删功能、重构边界、判断什么不该做;Agent 不会痛,只会继续执行。
  • 正确用 Agent 的方式不是让它接管判断,而是把任务缩小到可验证、可复查、非关键或机械重复的范围内。

【1】真正的风险不是 Agent 不够强,而是开发者太早交出控制权

Mario 一开始说,他只是想要一个真正属于自己的 coding agent。

这个说法听起来像个人偏好,但背后是一个很硬的工程问题:当 Agent 工具越来越复杂,开发者到底还能不能看清工具在背后做了什么。

他最早也喜欢 Claude Code,因为它简单、可预测,能贴合自己的工作流。对很多开发者来说,这正是 Coding Agent 第一次变得“可用”的时刻:不只是补全一行代码,而是能持续执行任务、修改文件、跑命令、反馈结果。

但工具一旦继续膨胀,问题就出现了。system prompt 会变,工具定义会变,系统提醒会被插入上下文,工具会替你裁剪输出、替你组织上下文、替你决定哪些信息要给模型看。对一个重视工作流控制的人来说,这意味着“我的上下文不再是我的上下文”。

这些动作表面上都在帮你省事,但它们共同改变了一件事:Agent 看到的世界,已经不完全由你控制。

对普通聊天来说,这可能只是体验差异;对 coding agent 来说,这就是行为边界。模型会根据上下文行动,谁控制上下文,谁就在控制 Agent 的判断路径。

所以这场演讲真正提出的第一个问题不是“哪个 Agent 更好用”,而是“这个 Agent 到底有没有把关键控制权交还给开发者”。

【2】上下文控制权,是 AI 编程里的第一控制权

开发者过去讨论工具主权,通常是在说编辑器、插件、语言、框架。

但在 Coding Agent 时代,最关键的工具主权变成了上下文主权。

Mario 对 Claude Code 和 OpenCode 的一些不满,都集中在这里:工具会在背后改变 system prompt,会压缩或裁剪工具输出,会把 LSP 错误插到 edit 结果里,会把会话消息拆成很多 JSON 文件保存。

这些设计不一定都是错的。很多时候,它们确实能降低用户负担,也能让模型更快发现错误。

但 Mario 警惕的是另一面:每一个“贴心”的自动化层,都可能让开发者更难判断模型为什么这么做。

比如,一个 edit 工具每次返回时都塞入错误信息,模型就可能被局部错误牵着走;一个工具自动裁剪输出,模型就可能丢掉它本来需要的信息;一个框架不断插入系统提醒,模型就会在你没意识到的地方改变行为。

这就是为什么上下文控制权重要。它不是洁癖,也不是工具偏好,而是 AI 编程的基本盘。

开发者要守住判断权,第一步不是少用 Agent,而是知道 Agent 到底看到了什么、没看到什么、哪些信息是你给的,哪些信息是工具替你塞进去的。

【3】一个好 harness 不一定要复杂

Mario 在演讲里提到一个很有意思的反例:Terminal Bench 中表现很强的 harness,反而非常简单。

它没有复杂文件工具,没有 sub-agent,没有一整套高度包装的辅助层。它只是让模型向 tmux 会话发送按键,再读取终端输出。

这件事对今天的 Agent 工具讨论很有启发。

我们很容易以为,Agent harness 越复杂越高级:更多工具、更细粒度的文件编辑、更自动的错误反馈、更强的上下文管理、更复杂的多 Agent 协作。但 benchmark 里的极简方案提醒我们,事情可能没这么线性。

一个复杂 harness 可能帮模型,也可能干扰模型。它可能提供能力,也可能制造噪音。它可能让初学者更省事,也可能让高级用户失去可观测性。

所以 Mario 得出的判断是:Coding Agent 还处在探索阶段,今天所有看起来“标准”的工具形态,都还不稳定。

这对开发者意味着什么?

不要过早把某个产品的交互方式当成唯一答案。更不要因为工具越来越自动,就默认它的所有默认值都是合理的。Agent 越强,越应该允许开发者打开黑盒、调低默认层、重写工作流。

【4】pi 真正有价值的地方,是把工具变成可扩展改造的工作台

pi的设计方向,正是 Mario 对这些问题的回应。

它不是想做一个功能最多的 Agent,而是想做一个真正属于开发者的 Agent core。它的 system prompt 很短,工具数量很少,默认层很薄。

Mario 的理由很直接:模型已经在 post-training 里学过 coding agent 的基本行为,不需要再用很长的 prompt 告诉它“你是一个 coding agent”。真正该投入的地方,不是把默认提示词写得越来越厚,而是让开发者能修改工具本身。

#pi的扩展机制基于 TypeScript 模块。开发者可以定义工具、slash command、事件监听、状态保存、自定义压缩、自定义 provider。更重要的是,开发者可以让pi根据文档自己写扩展,并在会话中热更新。

这背后的判断非常清楚:好的 Agent 工具不应该只给你固定能力,而应该给你改造能力。

固定能力解决的是“我能不能做这件事”;改造能力解决的是“这个工具能不能变成我的工作流的一部分”。

这也是开发者守住控制权的一种方式。你不必等待官方 roadmap,不必把团队流程塞进别人的默认设计里,也不必被一个越来越厚的工具层绑住。你可以把自己的约束、审批、上下文策略、工具调用方式和安全边界做成扩展。

在 Agent 越来越强的时候,真正稀缺的是工具是否有对开发者友好的扩展能力。

【5】生成变便宜,筛选变昂贵

后来pi被放进 OpenClaw,成为它的 agentic core。随之而来的,是 Mario 的开源项目开始收到大量低质量 issue 和 PR。

他把这类自动化垃圾提交者称为 clanker。

这部分表面上是在讲开源维护技巧,但其实是 Agent 时代一个更普遍的问题:当生成内容变得极其便宜,协作系统会被低成本输入污染。

过去,一个人提交 issue 或 PR,至少要花时间阅读项目、复现问题、写说明、理解贡献流程。这个成本天然会过滤掉一部分噪音。

现在不一样。Agent 可以生成看起来很完整的问题描述、修复方案和 PR。成本降下来了,但维护者的成本没有降。维护者仍然要判断这个问题是否真实、改动是否必要、PR 是否理解项目边界、提交者是否愿意继续沟通。

Mario 的处理办法很直接:新 PR 自动关闭,评论要求对方用人类口吻写一个不超过一屏的 issue。维护者确认可信后,再把账号加入仓库文件,之后才放行。

这个机制有效,是因为低质量自动化提交通常不会读评论,也不会回来补上下文。

这给所有开发团队一个提醒:Agent 让“产出”变便宜,但没有让“判断”变便宜。未来很多流程都要重新设计过滤层,把认真参与、理解上下文、愿意沟通的成本重新加回来。

否则,你省下的是生成时间,增加的是协作系统里的噪音债。

【6】低质量生成代码会加速系统复杂度堆积

Mario 最重的批评,指向那些宣称产品可以 100% 由 Agent 构建的叙事。

他的意思不是 Agent 写不了代码。恰恰相反,问题是 Agent 太能写代码了。

人写代码会慢,会犹豫,会卡住,会因为痛苦停下来。Agent 不会。它可以持续生成、持续补丁、持续抽象、持续兼容。

短期看,这很高效。长期看,风险是复杂度以更快速度堆进代码库。

Mario 提到几类典型结果:抽象、重复、兼容层、局部补丁、防御式代码、测试幻觉。单独看,每一项都可能显得“工程化”;堆在一起,就会变成没人愿意碰的系统。

更麻烦的是,review agent 不能解决根本问题因为 Agent 学到的代码模式来自互联网。互联网上当然有好代码,但也有大量普通、陈旧、糟糕的代码。当代码库大到上下文放不下时,Agent 更容易做局部 patch:局部看起来合理,全局却越来越乱。

生成的低质量代码,在没有人持续判断和把控的情况下,会快速累积成系统复杂度。

如果开发者自己不读代码,review agent 也只能再生成一层判断。等线上问题真的发生时,团队可能会面对一个最糟糕的状态:人不理解代码,Agent 也看不完整代码。

【7】人类仍然是瓶颈,但这个瓶颈恰恰保护了系统

Mario 对人类开发者的价值判断很特别。

他没有说人类代码天然更好,也没有否认 Agent 的效率。他强调的是:人类会成为瓶颈,而且人类会感到痛。

在效率叙事里,瓶颈听起来是坏事。但在软件工程里,瓶颈有时是保护机制。一个人每天能写进代码库的东西有限,能制造的复杂度也有限。

Agent 把这个限制打掉之后,复杂度进入系统的速度会变快。

痛感同样重要。

当代码难懂、难改、难测,人会痛。痛到一定程度,人会停下来,重构、删功能、重新画边界,或者拒绝继续做某些东西。

Agent 不会痛。它不会因为代码库变复杂而焦虑,不会因为抽象太绕而停下来,也不会主动说“这个功能不值得做”。它只会继续完成下一个任务。

所以开发者读代码时感受到的摩擦,不只是低效。它也是判断权的一部分。

你读代码,才会发现哪里开始变脏;你痛,才会知道哪里该停;你理解系统,才有资格判断 Agent 的修复是否可信。

如果把这部分全部外包,你省掉的不只是时间,也省掉了形成判断的过程。

【8】对 Agent 的产出要进行评估判断和选择

Mario 最后并没有劝大家不用 Agent。他自己就在做pi,也承认 Agent 很有价值。

他给出的建议是划清边界:把 Agent 用在 scope 清楚、上下文可控、评价函数明确、非关键、重复、无聊的任务上。比如复现用户问题、自动研究、机械性工作、橡皮鸭式讨论。Agent 给出结果后,人要评估,取用合理部分,再完成最终判断。

慢下来,想清楚你到底在构建什么,为什么要构建。不要因为 Agent 能做,就把东西做出来。现在最有价值的能力,是学会说“不”。少做功能,但把真正重要的功能打磨好。 关键代码要读每一行,重要的东西最好自己写,可以让 Agent 帮忙,但不要让它替你做决定。

2026年AI行业最大的机会,毫无疑问就在应用层

字节跳动已有7个团队全速布局Agent

大模型岗位暴增69%,年薪破百万!

腾讯、京东、百度开放招聘技术岗,80%与AI相关……

如今,超过60%的企业都在推进AI产品落地,而真正能交付项目的大模型应用开发工程师**,**却极度稀缺!

落地AI应用绝对不是写几个prompt,调几个API就能搞定的,企业真正需要的,是能搞定这三项核心能力的人:

✅RAG:融入外部信息,修正模型输出,给模型装靠谱大脑

✅Agent智能体:让AI自主干活,通过工具调用(Tools)环境交互,多步推理完成复杂任务。比如做智能客服等等……

✅微调:针对特定任务优化,让模型适配业务

目前,脉脉上有超过1000家企业发布大模型相关岗位,人工智能岗平均月薪7.8w!实习生日薪高达4000!远超其他行业收入水平!

技术的稀缺性,才是你「值钱」的关键!

具备AI能力的程序员,比传统开发高出不止一截!有的人早就转行AI方向,拿到百万年薪!👇🏻👇🏻

AI浪潮,正在重构程序员的核心竞争力!现在入场,仍是最佳时机!

我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

⭐️从大模型微调到AI Agent智能体搭建

剖析AI技术的应用场景,用实战经验落地AI技术。从GPT到最火的开源模型,让你从容面对AI技术革新!

大模型微调

  • 掌握主流大模型(如DeepSeek、Qwen等)的微调技术,针对特定场景优化模型性能。

  • 学习如何利用领域数据(如制造、医药、金融等)进行模型定制,提升任务准确性和效率。

RAG应用开发

  • 深入理解检索增强生成(Retrieval-Augmented Generation, RAG)技术,构建高效的知识检索与生成系统。
  • 应用于垂类场景(如法律文档分析、医疗诊断辅助、金融报告生成等),实现精准信息提取与内容生成。

AI Agent智能体搭建

  • 学习如何设计和开发AI Agent,实现多任务协同、自主决策和复杂问题解决。
  • 构建垂类场景下的智能助手(如制造业中的设备故障诊断Agent、金融领域的投资分析Agent等)。

如果你也有以下诉求:

快速链接产品/业务团队,参与前沿项目

构建技术壁垒,从竞争者中脱颖而出

避开35岁裁员危险期,顺利拿下高薪岗

迭代技术水平,延长未来20年的新职业发展!

……

那这节课你一定要来听!

因为,留给普通程序员的时间真的不多了!

立即扫码,即可免费预约

「AI技术原理 + 实战应用 + 职业发展

「大模型应用开发实战公开课」

👇👇

👍🏻还有靠谱的内推机会+直聘权益!!

完课后赠送:大模型应用案例集、AI商业落地白皮书

http://www.jsqmd.com/news/826124/

相关文章:

  • Augustus核心功能深度解析:路障、劳动力池与仓库管理
  • Jdbc手动实现事务管理
  • 深入PEX8796:从Serdes到Virtual Switch,图解PCIe交换芯片的三种工作模式
  • FPGA开发板GT远端环回测试:原理、配置与调试实战指南
  • RAG是什么?为什么Agent必须用RAG?
  • pgwatch2在Kubernetes中的部署:Helm Chart完全解析
  • Cursor AI编程助手规则文件(.cursorrules)配置指南与最佳实践
  • AI+Web3开发实战:Helius Core-AI如何赋能Solana智能体应用
  • 大语言模型可解释性实战:从注意力可视化到特征归因的深度解析
  • SDLPAL资源文件格式详解:从RIX到YJ1的压缩技术
  • 产品经理面试与求职攻略:Awesome Product Management 职业转型成功案例
  • Spoolman与主流3D打印软件的完美集成:OctoPrint、Klipper、Moonraker详细配置教程
  • 亲身经历从申请密钥到成功调用Taotoken API的全流程耗时与难易度
  • 上下文工程:从提示词到智能体,高效管理AI交互的核心方法论
  • AlphaAvatar:从单目视频重建可驱动3D数字人的混合表示框架
  • Veyra Forms:React生态下声明式、类型安全的复杂表单状态管理框架
  • AI Gateway:统一调度多模型API,实现成本优化与性能监控
  • VSCode插件开发利器:cursor_info库实现光标上下文精准解析
  • 200类鸟类图像分类数据集
  • t-io HTTP服务器实现:如何替代Tomcat和Jetty的完整指南
  • 本地大模型运行、训练、微调全搞定,4GB RAM轻松运行4B模型!
  • msphpsql高级功能深度解析:Always Encrypted、数据分类和表值参数全面指南
  • Python-ADB协议实现原理:深入理解ADB和Fastboot通信机制
  • 构建个人知识库:从代码仓库到第二大脑的实践指南
  • FS8024A芯片实现USB-C PD诱骗:打造TYPE-C转DC电源转接头方案
  • AI LED调光驱动电源智能功率 MOSFET 完整选型方案
  • Blender FLIP Fluids域设置详解:如何优化模拟精度与性能
  • AI智能体钩子模式:用JSON Schema构建标准化交互协议
  • SDLPAL图形渲染技术揭秘:OpenGL与Shader的完美结合
  • DevUI布局系统完全指南:响应式设计的终极解决方案