
什么是 context?
- Intent context 定义用户希望从模型得到什么。比如,system prompt 通常作为高层级指令,指定用户希望模型如何表现。在 Cursor 中,大多数的“prompting”都属于 intent context。“把那个按钮从蓝色改成绿色”是一个明确的意图示例;它是规定性的。
- State context 描述当前世界的状态。向 Cursor 提供错误信息、控制台日志、图像以及代码片段,都是与状态相关的 context 示例。它是描述性的,而非规定性的。
在 Cursor 中提供上下文
- 产生幻觉:模型会尝试做模式匹配(其实并不存在可匹配的模式),从而产生意外结果。像
claude-3.5-sonnet
这样的模型在上下文不足时,这种情况会很常见。 - Agent 会自行收集上下文,比如搜索代码库、读取文件、调用工具。思维能力较强的模型(如
claude-3.7-sonnet
)借助这种策略能走得很远,而是否提供了合适的初始上下文会决定其后续路径。
@-symbol
Symbol | Example | Use case | Drawback |
---|---|---|---|
@code | @LRUCachedFunction | 你知道哪个函数、常量或符号和你要生成的输出相关 | 需要对代码库有较深的了解 |
@file | cache.ts | 你知道应该读取或编辑哪个文件,但不确定具体在文件的哪个位置 | 可能会根据文件大小为当前任务带来大量无关的上下文 |
@folder | utils/ | 文件夹中的全部或大部分文件都相关 | 可能会为当前任务带来大量无关的上下文 |

规则
/Generate Cursor Rules
从现有对话里自动生成规则。如果你有一段包含大量提示的长对话,很可能其中有一些值得之后复用的有用指令或通用规则。

MCP
- 内部文档:如 Notion、Confluence、Google Docs
- 项目管理:如 Linear、Jira

自主收集上下文
- 在相关代码处添加 print(“debugging: …”) 语句
- 使用终端运行代码或测试

关键要点
- 上下文是高效 AI 编码的基础,包含意图(你想做什么)和状态(现有内容)。同时提供两者有助于 Cursor 做出准确预测。
- 使用带 @ 符号的“外科式”上下文(@code、@file、@folder)精确引导 Cursor,而不是仅依赖自动上下文收集。
- 将可复用的知识固化为规则供团队共享,并通过 Model Context Protocol 扩展 Cursor 的能力以连接外部系统。
- 上下文不足会导致幻觉或低效,而过多无关上下文会稀释信号。把握好平衡以获得最佳结果。