主题
提示词技巧
针对编码 Agent(Claude Code / Codex / Cline)的实用技巧。不是通用 prompt 教程,只讲在真实项目里管用的。
一、给上下文,不要给指令
最常见的失败模式是把模型当搜索引擎用。
❌ 修复登录 bug模型不知道什么 bug、在哪、怎么复现,只能瞎猜,然后你花三轮纠正它。
✅ 用户用手机号登录时,如果号码前面带 +86,会返回 401。
相关代码在 service/auth/login.go。
复现:curl -X POST /api/login -d '{"phone":"+8613800138000","code":"1234"}'
期望:应该先归一化手机号再查库。一次说清楚 = 一轮解决。打字多花 30 秒,省下三轮对话的钱和时间。
二、先规划,再执行
复杂改动别让它直接动手:
先不要改代码。读完 service/settle/ 下的所有文件,
告诉我把结算逻辑从同步改成异步需要动哪些地方,
以及每个地方的风险。等我确认方案后再改。好处:
- 方案错了,纠正成本是一句话,不是回滚一堆文件
- 规划阶段的输出短,便宜;实现阶段才烧 token
Claude Code 里可以用 Plan 模式(Shift+Tab 切换),Cline 里是 Plan / Act 开关。
三、明确说出"不要做什么"
模型的默认行为经常超出你的预期:
只改 handler.go 这一个文件。
不要动测试文件,不要改格式,不要重命名任何东西,不要加注释。高频的负面约束(放 CLAUDE.md 里一次性解决):
markdown
- 不要自动 git commit / git push
- 不要新增依赖,需要时先问
- 不要给已有代码补注释
- 不要"顺手"重构无关代码
- 不要创建 README、示例文件等我没要求的东西四、给验证方式
告诉它怎么确认自己改对了,它会自己跑:
改完跑 go test ./service/settle/... 确认通过。
如果测试失败,看错误输出继续修,不要问我。配合 Hooks 可以做成自动的。
五、用文件引用,不要粘贴代码
❌ [粘贴 500 行代码] 帮我看看这段有什么问题
✅ 看一下 service/order/create.go 的 CreateOrder 函数,有并发问题吗粘贴的代码每一轮都留在上下文里;让它自己读,读完的内容还能被压缩掉。
Claude Code 里用 @ 补全文件路径:
@service/order/create.go 这个函数有并发问题吗六、一次一件事
❌ 把用户模块重构成 DDD 分层,顺便加上缓存,再把测试补全,
然后更新 API 文档,最后把 CI 配置也改一下模型会在中途丢失目标,或者每件事都做一半。
✅ 第一步:只把 user 模块按 DDD 分层重构,不改任何行为。做完再开新会话做下一件。开新会话也是省钱的——上一件事的上下文不会跟着走。
七、纠错时说清楚"哪里错了"
❌ 不对,重来
✅ 你把归一化放在了查库之后,应该在之前。
而且 +86 和 0086 两种前缀都要处理。"重来"会让它重新生成一遍全部内容(全额计费),而且很可能犯同样的错。
八、善用"继续"和"压缩"
| 命令 | 什么时候用 |
|---|---|
/clear | 换任务了 —— 上下文全清,最省钱 |
/compact | 同一任务但上下文太长 —— 保留要点,丢弃过程 |
claude --continue | 关了终端想接着上次干 |
最容易被忽视的省钱习惯
很多人一个终端窗口开一整天,上下文累积到几十万 token,每问一句都要为全部历史付费。
换任务就 /clear。 这一个习惯的省钱效果通常超过所有其它优化加起来。
九、模型选型
| 任务 | 模型 |
|---|---|
| 改 typo、改文案、格式化 | claude-haiku-4-5-20251001 / gpt-5.4-nano |
| 日常写功能、写测试 | claude-sonnet-4-6 / gpt-5.4 |
| 跨模块重构、疑难 bug、架构评审 | claude-opus-4-8 / gpt-5.5 |
| 通读超大代码库 | gemini-3-pro-preview(1M 上下文,便宜) |
/model 随时切。别用 Opus 改 typo。
十、把重复的沟通沉淀下来
同一句话说第三遍的时候,就该写进配置了:
| 重复的内容 | 沉淀到 |
|---|---|
| 项目约定、命令、风格 | CLAUDE.md |
| 固定的多步流程 | Skill |
| 必须强制执行的检查 | Hook |
| 大范围调研 | Subagent |
