
本文将以一个真实案例为基础,分享使用 Claude Code 进行自动编程时的核心提示词技巧。在开始之前,我们先来看一下核心需求背景。
原始需求来源于一位付费用户,他希望能在网站文章中看到文章的“最后更新时间”。
这个需求初看有些棘手,因为我的网站文章并非存储在数据库中,而是利用 Next.js 的 SSG (静态站点生成) 功能构建的。页面在构建时生成,其本身并没有一个动态的“更新时间”字段。
这里就引出了第一个关键技巧:在向 AI 助手提出需求时,不要直接将原始、模糊的问题抛给它。原因有二:
- 理解偏差风险:模糊的需求可能导致 AI 理解错误。它最终或许会给你加上一个时间,但这个时间可能不准确或实现方式有问题。
- 成本控制:Claude Code 的 Token 消耗不菲。一个模糊的需求可能导致大量 Token 被浪费在无意义的尝试和错误修正上。
因此,我们需要先对原始需求进行一次“预处理”和拆解。我首先在 DeepSeek 上咨询了可能的解决方案,得到了两个方向:
- 文件构建时间:每次构建时获取文件的生成时间。但考虑到项目使用
Turbopack,其打包策略可能导致每次构建的文件哈希值都发生变化,使得这个“构建时间”不太可靠。
- Git 提交时间:我一想,这个方案更靠谱。文件内容的每次实质性变更,都会对应一次 Git 提交,这个时间戳能准确反映内容的最后修改时间。
确定了使用 Git 提交时间这个核心解决方案后,我便可以构思一个具体、明确的提示词了:
“把 git 提交时间编译在每一篇 .mdx 文章的头部”

Claude Code 在接收到精准的提示词后,表现相当可靠。它开始分析项目结构,并执行一系列文件读取、代码编写操作。

经过大约20分钟的执行,并消耗了约7美元的额度后,任务宣告成功完成。Claude Code 给出了详细的实现总结:

然而,不出意外的话,意外就来了。总结报告显示,有 171 个文件的更新被跳过了!

问题出在哪里?实际上,这些被跳过的文件,其 layout 组件与已成功更新的文件几乎完全相同,仅仅是在调用 PostLayout 组件时多传入了一个 pass 属性,就像这样:
<PostLayout pass>...</PostLayout>
但 Claude Code 的脚本逻辑不够灵活,它将“多了一个属性”这种情况,简单粗暴地判定为“完全不同的自定义组件”,从而选择了跳过,而不是进行适配性修改。它给出的解决方案是手动为每个被跳过的文件添加一大段样板代码。
然而,我期望的、且与已成功更新的数百个文件保持一致的方案,其实简洁得多:
import MdxLayout from 'components/mdx-layout';
export default function Article({ children }: any) {
return (
<MdxLayout pass filePath="src/app/r19base/(4.compiler)/23.compilerlower/page.mdx">
{children}
</MdxLayout>
);
}
于是,我踩了提示词的第二个坑。我向 Claude Code 输入了新的指令:
“使用跟上面一样的方式把跳过的 171 个文件重构一下”
这个表述存在严重的歧义。“上面一样的方式”指的是什么?我的本意是“用那383个已成功更新的文件所采用的方案”,但 Claude Code 将其理解为“我刚才给你建议的那个手动修改方案”。
这一点歧义,直接导致 Claude Code 朝着错误的方向“嘎嘎”执行了20分钟。过程中还出现了两次错误自我修复,疯狂消耗 Token。最终,两种矛盾的理解“打架”导致了任务失败。我不得不放弃这次执行,重新组织更清晰、无歧义的语言。
总结
通过这个实战案例,我们可以提炼出几条使用 AI 编程助手(特别是 Claude Code)的宝贵经验:
- 提供稳定的解决方案框架:在提示词中,尽可能包含你已确定的、相对稳定的解决思路或技术方案。让 AI 在你设定的框架内填充细节,而不是从零开始“思考”,这能显著降低其产生“幻觉”(即编造错误信息)的概率。
- 消除一切歧义:提示词必须清晰、明确,避免使用指代不清的词汇(如“上面的”、“那种”)。任何歧义都可能被 AI 放大,导致它在错误的方向上越走越远。更糟糕的是,LLM 基于概率预测,一旦初始理解错误,后续每一步都可能为了逻辑自洽而编造更多不存在的代码或逻辑,极大地增加开发者的审核成本和潜在风险。
- 善用精准约束:自然语言的约束力远不如代码本身。在提示词中,多使用文件名、代码变量名、函数名、专业术语等精确的“锚点”,能极大地限制 AI 的发挥空间,使其输出更贴近你的预期。
希望这次在 云栈社区 分享的真实“踩坑”与成功经验,能帮助你在利用 AI 提升开发效率的路上走得更稳。技术的本质是解决问题,而清晰、精准的沟通(无论是与人还是与 AI)永远是高效协作的第一步。