评测驱动开发:把 eval 当 CI
软件工程有 TDD,AI 工程需要 EDD——评测驱动开发。写代码前先写评测集,让它定义"什么是好",每次改动跑评测,下降即拦。本文讲清 EDD 的流程、它和 TDD 的区别(非确定、概率性)、怎么落地,以及它如何把"凭感觉调 AI"变成可工程化的迭代闭环。
Vibe Coding、Cursor、Claude Code、Codex、Copilot
本专题收录 AI 编程 方向的文章和社区讨论,重点关注真实工程场景、工具选择、实践路径和风险边界。
页面会持续更新,适合作为学习路线、选型参考和技术复盘入口。
软件工程有 TDD,AI 工程需要 EDD——评测驱动开发。写代码前先写评测集,让它定义"什么是好",每次改动跑评测,下降即拦。本文讲清 EDD 的流程、它和 TDD 的区别(非确定、概率性)、怎么落地,以及它如何把"凭感觉调 AI"变成可工程化的迭代闭环。
"Copilot/Cursor/Claude Code 用着爽,但你想过'做一个给自己的代码生成'吗?本文拆解代码生成产品的工程内核:上下文构建(给模型看哪些代码)、生成策略(补全/编辑/Agent)、质量护栏(语法/测试/diff),以及做内部代码助手时和通用 AI 编程工具的差异化——场景收敛 + 代码库感知。"
测试欠债是每个团队的痛,AI 生成测试能大幅缓解——但也能制造一堆无意义测试和虚假覆盖率。本文讲清 AI 生成测试的正确姿势:哪些测试适合交给 AI、生成→验证→接受的工作流、避免覆盖率陷阱、工具选型(Claude Code/Codium/自建),以及 AI 测试替代不了的部分。
AI 能写代码后,程序员的瓶颈从"写"转移到"想清楚要什么"。Spec 驱动开发(先写规格再让 AI 实现)正是为此而生。本文讲清什么是 spec 驱动、spec 该写什么(需求/约束/验收/不要做的)、spec→plan→iterate 工作流,以及 spec 作为文档、测试、契约的多重价值。
AI 帮你写代码,也可能帮你引入漏洞、幻觉依赖、不合规许可证——这是新的供应链风险。本文讲清 AI 编程引入的四类风险(AI 生成漏洞/幻觉依赖/许可证/模型供应链),以及防护:SCA、许可证审查、AI code review、沙箱、依赖治理,让你放心用 AI 写生产代码。
LLM 单独理解代码有局限——它看的是文本,不懂精确结构。把 AST(抽象语法树)和 LLM 结合,能做更精准的代码搜索、重构、审查、补全。本文讲清为什么需要 AST、AST + LLM 的组合模式、tree-sitter/LSP 工具链,以及它如何让 AI 编程工具更可靠。
调试是程序员最耗时的工作之一,AI 能大幅加速——但用错了也只会得到一堆"检查一下网络"的废话。本文讲清 AI 调试的正确姿势:贴对信息(报错/堆栈/最小复现)、适合 AI 的 bug 类型、不适合的(并发/性能/系统级)、给 AI 的上下文工程,以及工具(Claude Code/IDE)的高效用法。
LLM 调用贵且慢,缓存是降本提速的利器——但缓存层做错,要么没命中、要么返回陈旧错误答案。本文讲清 LLM 应用的三层缓存:prompt cache(前缀)、语义缓存(相似 query)、结果缓存(精确 key),各自的适用、命中条件、一致性陷阱,以及组合策略。
AI 功能上线风险更高(质量不稳、成本失控、安全翻车),灰度发布几乎是必需。本文讲清 AI 功能的 feature flag:除了基础开关,还要支持按 prompt 版本/模型/参数灰度,配合 eval 和 A/B,以及灰度策略(1%→10%→100%、按人群),让你敢上线、能回滚。
AI 编程工具改变的不只是个人效率,是整个团队协作方式。本文讲清团队如何拥抱 AI:code review 的变化(AI 代码要怎么 review)、知识共享(AI 使用经验/最佳实践沉淀)、技能演进(从写代码到读/判/拆)、工具采用策略、以及避免"AI 黑箱化"和"过度依赖"的团队规范。
Prompt Caching 是当前 LLM 降本最有效的单点优化,但很多人用错了——命中率低、缓存失效、成本没降反增。本文讲清它的原理(前缀缓存)、命中条件(前缀逐字节相同)、如何设计 prompt 结构提升命中率、TTL 与失效、监控命中率,让 prompt cache 真正省钱。
commit message 和 PR 描述是开发者最懒得写、又最有价值的文档之一。AI 能从 diff 自动生成高质量的它们。本文讲清怎么用 AI 生成符合规范的 commit(Conventional Commits)、PR 描述(动机/变更/测试/风险),以及怎么集成进 git hook/CI,让"懒得写"不再是借口。