与 Lumi 这样的人工智能系统互动时,有效的提示至关重要,它能让你获得更好、更准确的结果。这关乎清晰的沟通,而不仅仅是输入一个请求。Lumi 依赖于大型语言模型 (LLM),它根据训练数据中的模式预测输出,这意味着它并非以人类的方式“理解”。因此,构建你的提示、明确表达并提供上下文至关重要 以下是在 Lumi 中编写有效提示的核心原则和技巧:

优秀提示的核心原则

  • 清晰具体:始终明确你想要_什么_以及_如何_实现。避免使用模糊的语言;不要说“让这个应用变得更好”,而要具体说明“重构应用以清理未使用的组件并提高性能,同时不改变 UI 或功能”。提供关于应用的目标用户、应用应具备的功能以及任何必备特性的上下文。
  • 关注用户旅程:考虑用户在你的应用中将采取的一系列操作。例如 ——
用户注册、创建新项目、设置里程碑并每日跟踪他们的进度。
  • 描述“做什么”,而非“怎么做”:Lumi 会处理后端的复杂性,所以请专注于期望的结果或外观。例如 ——
应用应存储用户数据,加载迅速,并给人一种简洁现代的感觉。
  • 迭代和优化:不要满足于第一次的输出。提示可以通过与 AI 的对话进行迭代优化。Lumi 从一开始就提供功能完整的输出,但这是一个需要进一步优化的基础。

C.L.E.A.R. 框架

  • 简洁 (Concise):直奔主题,避免冗余或模糊的语言。力求精确和简短。
  • 有逻辑 (Logical):以分步或结构化的方式组织你的提示,将复杂请求分解为有序的步骤。
  • 明确 (Explicit):准确说明你想要什么和不想要什么,如果可能,提供格式或内容的示例。
  • 适应性 (Adaptive):根据 AI 的输出优化你的提示,在后续提示中澄清指令或指出错误。
  • 反思性 (Reflective):每次互动后回顾哪些方法有效,哪些无效,以改进未来的提示。

提示的四个层次

  1. 结构化“辅助轮”提示(明确格式):对初学者或复杂任务很有用,这涉及使用带标签的部分:
  • 背景 (Context):为 AI 设置背景或角色。
  • 任务 (Task):具体的目标。
  • 指南 (Guidelines):偏好的方法或风格。
  • 约束 (Constraints):硬性限制或禁止事项。
  • 例如 ——
你是一位使用 Lumi 的专家级全栈开发者。任务:使用 Supabase(邮箱/密码认证)在 React 中创建一个安全的登录页面。指南:UI 应极简,并遵循 Tailwind CSS 规范。为每一步提供清晰的代码注释。约束:仅修改 LoginPage 组件;不要更改其他页面。确保最终输出是 Lumi 编辑器中一个可工作的页面。
  1. 对话式提示(无辅助轮):一旦熟练,你可以更自然地编写提示,就像向同事解释任务一样,同时保持清晰和完整,无需正式的标签。
  2. 元提示(AI 辅助提示改进):请求 Lumi 的 AI 帮助你改进提示或计划。例如 ——
回顾我上一个提示,并指出任何模糊或缺失的信息。我该如何重写它以使其更简洁、更精确?
  1. 反向元提示(AI 作为文档工具):使用 AI 总结或记录任务后发生的事情,这对于调试和知识捕获非常有用。例如 ——
总结我们在设置 JWT 认证时遇到的错误,并解释我们是如何解决的。然后,草拟一个我将来可以用来避免在设置认证时犯这些错误的提示。

提示框架

  • “谁/什么/为什么”提示
  • 谁 (WHO) 是这个应用的目标用户?
  • 什么 (WHAT) 它帮助他们做什么?
  • 为什么 (WHY) 有人会使用它?
  • “用户故事”提示:从最终用户的角度来构建你的请求,例如:
作为一名自由设计师,我希望向客户发送带有品牌的发票,并跟踪其支付情况,以便我能掌握我的现金流。
  • “功能分解”提示:列出你想要添加的功能,例如:
我想要添加以下功能:添加和组织潜在客户;跟踪联系状态(新的、已联系、感兴趣、已成交);添加备注和跟进提醒。

