给 Claude Code 一个可验证的靶子,结果会稳定很多

我最近越来越明显地感到一件事,Claude Code 写代码的质量,很大程度上不是由一句需求本身决定的,而是由需求后面有没有一个可验证的靶子决定的。

同样是让 Claude Code 实现一个validateEmail,一种说法是「帮我写一个邮箱校验函数」,另一种说法是「实现validateEmailuser@example.com返回trueinvalid返回falseuser@.com返回false,改完以后运行测试」。这两种提示词看起来只差几行输入,但 Claude Code 接下来走的路径完全不一样。前一种说法给了一个方向,后一种说法给了一个判卷标准。方向只能让模型猜,判卷标准才能让模型自检。

Claude Code 不是传统意义上的代码补全器。它更像一个能在终端里工作的工程协作者,能读文件,能改文件,能跑命令,也能根据命令输出继续调整方案。这个循环里最关键的一环,经常不是「生成代码」,而是「验证代码」。只要验证目标足够清楚,Claude Code 就不会只停在看起来合理的答案上,而是会把自己的输出拿去和测试、截图、期望格式、错误日志逐项对照。模型一旦有了对照物,很多主观判断就会变成客观反馈。

不要只描述任务,还要描述验收方式

很多人在用 Claude Code 的时候,会把提示词写成需求单,比如「修复登录问题」、「优化这个组件」、「实现一个表单校验」。这些表达并非不能用,Claude Code 也能从代码库里找线索。但问题在于,只有任务