Prompt Engineering 技巧
Prompt engineering 是为 AI 模型(如 Kilo Code)编写有效指令的艺术。精心编写的提示可以带来更好的结果、更少的错误和更高的工作效率。
通用原则
-
清晰且具体: 清楚地说明你希望 Kilo Code 做什么。避免歧义。
- 不好: 修复代码。
- 好: 修复
calculateTotal
函数中导致返回错误结果的 bug。
-
提供上下文: 使用 上下文提及 来引用特定文件、文件夹或问题。
- 好:
@/src/utils.ts
重构calculateTotal
函数以使用 async/await。
- 好:
-
分解任务: 将复杂的任务分解为更小、定义明确的步骤。
-
提供示例: 如果你有特定的编码风格或模式,请提供示例。
-
指定输出格式: 如果你需要特定格式的输出(例如 JSON、Markdown),请在提示中指定。
-
迭代: 如果初始结果不符合预期,不要害怕优化你的提示。
思考与执行
引导 Kilo Code 通过“先思考后执行”的过程通常很有帮助:
- 分析: 让 Kilo Code 分析当前代码,识别问题或规划方法。
- 计划: 让 Kilo Code 概述完成任务的步骤。
- 执行: 指示 Kilo Code 一步一步地执行计划。
- 审查: 在继续之前仔细审查每一步的结果。
使用自定义指令
你可以提供自定义指令来进一步调整 Kilo Code 的行为。有两种类型的自定义指令:
- 全局自定义指令: 适用于所有模式。
- 模式特定自定义指令: 仅适用于特定模式(例如 Code、Architect、Ask、Debug 或自定义模式)。
自定义指令会添加到系统提示中,为 AI 模型提供持续的指导。你可以使用这些指令来:
- 强制执行编码风格指南。
- 指定首选的库或框架。
- 定义项目特定的约定。
- 调整 Kilo Code 的语气或个性。
有关更多详细信息,请参阅 自定义指令 部分。
处理歧义
如果你的请求含糊不清或缺乏足够的细节,Kilo Code 可能会:
- 做出假设: 它可能会根据最佳猜测继续,这可能不是你想要的。
- 询问后续问题: 它可能会使用
ask_followup_question
工具来澄清你的请求。
最好从一开始就提供清晰且具体的指令,以避免不必要的来回沟通。
提供反馈
如果 Kilo Code 没有产生预期的结果,你可以通过以下方式提供反馈:
- 拒绝操作: 当 Kilo Code 提出你不想要的操作时,点击“拒绝”按钮。
- 提供解释: 拒绝时,解释为什么要拒绝该操作。这有助于 Kilo Code 从错误中学习。
- 重新措辞你的请求: 尝试重新表述你的初始任务或提供更具体的指令。
- 手动更正: 如果有几个小问题,你也可以在接受更改之前直接修改代码。
示例
好提示:
@/src/components/Button.tsx
重构Button
组件以使用useState
钩子而不是useReducer
钩子。
不好提示:
修复按钮。
好提示:
创建一个名为
utils.py
的新文件,并添加一个名为calculate_average
的函数,该函数接受一个数字列表并返回它们的平均值。
不好提示:
写一些 Python 代码。
好提示:
@problems
解决当前文件中的所有错误和警告。
不好提示:
修复所有问题。
通过遵循这些技巧,你可以编写有效的提示,充分利用 Kilo Code 的能力。