获得更好结果的高级技巧和提示

  • 零样本 (Zero-Shot) vs. 少样本 (Few-Shot) 提示
  • 零样本 (Zero-Shot):要求模型在_没有示例_的情况下执行任务,依赖其通用训练。对于常见或描述清晰的任务效果很好。
  • 少样本 (Few-Shot):在你的提示中提供几个_示例或演示_,向 AI 展示你想要的确切格式或风格。这能提高特定或不寻常任务的输出质量。
  • 管理幻觉并确保准确性
  • 提供基础数据:利用你项目的知识库(PRD、用户流程、技术栈)来提供持久的上下文。
  • 提示内引用:为事实查询或外部交互包含相关的文档片段或数据。
  • 要求分步推理:提示 AI 展示其推理过程,以发现错误或揭示不确定性。
  • 指示其保持诚实:包含诸如“如果你不确定……不要捏造——而是解释需要什么或请求澄清”之类的指南。
  • 迭代验证:在关键任务后,要求 AI 再次检查其输出。
  • 利用模型洞察(了解你的 AI 工具)
  • 讨论模式 vs. 默认模式(代理模式):使用讨论模式进行头脑风暴、讨论设计或调试,而不会立即更改代码。使用**默认模式(代理模式)**执行更改(编写代码、创建组件)。
  • Token 长度:如果输出可能超过 token 限制,请将大型任务分解为更小的提示。
  • 格式化和代码偏好:说明你的偏好(例如,“以 markdown 格式输出代码”)来引导 AI。
  • 优化应用的技巧
  • “让它更……” / “让它少些……”:调整语调、布局或重点。
  • “添加一个……” / “移除那个……”:添加或移除特定功能或 UI 块。
  • “将 [这个] 改为 [那个]”:调整文本、视觉效果、布局或组件逻辑。
  • “它应该感觉像……”:借鉴熟悉的应用程序风格来指导布局或行为。
  • “为……添加逻辑”:无需代码即可添加功能规则或流程。
  • “分组或组织……”:为清晰度或工作流程构建内容。
  • “添加条件行为……”:引入智能分支或基于状态的功能。
  • “让用户……”句式:从最终用户的角度构建功能。
  • 构建复杂性时分层构建:从简单开始,然后添加功能,最后润色视觉效果。这种增量方法可以防止系统或你自己不堪重负。
  • 包含约束和要求:明确说明什么_必须_做或_不能_做,例如“创建一个简单的待办事项应用,一次最多显示 3 个任务”。
  • 避免歧义:澄清任何可能被以不同方式解释的术语。
  • 注意你的语气和礼貌:礼貌的措辞可以增加上下文和细节,帮助 AI 更清晰地理解指令。
  • 利用格式化优势:构建列表或步骤,特别是当你希望 AI 输出列表或遵循序列时。
  • 利用示例或参考:提供目标设计、代码风格或图像,为 AI 提供具体参考。
  • 反馈整合:审查 AI 输出并为优化提供具体反馈。
  • 强调可访问性:提示生成符合可访问性标准的代码,包括 ARIA 标签和键盘导航。
  • 预定义组件和库:为保持一致性,指定 UI 库(例如,使用 Tailwind CSS 的 shadcn/ui)。
  • 多语言提示:指定代码注释和文档所需的语言。
  • 定义项目结构和文件管理:概述文件名和路径,以确保生成的代码井然有序。
  • 提供精确的编辑指令(聚焦 AI):具体说明要更改的_位置_和_内容_,或使用 Lumi 的“选择”功能高亮显示组件。告诉 AI 不要碰什么。
  • 锁定文件(变通方法):在每个提示中始终指示 AI 不要更改关键文件。
  • 设计和 UI 调整:对于视觉更改,明确说明“纯视觉更改”,并引导 AI 制定响应式计划。
  • 重构和优化代码:在要求重构时,强调“行为无变化”。你也可以先要求一个重构计划,然后分阶段实施。
  • 借助 AI 进行调试:将错误日志复制到提示中(最好在讨论模式下),并询问原因和解决方案。如果修复无效,则进行调整并提供新信息。
  • 何时(以及何时不)让 AI 参与:将 AI 用于复杂逻辑、样板代码生成或多步操作。对于琐碎的任务(例如,更改文本标签),手动编辑可能更快。
通过应用这些原则和技巧,你可以有效地引导 Lumi 的 AI 实现你的开发目标,使其成为一个强大而可靠的队友。