前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片NEW
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 业务场景题真实业务问题与追问
  • 查漏补缺常见问题解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
    • AI 定制路线NEW按你的简历现排
    • AI 知识地图NEW串起全站知识点
  • 动态
    • AI 热点NEWAI 每日动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
AI 助手NEW
旧版
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片NEW
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 业务场景题真实业务问题与追问
  • 查漏补缺常见问题解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
    • AI 定制路线NEW按你的简历现排
    • AI 知识地图NEW串起全站知识点
  • 动态
    • AI 热点NEWAI 每日动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
AI 助手NEW
旧版
返回 AI 情报前线
All News · 全部资讯8741
  • GitHub Copilot 新增 GPT-6 Sol/Luna 模型选项
  • Claude Opus 5.5 智能/性能/价格深度分析
  • Anthropic发布Opus 5.5降价20%,但Agent调用可能暗中路由至旧模型
  • Anthropic称Opus 5.5为「史上最强」,定价更低的Fable级性能
  • Anthropic 发布 Claude Opus 5.5:强化网络安全防护,遏制越狱行为
  • Claude Opus 5.5 正式发布:832 分成社区热议
  • 生产级 AI 语音 Agent 架构:WebSocket 与延迟优化实战
  • Permission Envelope:让 AI 权限自动过期的安全控制机制
  • llm-typesafe插件支持Jev模型二元判断
  • Python AI Agent 上线前必读:测试、可观测性与零成本方案
  • Cloudflare Worker Previews:为 Agent 每次变更提供隔离预览环境
  • NVIDIA Isaac ROS 5.0 发布:加速 Agentic 机器人开源开发
  • Meta Muse macOS 应用零日漏洞遭修复
  • 小米6天烧2000万训练开源模型MiMo,跃居开放模型榜首
  • LLM应用输入输出Guardrails实战指南
  • Claude发现libheif堆缓冲区溢出:HEIC图片供应链安全研究
  • 多模型调度与反馈闭环:基元律动CTO谈Agent持续进化
  • 阮一峰科技周刊第413期:再见了React Native
  • 用Python/ChromaDB/Gemini搭建轻量级RAG实战
  • 生产环境中降低LLM成本的七种实战方法
  • AI驱动开发反思:过度规格化反而拖累AI编程
  • AMD ROCm:AI Agent正在降低GPU编程门槛
  • 小米MiMo-V2.6-Pro登顶开源权重模型榜首,300万美元预训练
  • 四Agent并行:状态文件是保持一致性的关键
  • 长任务前何时压缩上下文:Claude Code实战经验
  • 5美元/月自建Qwen2.5 72B推理服务:vLLM+AWQ量化部署指南
  • Prompt缓存失效的根因:工作流在悄悄破坏精确前缀匹配
  • NVIDIA SoL-Pi:编码Agent的Token流量降低49%的Auto-Research框架
  • Grok 4.7 发布:更大基座、同价位,编程与 Agent 任务升级
  • vibe coding 两小时后质量崩塌的根因分析
  • 用 git 在多设备间同步 Claude Code 和 Codex 会话
  • 小米 MiMo-V2.6-Pro 开源:科研任务效率提升 10 倍
  • 评估Agent代码补丁前先清点测试面
  • 阿里云栖大会:Qwen4训练中,全模态模型新版本亮相
  • Qwen4.5后参数扩展至5-10T,Qwen4和视频模型均在训练
  • 阿里云栖大会正式发布Qwen4
  • 凌晨3点LLM路由崩溃排查:上游回收引发的级联故障
  • Hugging Face Transformers现已支持运行llama.cpp量化模型
  • Jev:按输入计费的决策模型,输出免费
  • Langflow OSS 认证 RCE 漏洞 CVE-2026-17633
  • 小米 MiMo-V2.6 开源:AA 指数最高开源模型
  • xAI发布Grok 4.7:编程强化模型,百万词元2美元起
  • Meta AI 助手 Muse 存在关键 0-day 漏洞,ClickFix 攻击可劫持
  • AWS发布Strands Harness:开源Agent框架,Token成本降28%
  • Spec-Driven 开发:摆脱 Vibe Coding 的工程化实践
  • AI 编程助手 CSS 好看但上生产就崩的根因与修复
  • Agent 诊断结果上线前如何验证:分离决策与执行
  • OpenAI 成立数学顾问组,AI 已解决逾百开放难题
  • Grok Build vs Claude Code:记忆能力实战对比测评
  • AI编码导致CI成瓶颈?我们重新设计了CI流程
  • AI Agent 在无需文字的决策上浪费大量 Token
  • 已加载 51 / 8741
