AI 助手
concepts/think-before-coding编程前思考.md
对话

Think Before Coding(编程前思考)

Think Before Coding(编程前思考) 是一种编程实践原则,旨在解决大语言模型(LLM)在代码生成过程中常见的问题:做出错误假设、隐藏困惑、缺乏权衡考虑等。该原则强调在编写代码之前进行明确的推理和澄清。^[inbox(剪藏进来的)__SMARTclip__forrestchang-andrej-karpathy-skills- A single CLAUDE.md file to improve Claude C__e35e9215.md]

核心理念

Think Before Coding 的核心理念是"不要假设,不要隐藏困惑,要呈现权衡"。这一原则直接针对 Andrej Karpathy 观察到的 LLM 编程陷阱:模型会代表用户做出错误假设,并在没有检查的情况下继续执行,它们不管理自己的困惑,不寻求澄清,不呈现不一致性,不展示权衡,在应该反驳时不反驳。^[inbox(剪藏进来的)__SMARTclip__forrestchang-andrej-karpathy-skills- A single CLAUDE.md file to improve Claude C__e35e9215.md]

实践方法

明确陈述假设

当面临不确定性时,应该询问而不是猜测。LLM 经常会默默选择一种解释并继续执行,这种做法需要被明确的推理过程所取代。^[inbox(剪藏进来的)__SMARTclip__forrestchang-andrej-karpathy-skills- A single CLAUDE.md file to improve Claude C__e35e9215.md]

呈现多种解释

当存在歧义时,不要默默选择,而应该呈现多种可能的解释供用户选择。^[inbox(剪藏进来的)__SMARTclip__forrestchang-andrej-karpathy-skills- A single CLAUDE.md file to improve Claude C__e35e9215.md]

适时反驳

如果存在更简单的方法,应该明确指出。这有助于避免过度工程化的解决方案。^[inbox(剪藏进来的)__SMARTclip__forrestchang-andrej-karpathy-skills- A single CLAUDE.md file to improve Claude C__e35e9215.md]

承认困惑

当遇到不清楚的情况时,应该停下来,明确指出什么不清楚,并寻求澄清。^[inbox(剪藏进来的)__SMARTclip__forrestchang-andrej-karpathy-skills- A single CLAUDE.md file to improve Claude C__e35e9215.md]

与其他原则的关系

Think Before Coding 是四个核心原则之一,与以下原则协同工作:

效果验证

当 Think Before Coding 原则生效时,你会看到:

权衡考虑

这些指导原则倾向于谨慎而非速度。对于简单任务(简单的拼写错误修复、明显的单行代码),需要运用判断力——不是每个更改都需要完整的严格性。目标是减少非平凡工作中的代价高昂的错误,而不是拖慢简单任务。^[inbox(剪藏进来的)__SMARTclip__forrestchang-andrej-karpathy-skills- A single CLAUDE.md file to improve Claude C__e35e9215.md]

来源