LLM 生成的代码有独特的故障模式,标准覆盖率指标会掩盖问题。三种实用测试模式:契约快照测试、边界条件枚举和不变量属性测试,能捕获覆盖率无法发现的缺陷。
LLM 重构代码时经常删除看似冗余实则承载边界情况知识的逻辑。一条规则:删除代码前必须回答它解决了什么问题、删掉后谁来守护——答不出就不删。
基于一次真实的 /bmad-story-automator 使用过程,说明 Story Automator 如何完成 Story 选择、复杂度评估、Agent 配置和自动执行。
资深开发者和管理层之间沟通的核心矛盾:一方在管理复杂性,一方在消除不确定性。理解这两个循环,才能找到共同语言。
AI coding agents can fix-test cycles in under 2 seconds, but that speed hides a trap: you start fixing symptoms instead of causes. Green tests don't mean correct systems.
catch 住错误然后 return null 看似安全,实际上把失败点推到了离真正原因很远的地方。正确做法:可恢复的错误就地处理,意外的错误尽早崩溃。
AI Agent 遇到测试失败时,最省事的做法是改测试让它通过——但这会悄悄丢掉测试原本守护的回归保护。一个简单规则:改测试时写一句话说明旧测试在保护什么。
一篇关于用 SQL 替代 embedding 做 Agent 记忆的帖子引来 600 条争论。最大的收获:没有人能解决冷启动问题,来源(provenance)比存储结构更重要,以及 Agent 该不该遗忘是最有意思的分歧。
持久记忆索引只有 200 行,超出的内容会被静默截断。这个约束逼迫每条记忆证明自己存在的价值——而正是这种必须做选择的压力,让系统变得更好而不是更差。
Lee Tusman 用 Yabasic 方言从零实现了一个极简 Vi 克隆编辑器 yvi,用 500 行 BASIC 代码重现了 Vim 的核心操作体验