提示工程指南
欢迎阅读 Cline 提示工程指南!本指南将帮助你编写高效的提示语和自定义指令,最大化提升你在 Cline 上的生产力。
自定义指令 ⚙️
将自定义指令视为 Cline 的"编程"。它们定义了 Cline 的基础行为,并始终生效,影响所有交互。指令可以宽泛抽象,也可以具体明确。你可以让 Cline 拥有独特的个性、输出特定格式的内容,或遵循某些架构原则。自定义指令能让 Cline 的输出标准化,尤其适合团队协作。参见企业版章节了解团队场景下的用法。
注意:修改自定义指令字段会重置 Cline 的提示缓存,丢弃已积累的上下文。这会导致短暂的成本上升,直到上下文重新积累。建议在会话之间更新自定义指令。
添加自定义指令的方法:
- 打开 VSCode
- 点击 Cline 扩展设置 ⚙️
- 找到"Custom Instructions"字段
- 粘贴你的指令
自定义指令的常见用途:
- 强制执行代码风格与最佳实践:确保 Cline 始终遵循团队的代码规范、命名规范和最佳实践。
- 提升代码质量:鼓励 Cline 编写更易读、可维护、高效的代码。
- 引导错误处理:告知 Cline 如何处理错误、编写错误信息和日志。
.clinerules 文件 📋
注意:修改
.clinerules
文件会重置 Cline 的提示缓存,丢弃已积累的上下文。这会导致短暂的成本上升,直到上下文重新积累。建议在会话之间更新.clinerules
文件。
自定义指令是用户级、全局生效(适用于所有项目),而 .clinerules
文件则提供项目级专属指令,存放于项目根目录。这些指令会自动附加到你的自定义指令,并在 Cline 的系统提示中引用,确保影响项目内的所有交互。适用于:
常见用途
- 维护团队成员间的项目标准
- 强制执行开发规范
- 管理文档要求
- 设置分析框架
- 定义项目专属行为
.clinerules 文件结构示例
主要优势
- 版本可控:
.clinerules
文件作为项目源码的一部分 - 团队一致性:确保所有成员行为一致
- 项目专属:规则和标准可针对每个项目定制
- 知识沉淀:在代码中维护项目标准与实践
将 .clinerules
文件放在项目根目录:
Cline 的系统提示不可由用户编辑(可在此查看)。更多提示工程最佳实践可参考此资源。
编写高效自定义指令的建议
- 清晰简明:使用简单语言,避免歧义
- 聚焦结果:描述你想要的结果,而非具体步骤
- 测试与迭代:多尝试,找到最适合你工作流的写法
.clinerules 文件夹系统 📂
对于简单项目,单一 .clinerules
文件已足够。Cline 现支持 .clinerules
文件夹,便于更复杂的规则组织。这种模块化方式有诸多优势:
工作原理
在项目根目录创建 .clinerules/
文件夹,而非单一文件:
Cline 会自动处理 .clinerules/
文件夹下所有 Markdown 文件,合并为一套完整规则。数字前缀(可选)有助于逻辑排序。
规则库用法
多上下文或多团队项目可维护一个规则库目录:
文件夹方式的优势
- 上下文激活:仅将相关规则从库中复制到激活文件夹
- 易于维护:单独更新规则文件互不影响
- 团队灵活性:不同成员可激活当前任务专属规则
- 减少干扰:保持激活规则集聚焦且相关
用法示例
切换客户端项目:
适配不同技术栈:
实施建议
- 保持单个规则文件聚焦于特定关注点
- 使用描述性文件名,清晰指明规则用途
- 可将激活的
.clinerules/
文件夹 gitignore,仅跟踪clinerules-bank/
- 编写团队脚本,快速激活常用规则组合
文件夹系统让你的 Cline 规则从静态文档变为可适应团队变化的动态知识体系。
使用可切换弹窗管理规则
为简化单文件和文件夹系统的管理,Cline v3.13 在聊天界面下方引入了专用弹窗 UI。
该弹窗可让你:
- 即时查看激活规则:显示当前全局规则(用户设置)和工作区规则(
.clinerules
文件或文件夹内容) - 快速切换规则:一键启用/禁用工作区
.clinerules/
文件夹内的特定规则文件,便于按需激活如react-rules.md
或memory-bank.md
- 便捷添加/管理规则:快速创建
.clinerules
文件或文件夹,或向现有文件夹添加新规则文件
该 UI 显著简化了上下文切换和多指令集管理,无需在会话中手动编辑文件或配置。
.clineignore 文件指南
概述
.clineignore
文件是项目级配置文件,告知 Cline 在分析代码库时应忽略哪些文件和目录。类似 .gitignore
,它通过模式匹配指定哪些内容应排除在 Cline 的上下文和操作之外。
作用
- 减少干扰:排除自动生成文件、构建产物等非核心内容
- 提升性能:减少 Cline 需处理的代码量
- 聚焦重点:引导 Cline 关注代码库的关键部分
- 保护敏感数据:防止 Cline 访问敏感配置文件
.clineignore 文件示例
Cline 提示语编写 💬
**提示语是你与 Cline 进行任务沟通的方式。**Cline 能理解自然语言,请用对话方式表达。
高效提示语包括:
- 提供清晰上下文:说明你的目标和相关代码部分。可用
@
引用文件或文件夹。 - 分解复杂任务:将大任务拆解为小步骤。
- 提出具体问题:引导 Cline 达到期望结果。
- 验证与完善:审查 Cline 建议并反馈。
提示语示例
上下文管理
-
开始新任务:
Cline,我们开始一个新任务。创建
user-authentication.js
,需要实现基于 JWT 的用户登录。需求如下…… -
总结前期工作:
Cline,总结上次用户面板任务的内容,需涵盖主要功能和未解决问题。保存到
cline_docs/user-dashboard-summary.md
。
调试
-
分析错误:
Cline,我遇到这个错误:[error message],似乎出现在 [code section]。请分析并给出修复建议。
-
定位根因:
Cline,应用在我执行 [action] 时崩溃,问题可能在 [problem areas]。帮我找出根因并提出解决方案。
重构
-
优化代码结构:
Cline,这个函数太长太复杂了,请拆分为更小的函数。
-
简化逻辑:
Cline,这段代码难以理解,请简化逻辑并提升可读性。
功能开发
-
头脑风暴新功能:
Cline,我想加一个让用户 [functionality] 的功能,帮我头脑风暴一些方案并考虑实现难点。
-
生成代码:
Cline,创建一个展示用户资料的组件,列表需支持排序和筛选。请生成该组件代码。
高级提示技巧
- 约束补充:为防止代码被截断,在提示中明确要求"确保代码完整"或"始终给出完整函数定义"。
- 信心评分:让 Cline 对方案信心打分(如"1-10 分,你对该方案有多大信心?")。
- 挑战假设:多问"愚蠢"问题,促使 Cline 深度思考,避免错误假设。
以下是社区用户总结的 Cline 提示技巧:
社区精选提示 🌟
记忆与信心检查 🧠
-
记忆检查 - pacnpal
趣味方式,确保 Cline 在复杂任务中保持正确轨迹。也可用"HO HO HO"增添节日气氛!
-
信心评分 - pacnpal
鼓励批判性思考,让决策更透明。
代码质量提示 💻
-
防止代码截断
也可用"只给完整代码"或"确保代码完整"。
-
自定义指令提醒
强化对设置项的遵循。
代码组织 📋
-
大文件重构 - icklebil
帮助管理复杂文件,便于结构优化。
-
文档维护 - icklebil
确保文档与代码变更同步。
分析与规划 🔍
-
结构化开发 - yellow_bat_coffee
推动有序、计划性开发。
-
彻底分析 - yellow_bat_coffee
防止过早编码,确保充分理解。
-
假设检查 - yellow_bat_coffee
及早发现潜在问题。
慎思明辨 🤔
-
暂停反思 - nickbaumann98
鼓励行动前深思熟虑。
-
完整分析 - yellow_bat_coffee
确保问题被充分探讨。
-
持续信心检查 - pacnpal
通过自我评估保障质量。
最佳实践 🎯
-
项目结构 - kvs007
维护项目完整性。
-
批判性思维 - chinesesoup
挑战假设,发现更优解。
-
代码风格 - yellow_bat_coffee
有助于提升代码组织与清晰度。
-
设定预期 - steventcramer
(幽默提醒:请提供清晰需求和建设性反馈)