8.0
热点
AI SCORE
编程提效2026-09-22 16:20

AI驱动开发反思:过度规格化反而拖累AI编程

dev.to · AI#AI编程#工作流优化#Agent
Editor brief · 编辑速览

作者实践了四个月的AI全敏捷团队(SDD规范驱动开发),发现过度规划反而导致产出为零,探讨了AI编程前如何合理定义工作边界。

文章思维导图
Knowledge map
拖拽缩放
Full translation

完整中文译文

9 月 5 日,我从自动驾驶代理的仓库里一次提交删除了 1,782 个文件。Agents、模板、工作流配置、一份 PRD(产品需求文档)、一份架构文档、一份比大多数小说还长的故事待办清单。大约 16 MB 的流程文件,没有一行产品代码。

敲下那条提交信息的感觉,比那个月交付的任何东西都要好。

先交代点背景,如果你第一次听说这个项目。我的自动驾驶代理是一个自主编码系统,我构建并运行了几个月:它接收 GitHub webhooks,运行无头 Claude Code 会话,在不需要我操作键盘的情况下完成代码编写、审查和合并 Pull Request。我之前写过从构建到它燃尽 token 那一天的全过程。但那些帖子都绕开了一个问题:在 agent 看到任务之前,工作应该怎样规划。

业界对这个问题有答案。SDD(Spec-driven development,规格驱动开发):先写规格,让规格成为契约,然后让 agents 根据规格实现。BMAD 就是这个理念的全面落地——一个完整的敏捷组织被搬进了软件里,有 AI 分析师、架构师、产品经理和开发者,还有一套按顺序运行它们的工作流。整整四周,它在为我规划产品。

这篇文章要讲的是那个月的代价,以及那个小得令人尴尬的东西——它才真正解决了 BMAD 本应解决的问题。如果你运行编码 agents,而你的 PR 老是在变成"人质谈判",这篇文章就是写给你的。我错了两次才找到正确答案,而那两个错误的答案在当时看起来都很聪明。

引发这一切的失败

bmad-s1-two-laptops

你经历过这种失败。这周你可能就犯过。

你很忙,agent 能力很强,所以你提了一个一行的问题:去掉这个,加上那个,让它可配置。Agent 看到了你的描述,构建出来的要么是错误的东西,要么是对正确东西的过度设计。然后你花大价钱请来专门捕捉问题的审查模型,在审查中捕捉到了问题——在工作已经存在之后,在钱已经花掉之后。

我最严重的一次:一次本该安静删除的清理工作,跨越十轮审查,收到了六十条评论。两个模型相互争论,一轮又一轮,每一轮都在向我收费。然后我关闭了那个 Pull Request,没有合并。

六十条评论。十轮审查。没有交付任何东西。而整场争论都源于我在三十秒内写下的那一行描述。

尝试 1:机器试图自我修复

bmad-s2-printer-loop

我的自动驾驶代理对"PR 太大"问题的回答是——我发誓——更多的自动驾驶。

它生成了一个规模门禁:一个 scope agent 估算每个 issue 会产生多少 diff,超过了预算就把工作拆成有序的子 issue。近六千行新代码,就为了强制未来的代码遵守行数预算。这不是我设计的,是机器设计的,而且它对问题的诊断也很准确——它自己的 PR 描述诊断出大规模 PR 是导致审查翻车的原因。

但它还是在攻击症状。门禁是在意图已经写糟了之后才去度量工作。工作拆分是事后进行的,根本不是真正的规划。一旦有了 diff 需要评估,犯下的错误就已经根深蒂固了——问题早在 issue 里就铸成了。

我从未合并它。最危险的部分是它看起来是那么合理。

bmad-s3-mission-control

我是通过一个关于规格驱动开发的播客发现 BMAD 的。其中一位嘉宾是 BMAD 的贡献者,他说的每件事听起来都很扎实。我渴望这种扎实。我厌倦了和自己的 Pull Request 争论。

所以在拒绝了机器的六千行修复方案的第二天,我安装了一个包含 1,782 个文件的方案。

BMAD 像企业规划卫星发射一样规划我的产品。一份 13,397 字的 PRD。一份 19,867 字的架构核心。一份达到 43,062 字的 epics.md 待办列表。九个 epic,八十六个 story,每个都有验收标准。读这个计划的感觉就像是终于有了成年人的监督。

