Vibe Coding 不是写得快,是信任链断了。这周读的全是补链子的实操:怎么用 E2E 填上全局感缺口,怎么不靠框架自己搭 Agent Runtime,还有人怎么在 Slack 里管 Claude 而不是盯着终端。

收集区间:2026-09-13 – 2026-09-20(JST),共 12 条。

Agent 怎么落地

Vibe Coding 上线靠的不是没 bug,而是契约+验证

LimboAI
@limbopeng · 2026-09-12

V2EX 上有个热帖问:Vibe Coding 的代码怎么放心上线? 我最近面试的过程中,也有老板这样问。 评论区给出的方案也五花八门,大概只有这几种:让 AI 自己做自动化测试、让 AI 做 Review、人工 Review 等等。 这确实是一种心理变化。把 Vibe Coding 的代码安全地推向生产,本质不是彻底消灭 bug,而是将工程重心的控制权从编码实现,转移到契约约束与确定性验证上。 为什么在没有 Vibe Coding 的时候,我们敢于上线?说白了,其实是心里有一个全局感。Vibe Coding 会造成这种全局感的缺失,那怎么弥补这种全局感呢? 1. 高层次方案 review:首先,从高层次要看一下给出的方案文档是否 OK。这部分没法让 AI 帮你决策,还是要自己 review,然后再和 AI 讨论,直到这些方案你已经烂熟于心。 2. 编码实现与端到端测试:对于编码实现,直接在工地做。做完之后,除了一些单元测试之外,还要做端到端测试和一些对抗测试。因为单元测试很容易让人产生虚假的安全感,AI 会基于它已经写出的错误假设来编造断言;这些看起来正确的单元测试,往往挡不住真实的线上问题。 3. 静态类型与 CI/CD:AI 生成代码的编辑成本趋于0,但人眼逐行 review 很难做到。所以防御必须依赖高杠杆的确定性攻击链,比如严苛的静态类型、CI/CD 等等。 4. 权限最小化、灰度发布与全链路感知:最后一点还是要控制权限最小化,做好灰度发布和及时回滚,以及全链路 trace 和全链路感知。 关于 4 这部分不管在 Vibe Coding,还是没有 Vibe Coding 的时代,都是应该去做的。只不过你做得越好,就越敢频繁上线。 https://www.v2ex.com/t/1241529

这是在说什么

Vibe Coding 让人不敢上线,不是因为 AI 写得差,而是人失去了对整个系统‘心里有数’的感觉。就像开车时突然发现导航关了,你得靠路标、仪表盘和预判来补。所以重点不是让 AI 自己测自己,而是用方案 review、端到端测试、静态类型、灰度发布这些‘确定性锚点’重建控制感。

我们能学到什么

  • 上线信心来自契约(spec)和验证(e2e),不是单元测试覆盖率
  • AI 写的单元测试容易自洽但错漏百出,必须搭配真实路径的 e2e
  • 权限最小化+灰度+trace 是最后的安全网,不是可选项

不靠框架,自己搭 Multi-Agent Runtime 是什么体验

lifcc
@mylifcc · 2026-09-13

想了解Agent机制的有福了,最近看到一个很值得看的开源项目: Designing Multi-Agent Systems 它教的是: 如果不依赖现成框架,一个 Multi-Agent Runtime 到底该怎么设计。

这是在说什么

Multi-Agent Runtime 就像给一群 AI 打工人配的工头+考勤+会议室——它管任务分发、状态同步、错误重试和结果聚合。不依赖 LangChain 或 LlamaIndex 这类框架,意味着你要亲手设计 agent 之间怎么传话、谁说了算、失败了找谁。这不是炫技,是当框架太重或太黑盒时,唯一能看清并调试的地方。

我们能学到什么

  • 先想清楚 agent 间通信协议(比如 JSON 消息格式),再写调度逻辑
  • Runtime 的核心是状态可见性,不是功能堆砌
  • 从单 agent 开始,加一个 reviewer agent 就是第一个 runtime

人看不完代码,就得靠 E2E 构建‘系统性视图’

LotusDecoder
@LotusDecoder · 2026-09-15

又阅读了很多文章和实操后, 最近关于AI软件工程一点思考是: - 人是看不完代码的。 古法时代,流动性高的大型公司或大项目里,是已有的现象。AI编程时代将这个扩大到了更多人。 - 因为人看不完,但还是要形成一个不那么完备的对当前要改动的代码的“理论”,也有人称之为系统性的视图,也有人称之为 概念完整性。这里是人要因为这一次软件需求,对齐代码,否则AI会失控变成温彻斯特房屋。 - 最好使用 e2e 测试,搭建尽量真实还原的场景做测试,降低对AI自己随手写的mock测试的信任。

