智能体是 Cursor 的助手,可自主完成复杂的编程任务、运行终端命令并编辑代码。通过 Cmd+I 可在侧边栏中打开。
详细了解智能体的工作方式,助您更高效地构建。
智能体的工作原理¶
智能体由三个组成部分构成:
- 说明:引导智能体行为的系统提示词和规则
- 工具:文件编辑、代码库搜索、终端执行等
- 模型:你为任务选择的智能体模型
Cursor 的智能体会协调我们支持的每个模型中的这些组成部分,并针对每个前沿模型专门优化说明和工具。随着新模型不断发布,你可以专注于构建软件,由 Cursor 负责模型专属优化。
工具¶
工具是智能体的基本组成部分。它们可用于搜索您的代码库和网页以查找相关信息、编辑文件、运行终端命令等。
要了解工具调用的底层原理,请参阅我们的工具调用基础。
智能体在执行任务期间可进行的工具调用次数不受限制。
搜索文件和文件夹¶
按名称搜索文件、读取目录结构,以及在文件中查找精确的关键字或模式。
网页端¶
生成搜索查询并执行网页搜索。
获取规则¶
根据类型和描述检索特定规则。
读取文件¶
智能读取文件内容。还支持图像文件 (.png、.jpg、.gif、.webp、.svg) ,并将其纳入对话上下文,供具备视觉能力的模型分析。
编辑文件¶
建议修改文件并自动应用。
运行 Shell 命令¶
执行终端命令并监控输出。默认情况下,Cursor 使用第一个可用的终端配置文件。
要设置首选终端配置文件:
- 打开命令面板 (
Cmd/Ctrl+Shift+P) - 搜索“Terminal: Select Default Profile”
- 选择所需的配置文件
浏览器¶
控制浏览器以获取屏幕截图、测试应用并验证视觉更改。智能体可以打开页面、与元素交互,并捕获当前状态供分析。有关详细信息,请参阅浏览器文档。
图像生成¶
根据文本描述或参考图像生成图像。适用于创建 UI 模型、产品资源及架构图可视化内容。默认情况下,图像会保存到您项目的 assets/ 文件夹,并内嵌显示在对话中。
提问¶
在执行任务期间提出澄清性问题。等待您回复时,智能体会继续读取文件、进行编辑或运行命令。收到回答后会立即将其纳入处理。
检查点¶
检查点会在智能体会话期间保存代码库的快照。智能体会在进行重大更改前自动创建检查点,记录所有已修改文件的状态。
如果智能体走偏了,请点击聊天时间线中的任意检查点,预览当时的文件,然后还原,将所有文件恢复到该状态。您也可以通过先前请求中的 Restore Checkpoint 按钮,或悬停在消息上时出现的 + 按钮进行还原。还原检查点只会还原文件;不会从对话中删除消息。
检查点适用于探索性工作、复杂重构,以及需要安全回滚点的迭代开发。
检查点存储在本地,与 Git 相互独立。仅使用它们撤销智能体所做的更改;永久版本控制请使用 Git。
排队消息¶
智能体工作时,你可以通过两种方式与它沟通。将消息加入队列后,它会等待当前任务完成。立即发送后续消息会在智能体下一次工具调用时引导当前轮次。
使用队列¶
- 智能体工作时,输入下一条指令
- 按 Enter 将其加入队列
- 消息会按顺序显示在当前任务下方
- 根据需要拖动以调整队列中消息的顺序
- 智能体完成当前任务后,会依次处理这些消息
键盘快捷键¶
智能体工作时:
- 按 Enter 将消息加入队列 (智能体完成当前任务后发送)
- 按 Cmd+Enter 可立即发送,跳过队列
即时发送消息¶
使用 Cmd+Enter 立即发送时,你的消息会追加到聊天中最新的一条用户消息,并立即处理,无需排队等待。
- 你的消息会附加到工具结果并立即发送
- 让紧急追问得到更及时的响应
- 需要中断或调整智能体当前的工作方向时,请使用此功能
引导正在运行的智能体¶
你可以在智能体工作时发送后续消息来引导它,无需中断其工作。输入后续消息并点击 立即发送,或连按两次 Enter。消息会在智能体下一次工具调用时送达,而不会在执行操作时中断工作,从而保留进行中的工作并让智能体专注于任务。
此功能现已在 cursor.com/agents 上可用,并将逐步推广至代理窗口。如需在当前轮次结束后再处理消息,请按 Tab 将其排队。
在 命令行界面 中,智能体工作时按 Enter 会在安全边界引导当前运行;再按一次 Enter 会中断当前轮次。
使用 /goal 设置目标¶
智能体会将每条消息视为一项新任务。使用 /goal 为智能体设定一个长期目标,智能体会持续推进,直至目标完全完成:
/goal fix all flaky tests and make CI green
在命令行界面中,Ctrl+C 可暂停目标。当你希望智能体在推进目标时遵循既定流程,可将目标与自定义模式搭配使用,或与内置的/loop技能搭配使用,以便在推进目标期间进行定期检查。
/goal 正在逐步推出。如果你没有看到它,请在新对话中尝试。