Cursor的三种AI模式和使用场景
📅 2025-01-19 | 🖱️
Cursor提供了三种AI模式:
- Cursor Chat
- Normal Composer
- Agent Composer
三种模式的切换方式如下:
CMD + l
打开AI面板并切换到Cursor ChatCMD + i
打开AI面板并切换到Cursor Composer- 继续输入
CMD + .
在Normal Composer和Agent Composer之间切换
- 继续输入
Cursor Chat #
Cursor Chat是一个助手,它主要是提供辅助,并不会直接修改我们的代码。
Cursor Chat适合用来:
- 理解代码:帮我们搞清楚代码的各个部分是做什么的,或者告诉我们实现一个新功能需要采取哪些步骤
- 迭代代码: 平时我们修改代码时,大多数情况都需要精确控制要修改的内容。Cursor Chat可以帮我们生成特定的代码片段、检查语法错误、提供代码建议等。
示例,我们打开一个已有的项目,想要Cursor Chat从整体上帮助我们解释一下项目,可以直接CMD + l
打开Cursor Chat,输入explain @Codebase for me in Chinese
。
Normal Composer #
Normal Composer与Cursor Chat的主要区别在于,Normal Composer可直接创建文件并修改代码。
Normal Composer的适用场景:
- 项目启动:在开始一个新项目时,快速创建文件并开始项目
- 快速实现:如果有明确的需求,并需要快速实现。即我们明确清楚我们要什么,但需要快速实现,但也不要一次实现太多内容,因为这可能会导致代码难以维护、调试困难等。
示例,CMD + i
打开Composer,并注意使用CMD + .
切换到Normal Composer,输入基于项目.cursorrules中的需求帮我完成工作
。
1# 项目需求和规范说明
2
3## 项目目标
4创建一个Python脚本,用于从大型MySQL数据库表中导出订单ID数据。
5
6## 具体要求
7
8### 功能需求
91. 从 ord_order 表导出订单ID到CSV文件
102. 查询条件:
11 - comp_id = 5678
12 - gmt_create 在 '2020-01-01 00:00:01' 和 '2024-12-31 23:59:59' 之间
13 - id 在 1500000000 和 300000000 之间
143. 输出格式:CSV文件,文件名为 'ord_order_ids.csv'
15
16### 技术要求
171. 使用 Python 3.11 或更高版本
182. 使用 Poetry 管理项目依赖
193. 数据库连接信息存储在 .env 文件中
204. 虚拟环境(.venv)必须位于项目目录中
21
22### 性能要求
231. 使用基于ID的分页方式替代OFFSET分页
242. 每批处理100,000条记录
253. 使用生成器实现内存高效的数据处理
264. 显示实时导出进度
27
28### 代码质量要求
291. 包含适当的类型提示
302. 为函数添加文档字符串
313. 遵循PEP 8编码规范
324. 妥善处理数据库连接错误
335. 实现适当的异常处理
34
35### 安全要求
361. 敏感信息存储在 .env 文件中
372. 禁止将 .env 文件提交到版本控制
383. 提供 .env.example 模板文件
39
40### 文档要求
411. 维护完整的 README.md 文档
422. 记录所有配置选项
433. 包含安装和使用说明
444. 说明性能优化考虑因素
基于代码和上下文的.cursorrules反哺
上面
.cursorrules
文件已经不是原始的.cursorrules
。我的工作流程围绕着
.cursorrules
的迭代展开。首先,我会基于明确的需求编写初始的.cursorrules
,然后借助Normal Composer进行代码编写、代码审查、多轮交互以及调试测试。当代码功能验证通过后,我会再次利用Normal Composer,基于已实现的代码和之前的交互上下文,对.cursorrules
进行完善和优化,从而形成一个持续改进的闭环。
Agent Composer #
Agent Composer与Normal Composer相比功能更加强大,Agent Composer具有更强的上下文感知能力,并可执行终端命令(Composert有一个工具可以提示建议运行命令,但需要我们的批准)。
适用场景与Normal Composer相同,Agent Composer实际上是Normal Composer的升级版,实际上现在已经没有使用Normal Composer的必要了。
Agent Composer可以利用上下文感知能力来更好地完成任务,可以运行测试、部署代码或管理项目依赖,从而提高开发效率。
总结 #
场景 | 推荐模式 | 理由 |
---|---|---|
构建和迭代项目 | Cursor Chat | 精确控制代码,确保代码有效性。 |
需要速度和强大的上下文感知能力 | Agent Composer | 快速完成任务,并能更好地理解项目上下文,执行更复杂的任务,包括终端命令(Composert有一个工具可以提示建议运行命令,但需要我们的批准)。 |