这是在说什么

以前靠读代码建立全局感,现在代码量和迭代速度让这事不现实。E2E 测试跑起来那一刻,你就知道‘用户从首页到付款成功’这条主干路通不通——它不告诉你哪行错了,但告诉你系统是否还像原来那样工作。这比逐行 review 更高效地重建‘理论模型’。

我们能学到什么

  • E2E 是最廉价的系统完整性快照
  • 别等 bug 出现才写,要在 spec 阶段就定义好验收路径
  • 用 E2E 结果反推哪些模块需要更细粒度监控

Valcraft:把需求文档、计划、评审都塞进 Git,不另建框架目录

Jerry Fang
@Jerry_fsy · 2026-09-18

做AI Agent已经半年了,从最初的懵懂到现在可以交付生产级的Agent。在这个过程中,对Agent的理解逐渐加深。 现在回看,对Agent理解的一个转折点是在微信公众号上看了不少“三元同学”写的文章,逐渐对上下文等概念有了清晰的理解。后来,买了她在Sitor上面的课程,系统学习了Agent。在这些基础打牢后,现在吸收理解包括AI Inference,Agent评测这些知识就更容易了,也是体会一把知识的飞轮。 如果大家对AI Agent感兴趣,可以在公众号上关注“三元同学”,下面附一些我感觉不错的文章: 1.https://mp.weixin.qq.com/s/h5QyZ07G7Kj9xi2gUTltMw 2. https://mp.weixin.qq.com/s/ViQU8mCuLFjLwziOZShhvw 3. https://mp.weixin.qq.com/s/N1WgUN8ddXrw0p0o5IiykA 对AI感兴趣的朋友可以多交流交流。

这是在说什么

很多 SDD(Spec-Driven Development)框架把 spec、plan、review 日志全存在自己目录里,导致 git 提交被噪音淹没、source of truth 分裂。Valcraft 反过来:所有文档写进项目根目录,用 ID 关联 commit 和 PR,Foreman 协调 agent 分工,Herdr 实现跨 agent 独立评审(Claude 查 Codex 的代码)。按常理理解是,它把流程‘扁平化’进了代码仓库本身。

我们能学到什么

  • Spec 和 code 放一起,改需求时自然看到影响范围
  • Foreman 是轻量 coordinator,不是重 runtime
  • 独立 review(不同 agent 交叉检查)比单 agent 自检靠谱得多

缓存别背八股

E2E 测试不是跑通流程,是模拟用户真实操作路径

Erwin
@ErwinWu000 · 2026-09-14

学习了一下Viking老师 @vikingmute 关于E2E验收的博客,收获满满!下面结合我自己的体验,来跟大家分享一下 E2E 的知识 1️⃣ E2E是什么,为什么需要E2E E2E(End-to-End,端到端测试) 是一种模拟真实用户在浏览器中完整操作的自动化测试方式。 它相比代码的单元测试更注重整个端到端的用户操作体验,验证的是整个交互流程能不能跑通。所以它涉及到的模块是非常多的,是整个产品最后呈现的最直接的体现 2️⃣ 如何把E2E引入你的流程 在设计一个新的 feature 的时候,你就需要知道用户是以什么样的形式和路径来进行交互的,这是 E2E 最直接的参照。 Viking 老师提出在写 spec 的时候,就需要先想好 E2E 要测什么,用自然语言描述:打开哪个网页、点哪里、希望看到什么。 在写完代码之后,加入一个 test 环节来专门写 E2E 测试用例。 所以在 spec 那边先定义好测试的大概内容和路径是什么,到 test 阶段再去详细写测试用例。 3️⃣ 用什么工具执行E2E测试? 其实最常用的 E2E 工具还是 Playwright。它是最底层、最直接的,可以根据需求来写断言,测试方法非常直接。 但因为 Playwright 算是比较“古法”的自动化测试,需要先把整个页面的结构、UI 元素等都确定下来,才能用它去跑回归的 E2E 测试看有没有问题。在进入这种自动化回归之前,前提一定是页面的整体结构已经稳定、没有大改动了才跑自动化。 那怎么去验证页面结构是不是已经稳定了? 这时候我们会用到一些 AI 的 E2E 框架,比如 agent-browser 和 EgoLite。它们通过语义化、精简的 Accessibility Tree 以及简洁的引用,给 AI 输出当前页面的结构。而且它的 AI-first 设计能赋予 AI 自动化探索和页面随机操作的能力。 这套方案非常适合在自动化验收之前,先走一遍探索性测试;等确认页面没有什么大问题了,我们再接上 Playwright 的 E2E 测试去做回归和 CI 4️⃣ 什么时候执行E2E测试? 首先我们需要知道,E2E 是跨整个系统端的一个测试,它是把系统的所有子模块放在一起来看最终的流程效果。因为涉及到的面比较广,所以跑 E2E 会很慢,而且需要整个系统的依赖都完全配好。 知道这些基础概念之后,跑 E2E 通常分为几种情况: 1. 推出新的 feature 时:只需要跑 feature 相关的 E2E 测试就好,其他不相关的文件,跑轻量的检查就够 2. 版本发布之前:需要跑全量的 E2E,保证全部功能都是完善的。 3. 对系统进行大重构之后:肯定需要保障重构完的系统是完善的,这时候也要跑全量 E2E。 原文在评论区,感兴趣的朋友自行阅读👇

