跳到主要内容

Prompt Engineering 技巧

Prompt engineering 是为 AI 模型(如 Kilo Code)编写有效指令的艺术。精心编写的提示可以带来更好的结果、更少的错误和更高的工作效率。

通用原则

  • 清晰且具体: 清楚地说明你希望 Kilo Code 做什么。避免歧义。

    • 不好: 修复代码。
    • 好: 修复 calculateTotal 函数中导致返回错误结果的 bug。
  • 提供上下文: 使用 上下文提及 来引用特定文件、文件夹或问题。

    • 好: @/src/utils.ts 重构 calculateTotal 函数以使用 async/await。
  • 分解任务: 将复杂的任务分解为更小、定义明确的步骤。

  • 提供示例: 如果你有特定的编码风格或模式,请提供示例。

  • 指定输出格式: 如果你需要特定格式的输出(例如 JSON、Markdown),请在提示中指定。

  • 迭代: 如果初始结果不符合预期,不要害怕优化你的提示。

思考与执行

引导 Kilo Code 通过“先思考后执行”的过程通常很有帮助:

  1. 分析: 让 Kilo Code 分析当前代码,识别问题或规划方法。
  2. 计划: 让 Kilo Code 概述完成任务的步骤。
  3. 执行: 指示 Kilo Code 一步一步地执行计划。
  4. 审查: 在继续之前仔细审查每一步的结果。

使用自定义指令

你可以提供自定义指令来进一步调整 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 的能力。