发布时间:2025-08-20 13:23:22
当我们在 Cursor 中生成代码建议时,“上下文”指的是提供给模型的信息(以”输入令牌”的形式),模型随后使用这些信息来预测后续信息(以”输出令牌”的形式)。有两种类型的上下文:
意图上下文定义了用户希望从模型中获得什么。例如,系统提示通常作为用户希望模型如何行为的高级指令。在 Cursor 中完成的大部分”提示”都是意图上下文。“将那个按钮从蓝色改为绿色”是一个明确意图的例子;它是规定性的。
状态上下文描述当前世界的状态。向 Cursor 提供错误消息、控制台日志、图像和代码块都是与状态相关的上下文示例。它是描述性的,而不是规定性的。
这两种类型的上下文通过描述当前状态和期望的未来状态来协调工作,使 Cursor 能够提出有用的编码建议。
你能为模型提供的相关上下文越多,它就越有用。如果在 Cursor 中提供的上下文不足,模型将尝试在没有相关信息的情况下解决问题。这通常会导致:
幻觉,即模型尝试进行模式匹配(当没有模式时)导致意外结果。对于像 claude-3.5-sonnet 这样的模型,当没有给予足够上下文时,这种情况可能经常发生。
Agent 尝试通过搜索代码库、读取文件和调用工具来自行收集上下文。强大的思考模型(如 claude-3.7-sonnet)可以通过这种策略走得很远,而提供正确的初始上下文将决定其发展轨迹。
好消息是,Cursor 的核心构建理念就是上下文感知,旨在最大程度减少用户的干预。Cursor 会自动提取代码库中模型估计相关的部分,例如当前文件、其他文件中语义相似的模式,以及会话中的其他信息。然而,可以提取的上下文有很多,因此手动指定你知道与任务相关的上下文是引导模型朝正确方向发展的有效方法。
展开阅读全文
︾
读者也喜欢这些内容:
所有 Cursor 功能都能使用 API 密钥吗?
一些重要的 Cursor 功能(包括 Tab 和聊天中的应用)由自定义模型提供支持,无法通过 API 密钥计费。
阅读全文 >
您存储哪些代码?
如果您启用“隐私模式”,您的代码将永远不会被用于训练,我们可能会为了运行某些功能(例如后台代理)而存储代码。否则,在共享...
阅读全文 >
什么是上下文?
首先,什么是上下文窗口?它与使用 Cursor 进行高效编程有什么关系?让我们先从宏观角度来看,大型语言模型(LLM)是...
阅读全文 >
基础快捷键使用
打开 AI 对话窗口:按下 “Command+L (Mac) ” 或 “Control+L (Windows)” 快捷键...
阅读全文 >