这是在说什么

E2E 就是让程序假装成真人:打开网页、点按钮、等加载、看结果。它不像单元测试只盯函数,而是横跨前后端、DB、第三方服务。Playwright 是‘手动手动’的底层工具,适合结构稳定后的回归;而 agent-browser 这类 AI-first 工具,是让 AI 自己看页面语义(比如‘登录按钮在右上角’)去探索,适合早期结构还没定死时的试探性测试。

我们能学到什么

  • E2E 用例要从产品 spec 里自然长出来,不是开发完再补
  • 结构未稳时用 AI 探索性测试,稳了再切到 Playwright 回归
  • 别全量跑,按 feature/发布/重构三种场景分级触发

系统设计入门

system-design-primer:不讲八股,讲 Twitter 为什么这么拆

sunmer
@sunmer575399 · 2026-09-14

推荐一个我最近一直在用的开源项目system-design-primer,360.2k star 1️⃣ 把大型系统设计从零讲透,缓存、分片、消息队列挨个拆开讲,不是丢概念,是告诉你为啥这么设计...配合真实架构图看,比刷面经八股强太多 2️⃣ 附带Anki记忆卡,把核心知识点做成可复习的卡片,通勤路上刷刷,面试前突击特别顶,我上次临场就被问到CAP取舍 3️⃣ 覆盖二十多个真实系统拆解,Twitter、YouTube这类怎么扛住流量,一步步推演给你看。学完能自己画架构图,不再是背答案 有技术基础的可以二次开发,小白照着文档跑也行。 这项目火了快两年还能常年挂在GitHub趋势榜,很多大厂内部新人的系统设计培训材料,底子就是这套东西。 你要是准备跳槽或想搞懂后端架构,花两小时过一遍能省下买课的钱。 我身边好几个转岗的兄弟靠它补齐了架构这块短板,现在面试底气明显不一样。 建议先收藏,哪天用得上直接翻。 你们平时啃系统设计都看啥资料,有没有比它更狠的? 🔗 https://github.com/donnemartin/system-design-primer #开源 #GitHub

这是在说什么

这个项目不是罗列 CAP、一致性哈希这些词,而是带你看 YouTube 怎么扛住 50 万并发视频上传——先画流量入口瓶颈,再一步步加 CDN、分片、消息队列来解。Anki 卡片把每个设计决策变成可复习的点,比如‘为啥不用 Redis 做订单库存?因为原子性难保’。

我们能学到什么

  • 学系统设计先看真实系统怎么崩,再看怎么修
  • Anki 卡片记的是‘为什么选 A 而不是 B’,不是定义
  • 360k star 说明它真被用在一线,不是玩具项目

测试怎么写

业务测试要测行为,别测 AI 写的实现细节

Gangqiang Yao
@yaogangqiang · 2026-09-15

上一条说,只靠测试不能保证软件质量。这条先聊也应该怎么写测试,因为这是基础。下次聊关键设计,以及 review 应该看什么。 针对业务项目,我的理解大概是这么几条: 1 测试行为,不测试实现。比如重复下单不会重复扣款,而不是某个方法调用了几次。业务没变,重构一下测试就碎一地,那多半写错了。AI 特别容易写这种测试。 2 用 BDD,先写验收场景,再写代码。测试描述统一用 user 开头,用 Given / When / Then 描述,用户和 PM 也能看懂。别让 AI 写完代码,再照着自己的实现证明自己没错。 3 禁止 mock。Redis、PostgreSQL 能用真的就用真的,外部系统不好接就注入 fake,但要校验它和真实系统的契约。时间逻辑用 fake timer,别 sleep 几秒再祈祷。AI 真的太喜欢随手 mock 了。 4 我倾向大部分写 E2E,从用户入口走到可见结果,外部依赖可以 fake,实在不合适再写其他测试。测试多了就分级,按改动和依赖关系精准测试,定期完整跑。别改两行代码,等 CI 半天。 5 前面做好了,再看分支覆盖率,先定个 90%。但重点是剩下的为什么没测,尤其是失败路径,别让 AI 为了凑数字再写一堆垃圾测试。 6 前边的规则尽量都写成 lint

