Agent越来越智能,但我发现软件工程仍然很重要 📅 发布时间:2026/7/3 2:10:21 👁️ 浏览次数: 我发现我现在越来越离不开 Agent。它能更聪明了。以前每次需要我指明改哪里有时候为了害怕改错了我都会把代码位置指出来。有时候还会担心它写不出来或者说是理解不了。而现在它似乎比你更懂你的工程也会很清楚你接下来想干的事我几乎不担心它是否能完成我交代的任务了。前天我在考虑给 Browser Bridge 添加服务端认证模式。这个模式下允许浏览器插件连接到非本地的 Agent。因为多了层网络所以需要添加一些鉴权的功能。整个认证的流程并不复杂主要是登录和服务端鉴权两个部分。登录获取token这里是在浏览器插件中完成。在浏览器插件中发起 Http 请求得到鉴权之后的 token 和 user_id。接着拿着这个 token 和 user_id 去进行 websocket 连接。Websocket服务端鉴权WebSocket 服务端在建立连接的时候需要获取 token 和 user_id然后同样的需要请求鉴权接口来验证 token 和 user_id 的合法性。在做认证接口的时候我只贴了鉴权的API及其响应结果的样例。但是代码还是很快就写好了。只不过调试的时候登录不上。我看了下错误堆栈。发现是因为API返回的响应格式和代码里预期的不一样。本来没什么改改就好了。然后接着又有报错。一看发现返回的 user_id 类型是 number但代码里定义成了 string。这种小问题Agent 分分钟就给你改好了。但是继续测试时发现虽然现在能登录上。但连接在不断的重连日志里面没有具体的内容只有重连的日志。我让 Agent 帮我查了查它说是因为 user_id 在服务端仍然是当做 string 在用导致报错了。之所以不打日志是因为那个地方把异常吃掉了。服务端抛异常客户端只能不断地重连。也许是缘分到了想起当天中午在卡兹克之公众号里面提到的两个技巧“第一性原理”、“对抗式审查”。于是我抱着试一试的心态让 Agent 使用第一性原理来找根儿上的问题。没过一会儿它找到了原来是同一个接口的定义在两边定义。之前都是按照之间的字符串来定义的刚刚报错 Agent 只改了当时报错的地方换句话说只改对了一半儿Agent 问我要不要保持两边接口定义的一致可我想问它为什么你不知道改其他类似的地方呢这现象有点反直觉。按往常来看Agent 改 bug 时在修复完后会找跟这个地方有关联的代码跟着一起修改怎么这次它突然不灵了鉴于当时的上下文已经被清理而且是使用 SubAgent 实现的这个功能中间的日志也太多也不好找。所以我开始猜想。会不会是 copy 代码的问题因为是 copy所以两个定义响应内容的地方根本没有引用关系。因此Agent 做代码扫描的时候很可能通过 grep 只找到了当时需要修改的那个地方所在的方法然后顺着调用链路来查就结束了。如果真实这样那即使是在 MonoRepo 这样的项目里面也确实不一定能关联到所有需要变动的地方。我突然间想起刘震云的一句话“这事儿从根上就错了”。我想了下这事儿就不是要不要保持一致而是一定要保持强一致。代码是两个地方有一模一样的类型定义要改的话得两个地方都改。如果只在一个地方定义所有地方共用一份代码那这才是从根儿上解决了这个问题吧如果代码还是两个地方都有仅仅是保持两个地方的代码一致。装一点来说“这并不本质”。为了让所有用到API的地方都保持强一致必须在共享包目录下来定义。然后各个 repo 去依赖这个共享包这个模式让我突然想到“服务契约”。本身这是在微服务中用的很多的按说我这个 monorepo 项目本质上就是一个单体应用理论上是用不到的。为什么这里又能扯到服务契约呢多端的代码在一个 Codebase 下Agent 肯定是能识别到的而如果能识别到那在代码实现的时候 Agent 应该会自觉遵守。毕竟换成人来写代码如果发现两个地方的 API 用的是一样的我肯定是知道这两个地方的响应结构是一样的。但实际上我这个场景隐含了一个假设。那就是第一次定义 API 响应内容的时候一定是正确的。我第一次使用这个 API 时使用的是错误的响应以致于后面写的代码会照抄这个响应逻辑。等到报错之后我才发现我要 API 的响应结构。可是修改的时候 Agent 只会改你提到的地方不会进一步思考是不是会有其他地方也需要改。等等这个易错模式我有点熟悉。好像在 《重构》 里面提到过“霰弹式修改Shotgun Surgery”——需要修改的代码散落在各处难以找到他们容易修改遗漏。这样一解释完全就说通了。想要从根上解决还得靠软件工程这些年下来沉淀的经验。虽然现在的代码不由人来维护但人的精力还是有限。软件工程沉淀下来的约束可以让 Agent 更好地管理代码跑得更有效率。GitHub - dkisser/browser-bridge: Let AI agents and scripts control your local browser through a simple CLI — keeping your sessions, cookies, and credentials local. · GitHub
微服务速成-OpenFeign远程调用 快速入门使用:引入依赖spring-cloud-starter-openfeign启动类加上注解:EnableFeignclientOpenFeign的使用和SpringMvc完全是反过来的,非常好理解,接下来我们举例说明注解SpringMVCOpenFeign通用性Controller后端页面控制器不使用不… 2026/7/3 2:08:21
AI大模型的思维过程终于可以被看懂了 这项由中国科学院软件研究所中文信息处理实验室联合中国科学院大学开展的研究,以预印本形式发布于2026年6月22日,论文编号为arXiv:2606.23404,有兴趣深入了解的读者可以通过该编号查询完整论文。当一个顶尖AI模型在思考一道数学题时ÿ… 2026/7/3 2:06:21
摄像头 AI 前处理:模型没变,输入脏了照样识别错 摄像头 AI 前处理:模型没变,输入脏了照样识别错 一、深度引言:前处理不是胶水代码,是模型感官的决定性环节 做边缘视觉 AI,现场反馈最多的不是"模型精度不够",而是"明明同一张图,… 2026/7/3 2:04:21
HarmonyOS ArkTS 实战:实现一个校园考试倒计时复习计划应用 项目效果 本文实现的是一个基于 HarmonyOS 和 ArkTS 的校园考试倒计时复习计划应用。项目使用 ArkUI 组件完成页面布局,通过 State 管理考试计划数据,实现考试科目添加、考试倒计时、复习进度切换、优先级标记、状态筛选、计划删除和数量统计等功能。 最… 2026/7/3 3:22:52
联合体和枚举 一。联合体核心定义:一种自定义数据类型,所有成员共享一块内存空间,所以联合体也叫共用体,它的关键字为 union。给结构体其中一个成员赋值,其他成员的值也跟着变化(1)内存分配规则:… 2026/7/3 3:22:52
SpringBoot燃诺健身房管理系统设计与实现 选题背景 随着全民健身国家战略的深入推进以及居民健康意识的普遍提升,我国健身行业正迎来前所未有的发展机遇。作为提供专业健身服务的主要场所,健身房的数量与规模持续扩张,会员群体也日益庞大。然而,传统健身房依赖纸质记录、人… 2026/7/3 3:20:51
为什么workbuddy连win+D显示桌面都做不到,Claude和Codex却可以?这里面是安全的取舍 现象我尝试了让workbuddy帮我把电脑设置为只显示桌面,把其他窗口都最小化。它试了N种方法都做不到;国内agent普遍不能真的操作电脑;但是国外的Claude和Codex都可以。真正的情况(WorkBuddy 的对话回复功能)没法直接控制… 2026/7/3 3:18:51
AI商业化落地两头堵,效率优先能否推开普及之门? AI收费时代来临上周,豆包正式开始收费,推出专业版并分成三档价格,最高级套餐包年费用达5088元。紧接着,以"价格屠夫"闻名的DeepSeek也要更换计价方式,实行新的峰谷定价模式,每天上午9点到12点、下… 2026/7/3 3:18:51
显存还没爆,大模型先崩了?你的 KV Cache 正在悄悄杀掉你的显存预算 同一个 Llama-3-8B(Q4_K_M),同一段 prompt。-ngl 0 纯 CPU 解码,我这台机器上大约 2 tokens/s;-ngl 99 全塞进一张 RTX 4090,稳定在 150 tokens/s 上下——75 倍。中间那条曲线不是直线,也不是你以为的样子。 先说一个大多数教程都写错的事实:n_gpu_layers=10 不是把前… 2026/7/3 3:18:51
如何5分钟快速上手XUnity.AutoTranslator:打破语言障碍的游戏翻译神器终极指南 如何5分钟快速上手XUnity.AutoTranslator:打破语言障碍的游戏翻译神器终极指南 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 你是否曾经因为语言障碍而错过精彩的游戏剧情?面对日… 2026/7/3 0:01:58
3种策略管理Playnite便携版:从基础部署到高级维护的完整指南 3种策略管理Playnite便携版:从基础部署到高级维护的完整指南 【免费下载链接】Playnite Video game library manager with support for wide range of 3rd party libraries and game emulation support, providing one unified interface for your games. 项目地址… 2026/7/3 0:05:59
2026江苏三维扫描仪定制厂家:一条很现实的分水岭——“会用”和“用对” 在江苏制造业的三维扫描项目里,有一个很容易被忽略的分界线: 👉 会用设备,不等于用对设备。 尤其在江苏GOM三维扫描仪定制厂家、江苏蔡司3D扫描仪定制厂家项目中,这条分界线会直接决定系统最终是“工具”,还… 2026/7/3 0:07:59