玩转通用智能体之Claude Code
第六章 写Prompt的艺术
跟Claude Code说话,是一门艺术。
它不是人,所以你不能像跟朋友聊天那样随意。但它也不是机器,所以你不需要像写代码那样精确。它在两者之间,你需要找到那个平衡点。
一
最基本的原则是:说清楚你要什么。
不要说"优化这个函数",太模糊。是说优化性能?优化可读性?还是优化错误处理?每种优化方向都不一样。
要说清楚:
- 目标是什么
- 有什么约束条件
- 什么是必须做的,什么是可选的
- 什么不能做(比如不能改API接口)
这就像是你交代任务给下属,说得越清楚,结果越符合预期。
二
给Claude Code的prompt,最好有结构。
我的经验是分成几个部分:
- 背景:当前的情况是什么
- 目标:要达成什么
- 约束:有什么限制
- 步骤:如果需要,可以指定大致步骤
比如:
背景:我们有一个处理用户登录的函数,现在它没有任何错误处理。
目标:给这个函数加上完善的错误处理。
约束:
- 不能改变函数的签名
- 不要引入新的依赖
- 所有错误都要有日志记录
步骤:
1. 先分析当前代码可能的失败点
2. 给每个失败点加上try-catch
3. 确保所有错误都被妥善处理
这样结构化的prompt,Claude Code理解起来更容易,做出来的结果也更好。
三
还有一个技巧:给例子。
如果你希望Claude Code按照某种特定的风格或格式输出,最好的方法是给它一个例子。比如:
请按照以下格式写文档:
函数名
简要描述
参数
- param1: 描述
- param2: 描述
返回值
描述
示例
代码示例
有了例子,Claude Code就知道你想要什么格式了,不会瞎猜。
四
Prompt要迭代优化。
第一次说的可能不够清楚,看Claude Code的输出,如果不对,就补充信息,修正方向。这就像是对话,不是一次性的指令,而是来回沟通的过程。
我通常的做法是:
- 先给一个大体的prompt
- 看输出,找出不满意的地方
- 补充说明,纠正方向
- 重复直到满意
有时候这个过程要来回好几次,但最终结果通常都不错。
五
最后,记住一件事:Claude Code有context window的限制。
你给的prompt越长,它记住的东西就越少。所以要言简意赅,不要说废话。重要的信息放在前面,因为后面的内容它可能会忘记。
这就像写信给记性不好的人,要把重要的事情放在开头,而且不能写太长,不然他读到后面就忘了前面说什么了。
写好prompt,是使用Claude Code最核心的技能。这需要练习,需要经验,需要对Claude Code的脾气有了解。但只要掌握了这门艺术,你就能让这只智能怪兽发挥出最大的威力。