这是在说什么

比如‘重复下单不扣两次款’是行为,‘OrderService.process() 被调了 1 次’是实现。AI 特别爱写后者,一重构就全挂。BDD(Given/When/Then)强制你用用户语言描述验收条件,mock 要禁用,因为假数据骗不了真实交互;PostgreSQL 和 Redis 就该连真的,不行就用 fake,但得校验 fake 和真 DB 行为一致。

我们能学到什么

  • 测试描述必须 PM 和用户能看懂,否则就是自嗨
  • 用真实依赖或契约严格 fake,别信 mock 返回值
  • E2E 是主力,其他测试是补充,别让 CI 卡在一堆单元测试上

其他

pgbot:给 AI Agent 装上 PostgreSQL 实时体检仪

lifcc
@mylifcc · 2026-09-16

如果你在用 PostgreSQL,建议先收藏这个开源小工具。 很多人给 AI Agent(Cursor / Claude)配工具时,最缺的就是“数据库实时体检”能力。 刚发现一个叫 pgbot 的开源工具,定位是“Postgres Intelligence for AI agents & apps”🧵👇

这是在说什么

pgbot 就像给 AI 配了个 DBA 助理:它能自动查表结构、索引使用率、慢查询、锁等待,还能生成自然语言摘要。AI Agent 在写 SQL 前先问它‘users 表最近有没大更新?’,而不是硬编码 schema 或瞎猜。按常理理解是,这是把 DB 运维知识注入 AI 决策链的第一步。

我们能学到什么

  • AI 写 SQL 前先查 pgbot,比写完再 debug 快十倍
  • 它输出的是 human-readable 摘要,不是 raw pg_stat
  • 适合嵌入 Cursor/Claude 工具集,不是独立运行

Component.gallery:别再说‘那个弹窗’,叫 Dialog

赵纯想
@chunxiangai · 2026-09-15

不要再用 “弹窗”、“下拉菜单”、“闪光加载”、“菜单栏”来和 AI 交流 UIUX 开发了。有时候,命名正确,交流更顺畅,更容易一发命中。你会第一时间看到更符合心意的东西。这个网站可以帮助你学习这些经典组件的名称。 https://component.gallery/

这是在说什么

前端组件有标准命名,比如 Modal 是模态框(遮罩层+内容),Dialog 是语义化对话框(含 aria-label),Tooltip 是悬停提示。用错名,AI 就可能生成不符合无障碍规范或交互逻辑的代码。这个网站就是 UI 组件的‘名词词典’,点开看动效、代码片段、WCAG 合规说明。

我们能学到什么

  • 和 AI 交流前先查 component.gallery,确保用词精准
  • 命名对齐 WCAG 和主流框架(MUI/Ant Design)术语
  • 冷知识:Dropdown 和 Select 是两个东西,前者是菜单,后者是表单控件

没错,这只碗还在找工作。 目前意向是擅长前端的全…

@tcdwww · 2026-09-15

没错,这只碗还在找工作。 目前意向是擅长前端的全栈工程师、前端工程师。 在自学 Agent 开发,已经有一个在自己 Telegram 群组跑起来的群宠 Bot「塑料碗」。 意向 base 北京,其次是上海/杭州。 在线脱敏版简历可以戳 -> https://resume.tcdw.net 欢迎通过在线脱敏版简历里面的 email 联系我。

I’ve open-sourced Valcra…

valzav
@valzav · 2026-09-19

