优秀提示的核心原则
- 清晰具体:始终明确你想要_什么_以及_如何_实现。避免使用模糊的语言;不要说“让这个应用变得更好”,而要具体说明“重构应用以清理未使用的组件并提高性能,同时不改变 UI 或功能”。提供关于应用的目标用户、应用应具备的功能以及任何必备特性的上下文。
- 关注用户旅程:考虑用户在你的应用中将采取的一系列操作。例如 ——
- 描述“做什么”,而非“怎么做”:Lumi 会处理后端的复杂性,所以请专注于期望的结果或外观。例如 ——
- 迭代和优化:不要满足于第一次的输出。提示可以通过与 AI 的对话进行迭代优化。Lumi 从一开始就提供功能完整的输出,但这是一个需要进一步优化的基础。
C.L.E.A.R. 框架
- 简洁 (Concise):直奔主题,避免冗余或模糊的语言。力求精确和简短。
- 有逻辑 (Logical):以分步或结构化的方式组织你的提示,将复杂请求分解为有序的步骤。
- 明确 (Explicit):准确说明你想要什么和不想要什么,如果可能,提供格式或内容的示例。
- 适应性 (Adaptive):根据 AI 的输出优化你的提示,在后续提示中澄清指令或指出错误。
- 反思性 (Reflective):每次互动后回顾哪些方法有效,哪些无效,以改进未来的提示。
提示的四个层次
- 结构化“辅助轮”提示(明确格式):对初学者或复杂任务很有用,这涉及使用带标签的部分:
- 背景 (Context):为 AI 设置背景或角色。
- 任务 (Task):具体的目标。
- 指南 (Guidelines):偏好的方法或风格。
- 约束 (Constraints):硬性限制或禁止事项。
- 例如 ——
- 对话式提示(无辅助轮):一旦熟练,你可以更自然地编写提示,就像向同事解释任务一样,同时保持清晰和完整,无需正式的标签。
- 元提示(AI 辅助提示改进):请求 Lumi 的 AI 帮助你改进提示或计划。例如 ——
- 反向元提示(AI 作为文档工具):使用 AI 总结或记录任务后发生的事情,这对于调试和知识捕获非常有用。例如 ——
提示框架
- “谁/什么/为什么”提示:
- 谁 (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 用于复杂逻辑、样板代码生成或多步操作。对于琐碎的任务(例如,更改文本标签),手动编辑可能更快。