五天后,实现就绪评估发现了一个关键遗漏和三个主要规划缺陷,阻断了所有进一步的实施。仔细想想吧——计划在计划的审查中失败了。同一天批准的修复方案将计划扩大到 91 个 stories。产品没有任何进展。

然后循环开始了,我开始见识到真正的账单。一个典型的 story 消耗了一到两百万 token。一个 story 达到了约三千万。三千万 token,一个 story。也许我配置错了什么;说实话,我可能确实配错了。但看看我的配置为了自保变成了什么:每个 story 四百万 token 的预算、二百一十分钟的会话超时、七次审查轮次的硬上限、没有结果的会话的推动预算。这些不是配置。这些是限制令。

公平地说,bmad-loop 本身确实做得很好。TUI 令人印象深刻。质量标准是真实的;审查确实捕捉到了真实的缺陷。四周内,23 个 stories 通过它实现并审查。还有六个完成了代码但停在"等待操作员"状态,等待只有人类才能做的事情。

但我的产品还很年轻,变化很频繁,每次变更都创造了作业。更新 PRD。更新架构。更新待办列表。文档需要保持最新,代码才能被允许移动,所以代码以文档的速度移动。

我本该操作一个自主系统。我却成了它的秘书。

我的判断不是 BMAD 不好。BMAD 很扎实。太扎实了。对于一个规格稳定、已建立的产品,这个标准可能恰好合适。对于仍在寻找形态的产品,这个标准扼杀了唯一重要的指标:发布的时间。9 月 5 日,整套东西在一次提交中离开了,发布线在同一天向前移动了。

尝试 3:偷走好的部分,跳过宗教

bmad-s4-pinned-card

这是真正有效的方法,也是我会告诉你做的,而不是我那两个失败的做法。

我没有采用另一个框架。我从规格驱动世界拿了那个真正有价值的东西——Spec Kit 表达意图的方式——然后把它塞进了我已经用来提交工作的 add-autopilot-issue 技能里。Spec Kit 在 BMAD 包罗万象的地方做到了简洁,它问的问题恰好是真正重要的:什么改变了,为了谁,你怎么知道它有效。

现在运行我接收流程的机制,都很小:

每个 story issue 都带有一个固定的规格引用:Spec: owner/repo@sha:path#user-story-N,需要完整的 40 字符 SHA。Coder 和 reviewer 读取同一版本,这样任何人都不能在会话中期通过编辑规格来移动球门柱。

一个 user story 对应一个 issue。两个或更多则变成一个父 epic issue,每个 story 一个 issue,并带有 epic/NNN-<slug> 集成分支。

超过 12 个 task 的 story 在提交前会被拆分。

审查根据固定的规格运行,使用 BLOCKING/SHOULD/NIT 评价标准,这样"我不喜欢它"和"这违反了规格"不再是同一条评论。

还有一条没有代码强制执行的规则,因为这是我的规则:当我写 issue 时,我的目标是大约 300 行非测试代码。足够小以至于会话不会偏离,足够小以至于审查不会失控。

这就是整个修复方案。一个重新设计的技能和一行固定的文字。我尝试过的最小的东西,也是唯一仍在 main 分支上的。

在它开始之前就决定了

bmad-s5-notebook

三次尝试,一个穿着三种服装的教训。自主编码会话的质量和成本在它开始之前就决定了:由意图表达得多精确,以及工作到达时多小。规模门禁试图在代码中强制执行,但在意图之后。BMAD 试图在文档中强制执行,在意图之上。有效的方法就是去做:精确地说出我想要的,以足够小的块来承受审查的接触。

还有一个观察,作为观察提供,因为我还没有测量它,而且它显然不是线性的:意图表达得越好,执行它的模型就越便宜。

还有一个判断,给现在正在权衡 BMAD 的人。我没有浅尝辄止。我运行了完整的、基本的方法,按照它被设计的方式运行,但它对我来说不工作:太长了,太贵了。对于一个规格稳定且能容忍繁文缛节的企业,同样的重量可能恰好合适。我的项目进展很快,BMAD 无法跟上。所以实验关闭了。我不会在任何我的项目上运行它;更灵活的方法以一小部分成本携带了它最好的想法。

这就是那 1,782 个被删除文件的意义。不是 一个失败的工具。

Original source

本文由 AI 翻译整理自 dev.to · AI,原文版权归原作者所有。

阅读英文原文
上一篇
生产环境中降低LLM成本的七种实战方法
下一篇
AMD ROCm:AI Agent正在降低GPU编程门槛