I've open-sourced Valcraft, my set of skills for developing software with AI agents. It helps take work from specifications to verified code and reduces manual coordination between agents. A little background. Complex projects need git, meaningful commits, branches, and pull requests. They also need clear context: code, tests, requirements, plans, decisions, and lessons from mistakes. Both agents and people should be able to tell what to do, in what order, and where to stop. Spec-driven development (SDD) gives that work a structure: write down the requirements and definition of done, plan the work, implement, and verify the result. I spent a lot of time working with several popular SDD frameworks for agents. They helped structure the work, but progress on my projects was slow. The agents and I kept having to work out which information was current. The frameworks' internal files ended up in git, and all that process detail made changes to the code harder to see. Architecture descriptions and project documentation were duplicated in framework directories. We had to figure out which document was the source of truth. Small tasks routinely bypassed SDD, so the process didn't account for all the work. Context quickly filled up with the frameworks' internal data. I once measured token use with one of them: 20% went to implementing and reviewing code, and 80% to running the SDD process. I also had to keep approving transitions: give an assignment, then approve the specs; the agent runs a review, then approve the fixes; time to merge, approve again. Then I had an idea: make specifications, plans, and decisions part of the project itself, without duplicating them in a framework's internal directory. And simplify the process so agents spend fewer resources maintaining it. I tried the approach on my own projects, and it made the work easier. I formalized the process and packaged it as a plugin with skills for Claude Code, Codex, OpenCode, and Cursor. You can add Valcraft at the start of a project or while development is already underway. Specifications, plans, and decisions live alongside the code. Requirement IDs link them to tasks, commits, and pull requests, so you can trace why a change was made and how it was checked. Later I added Foreman, the coordinator. It dispatches agents and reviewers, reads their reports, and chooses the next step. In unattended mode, it handles routine transitions itself. You still resolve unclear requirements and confirm that a feature is complete. Each new stage starts with an agent that has fresh context and reads the project files it needs. Foreman only reads the parts of reports it needs for the next decision. Another useful piece is independent review. If you use Herdr, the agent writing the code and the agent reviewing it run in different coding-agent applications: Claude Code checks Codex's work, or vice versa. Reviews cover specs and code. Findings need evidence; bugs in code behavior need to be reproduced. After fixes, the reviewer rechecks the issues. Foreman brings unresolved material findings to you. Before merging, Land checks that the current code has passed review. In the next few days, I'll post a video of Valcraft building a small game in one run, from the assignment to a verified result. I'll show how it works in practice.

岗位现实

Claude Code 团队已把 70% 工作搬到 Slack 里做

陈成
@chenchengpro · 2026-09-16

Claude Code 团队自己,已经有 70~80% 的工作不在终端里做了。 看完 Thariq、Sid、Robert 三个人的 22 分钟对谈,记了几条。 1. 大部分活在 Slack 里的 Claude Tag 上干。TUI 和桌面端只有两种时候才开,精修某个东西,或者"想微观管理我的那些 Claude"。给的也不再是任务,是目标。 2. 以前底层技术的保质期以年计,现在是两个月。Sonnet 3.5 时代模型给它五件事只做三件就放弃,于是加了 to-do list,一下就好了。一年后这个功能没了,因为不需要了。Sid 的结论是对自己造的东西不要有感情。 3. harness 里大部分功能,说白了是在给当前模型的失败模式打补丁。模型变强就主动删。但任务尺度同时在变大,又得造形态完全不同的新工具。这两句得一起记,只记前一句就是为删而删。 4. AskUserQuestion 这个工具磨了很久才让模型学会调用。结果作者现在自己都不怎么用了,直接让 Claude 出一个带 mockup 的 artifact 来问他问题。 5. Code review 变了。人类 reviewer 挑三个小 nitpick,其实是在证明"我读了"。这活交给 Claude。人只管 Claude 不知道的事,这个 API 为什么长这样,服务边界为什么画在这。 6. workflows 是从 code review 长出来的。fan out 找 bug,每个 bug 再从几个角度对抗性验证,过滤掉误报只留真的。Robert 信任 workflows 的理由很简单,编排层是代码,for 循环不会漏掉任何一项。 7. Claude Tag 第一次把界面和 transcript 彻底分开。Slack 里看到的每条消息都是它主动调工具发的,内心独白看不到。他们一开始很慌,后来发现不盯着也能拿到好结果,才意识到模型真的到这一步了。 8. 怀念什么?Sid 怀念性能优化,"现在 Claude 比我强得多"。Robert 曾经花一整天手写 CSS 复刻 Mac OS 10.4 的 Aqua 按钮,叠了好几层 radial gradient。他说再也不会手工做这种事了。听着有点唏嘘。

这是在说什么

他们不再在终端里一行行敲命令,而是用 Slack 的 Claude Tag 发目标(比如‘让登录页支持 WebAuthn’),AI 自动拆解、调工具、发 PR。人只审关键决策(API 边界在哪)、挑三个小问题证明自己看了,其余交给 AI。TUI 只在精修或微观管理时开。

我们能学到什么

  • 目标式沟通(Goal-driven)正在替代任务式指令(Task-driven)
  • 人类 review 的价值已转向‘边界判断’,而非语法纠错
  • Slack transcript 是新形态的工程日志,比终端输出更易追溯