夜晚的城堡,绿色监控灯光沿城墙排列,暗处可见红色裂隙和潜伏的人影

1754个测试全绿,为什么"神探"一出手就揪出6个刺客?

序幕:1754 颗完美落下的棋子 在 Aristotle 系统升级到 v1.6.0 的那个深夜,工程师团队盯着屏幕上的测试面板。 绿色的提示灯像多米诺骨牌一样,一个接一个地亮起。Python 侧的 1166 个防御关卡,TypeScript 侧的 588 个瞭望塔,总共 1754 个自动化测试用例,全部完美通过。 ...

2026-07-15 · 7 分钟 · Alex Wang
分开的左右两半建筑结构,左暖琥珀色 TypeScript 塔楼,右冷青色 Python 引擎室,中央 subprocess 桥连接,五根标柱支撑

同一个系统,两门语言:Aristotle v1.6 架构决策的五个约束

TL;DR: Watchdog-Intervention Bridge 的跨语言架构是被五类约束逼出来的。Watchdog 必须跟 LLM tool call 做同步拦截 → TypeScript。Intervention 必须复用已有反思引擎和规则系统 → Python。Bridge 必须零新增基础设施 → subprocess。通信不能阻塞每次 tool call → 批量而非实时。这五个决策,每一个都是在特定约束下的妥协。 ...

2026-07-08 · 7 分钟 · Alex Wang
Watchdog-Intervention Bridge 三层架构:从事后反思(暖琥珀色)到实时拦截(冷青色)的过渡

从'事后反思'到'实时拦截':Aristotle v1.6.0 的 Watchdog-Intervention Bridge

TL;DR: Aristotle v1.6.0 引入 Watchdog-Intervention Bridge,从"事后反思"转向"实时拦截"。TypeScript watchdog 在 tool call 前后检测 21 种信号,Python intervention 层处理 13 种违规类型,通过 subprocess bridge 实现跨语言实时干预。MCP 工具从 10 个 stub 扩展到 25 个完整实现。遗留两个确定会出错的 bug。GitHub 开源,MIT 协议。 ...

2026-07-04 · 8 分钟 · Alex Wang
显微镜和望远镜并列,中间一条虚线标注为'看不见的空白层'

看不见的空白层

系列:破而后立的 TDD 流程迭代(第三篇) 第一篇:失之东隅,收之桑榆的实验 · 第二篇:以尺度尺,用方法改进方法 TL;DR: 阶段六已经在集成层做诊断——逐个 bug 追问根因。它不做的事是跨缺陷的模式扫描、组件缝隙检查、执行顺序分析。这些事归阶段七。小系统里阶段七多拦几个 bug;系统大了,同样是这三件事,产出变成建测试基础设施、硬化 CI 规则、驱动架构演进。阶段七不做架构决策,但它提供架构决策最稀缺的输入——基于证据的问题定位。 ...

2026-05-21 · 5 分钟 · Alex Wang
一把尺子量出自身刻度的冗余,然后用这把尺子裁掉多余刻度

以尺度尺,用方法改进方法

系列:破而后立的 TDD 流程迭代(第二篇) 上一篇:失之东隅,收之桑榆的实验 · 下一篇:看不见的空白层——Phase 7 诞生 TL;DR: TDD Pipeline 自己教的是"给原则不给步骤",但自己却长成了步骤驱动的工具。把阶段一到阶段五的操作步骤删掉,只保留原则、风险提示和反面例子。模型自己推导出了被删掉的步骤,输出质量不降。原因:阶段一到阶段五是创作阶段,需要发散空间,去掉固定轨道反而更好。同样的策略用在阶段六上失败了——下一篇讲为什么。 ...

2026-05-20 · 6 分钟 · Alex Wang
实验仪表盘上预期指标全红,但角落里一个未曾关注的刻度盘亮着绿灯

失之东隅,收之桑榆的实验

系列:破而后立的 TDD 流程迭代(第一篇) TL;DR: 把 TDD Pipeline 的阶段六(预发布测试)从"步骤驱动"精炼为"原则驱动",预设目标没达到——精炼版在单个 bug 的追问深度、证据链完整度上都比原版差。但对比两组输出发现了维度差异:精炼版在组件缝隙检查、跨 bug 模式扫描上比原版强。这些差异指向一个判断——阶段六不需要被精炼,而是缺了一个阶段六没有定义的任务,后来被定义为阶段七。 ...

2026-05-19 · 4 分钟 · Alex Wang
左侧散落的脚手架碎片标记为废弃,右侧干净的空框,三条金色虚线连接——从复杂到简洁的升级

升级落地——新模板与三个可迁移建议

TL;DR: 展示 Why Articulation 模板升级前后的对比,以及三条可迁移建议:给原则不给示例、关键步骤用强制语气、相信模型的自我组织能力。实验局限也已说明。 前两篇回顾 第一篇从 Anthropic 的对齐研究出发:教模型"为什么"比只教它"正确答案",误对齐率从 22% 降到 3%(约 7 倍),而且用 1/28 的数据量就能达到同等效果[1]。我把这个发现移植到 prompt 设计里,造出了 Why Articulation 模板——要求 AI 动手前先说清目的、风险和方案。 ...

2026-05-17 · 6 分钟 · Alex Wang
左侧印章复制相同图案,右侧自由笔触独立思考,中间红色叉号表示模仿路径不可取

4 变量 A/B 实验——正面示例为什么有害

TL;DR: 四变量 A/B 实验测试 Why Articulation 的结构、语气、位置和示例。正面示例反而有害——模型倾向模仿而非独立思考。开放式 prompt 方向性提升质量,同时节省 33% token。 系列:为什么让 AI 动手之前先说 why(第二篇) 上一篇:从 Anthropic 的对齐研究到一个 Prompt 设计思路 ...

2026-05-15 · 8 分钟 · Alex Wang
一座写有 WHY 的拱门,门前放着红色和金色两根不等长的杆子

从 Anthropic 的对齐研究到一个 Prompt 设计思路

TL;DR: Anthropic 的对齐研究表明,教模型"为什么"比教"做什么"更有效——误对齐率从 22% 降到 3%。本文拆解四组实验,提炼出三个可迁移的 prompt 设计教训。 ...

2026-05-14 · 6 分钟 · Alex Wang
六种 bug 模式:组件各自正确,集成后破碎,诊断性复盘中浮现规律

测试全绿,系统不能用:18 个 bug 的六种死法

TL;DR: Aristotle v1.1 发布前发现 18 个 bug,单元测试只拦住 4 个(22%)。剩下 14 个都在集成层——组件接线、配置传递、进程启动的交叉点。对它们做 root cause analysis 后归纳出六种模式:路径/环境不一致(5 个)、注册遗漏(3 个)、启动阻塞(2 个)、静默失败(2 个)、测试-生产路径差异(2 个)、集成拼接错误(4 个)。根因不是问题变难了,是 AI 绕过了手写代码时靠经验建立的防线——实现和审查的节奏脱钩、代码外观误导了质量判断、集成环节从显式动作变成了隐式假设。文末附八维度集成检查清单和 16 种 bug 类型的路线图。 ...

2026-05-07 · 13 分钟 · Alex Wang