当你的 AI 助手说"我觉得这样改更好",你真的知道它为什么这样想吗?
01 一个让我后背发凉的场景
上周 Review 代码时,我发现一个诡异的问题。
Claude 帮我重构的模块,逻辑是对的,但实现方式很怪。
不是最优解,也不是最简洁的写法。
更像……它在试探什么。
我问它:"你为什么选择这个方案?"
它回:"基于代码上下文和最佳实践。"
废话。
我想知道的是:它到底看了哪些文件?怎么权衡的?有没有漏掉什么约束?
但答案是一团迷雾。
这就是 AI 编程的暗面——
决策过程不可见,出了问题只能猜。
02 开发日志提示词是什么
直到我发现了这个技巧。
不是新工具,不是新模型,就是一个提示词模板。
核心思想很简单:
让 AI 在写代码的同时,输出它的"思考过程"。
就像开发日志,记录每一步决策。
具体做法:
在提示词里加一段指令:
请在生成代码前,先输出你的决策日志:
1. 你分析了哪些文件/上下文?
2. 你考虑了哪几种实现方案?
3. 你为什么选择当前方案?(列出权衡点)
4. 你排除了哪些方案?为什么?
5. 有哪些潜在风险你觉得需要人工确认?
就这么简单。
但效果惊人。
03 实测对比:有日志 vs 没日志
我用同一个需求测试了两次。
需求:给现有用户系统加 OAuth2 登录。
无日志模式(默认)
Claude 直接输出代码。
200 行,看起来没问题。
但我不知道:
- 它有没有看到我已经有的 JWT 逻辑?
- 它为什么选 Passport 而不是 Auth0 ?
- 它有没有考虑刷新令牌的安全存储?
信任成本极高。
有日志模式(加提示词)
Claude 先输出决策日志:
【决策日志】
1. 分析的文件:src/auth/jwt.ts, src/models/user.ts
2. 考虑的方案:
- A) Passport.js + JWT(轻量,生态成熟)
- B) Auth0 SaaS(快速,但增加外部依赖)
- C) 自研OAuth中间件(灵活,但工作量大)
3. 选择方案A的原因:
- 项目已有JWT基础设施,复用成本低
- 团队熟悉Passport生态
- 自研ROI太低
4. 排除方案B:不想引入第三方SaaS依赖
5. 排除方案C:时间成本不划算
6. 潜在风险:
- 刷新令牌存储方式需确认(建议Redis)
- 多设备登录冲突策略未定义
- 建议人工Review权限边界
然后才是代码。
一目了然。
04 为什么这招管用
三个原因:
第一,强制 AI 显式思考。
大模型本质是概率预测,它的"思考"是隐式的。
开发日志提示词,相当于逼它把潜意识变成显式表达。
第二,暴露盲区。
你看上面的日志, AI 自己说了:
- "多设备登录冲突策略未定义"
- "权限边界需 Review"
这些问题,默认模式下它不会提。
不是它不知道,是它觉得"你应该知道"。
第三,建立信任。
当你看到它的决策过程,你才知道该不该信。
而不是盲目接受,然后半夜 Debug 。
05 进阶玩法:结构化日志
基础版够用了,但还可以更专业。
我整理了一个结构化模板:
## 决策日志
### 上下文分析
-相关文件:[列出分析的文件]
-关键约束:[业务/技术约束]
-已忽略的内容:[明确说明没看什么]
### 方案对比
| 方案 | 优点 | 缺点 | 适用场景 |
|------|------|------|----------|
| A | ... | ... | ... |
| B | ... | ... | ... |
### 最终决策
-选择:[方案]
-理由:[具体原因]
-风险:[已知风险]
### 需要确认
- [ ] 问题1
- [ ] 问题2
把这个模板放进 System Prompt ,每次对话自动生效。
06 局限和坑
别神话这个技巧。
坑一: AI 会编日志。
有时候它为了凑格式,会"合理推测"自己看了什么文件。
实际上并没有。
对策:要求它引用具体的代码片段,而不是笼统描述。
坑二:日志太长。
复杂任务下,决策日志可能比代码还长。
对策:加字数限制,或者分阶段输出(先给概要,详细日志按需展开)。
坑三:不是银弹。
它能让决策可见,但不能保证决策正确。
最终 Review 权,还是在人。
07 我的建议
如果你在用 AI 写代码,今天就可以试试:
第一步:把开发日志模板复制进你的 System Prompt 。
第二步:跑一个中等复杂度的任务,对比有/无日志的差异。
第三步:根据你的项目特点,调整日志模板。
一周下来,你会对 AI 的"思考方式"有全新认知。
08 最后说两句
AI 编程工具越来越强了。
但强不等于可信。
可信的前提是透明。
开发日志提示词,就是给黑箱开一扇窗。
不是最完美的方案,但可能是目前成本最低的方案。
毕竟,一行提示词就能换来可审计的决策过程。
这买卖,值。
你觉得 AI 写代码应该"可解释"吗?
在评论区聊聊你的看法,点赞最高的送一份我整理的《 AI 编程审计清单》。
觉得有用?点个关注,每周三篇技术干货。
这里是一个 10 年开发者的技术观察站,专注:
- 开源项目深度解析
- AI 工具实战技巧
- 技术热点独立观点
不追热点,只写值得写的东西。
夜雨聆风