---

本文是《理解和部署Agentic AI》系列的一部分：

* [Agentic AI系列1：Devin和Agent Cursor使用体验对比](/devin-vs-agent-cursor.html)
* [Agentic AI系列2：从智者到行者——Agentic AI的范式革命与技术架构](/agentic-ai.html)
* [Agentic AI系列3：搏一搏，&#36;20变&#36;500：一小时魔改Cursor变身Devin](/cursor-to-devin.html)
* Agentic AI系列4：使用Cursor作为AI的通用入口（本文）

---

在做完[上篇文章](/cursor-to-devin.html)介绍的Cursor魔改之后，将Agentic AI用"我说你做"的模式进行使用，已经成为了我对AI利用的主要方式。
而这又进一步启发我：有没有可能把Cursor或者类似的编辑器作为使用AI的通用入口呢？

这么想主要是来自于两个观察：一个是，在我们把AI作为Consultant来使用的时候，很多时候我们还是需要大量的复制粘贴，而这样的操作在Cursor内部是非常自然的，只要点击Apply，它就会将AI回答的内容插入到我们正在写作的文档里。所以从用户工作流的角度来说，Cursor其实反而是一个更自然的界面。

从另一个角度来说，AI作为Consultant还有一个致命的缺陷，就是至少在目前的AI产品里，大家和搜索引擎结合的体验都不太好。不论是Chat GPT的Search还是Proplexity，或者是PoE的Web Search Bot，他们干的事情一般都是简单浏览一下前几个结果就草草给出答案。虽然这对于单轮的AI问答来说可能还可以忍，但是在用惯了Agentic AI以后，我们自然而然就会期待AI有更好的完成任务的质量，比如往下翻更多的结果，或者迭代几轮关键字，最终给我一个系统性的汇总。很多时候为了回答的质量，我是愿意等下去的，而这件事其实很适合Cursor这样的Agentic AI来做。

于是我就开始进行了一系列实验，来探索Cursor到底有没有可能取代ChatGPT或者Claude.AI，作为我们使用AI的通用入口。在经过了一些简单的尝试之后，我对实验的结果非常欣喜。下面我就简单介绍一下，Cursor可以如何被用来完成各项常见的AI任务，尤其是传统的非agent类型的AI应用，并且比较一下它的优劣势。

### 问答

对于最简单的常识性的问答，我们可以直接在CursorChat里面输入问题来得到答案。这一点和传统的AI并没有分别，有一个相对细节的优势是，我们可以在同一个界面里直接调用OpenAI、Anthropic，甚至是我们自己本机的私有AI来进行问答。

![Asking QWen2.5 in Cursor](https://yage.ai/images/cursor-entry-chat.png)

但在此之外，有一个非常大的好处是，正因为Cursor是一个编辑器，所以我们可以非常方便地把问答的结果收集起来，沉淀下来，变成一个可以复用的文档。

编辑器还带来另一个好处，就是当我们在进行与文本相关的任务的时候，它甚至有一些相当奇妙的用法，比如在下面的这个例子里，我想把我的中文版的博客翻译成英文，那直接在Cursor chat里面提出要求之后，它就会给我一个英文版本的文章，点击apply之后，Cursor会自动将中英文文档进行对比，高亮出其中的差别。但有意思的是，因为我们的译文和原文的结构是完全一样的，在经过对比之后，这天然就形成了一段中文一段英文的对比图形界面，在上面我们可以直接对英文进行非常直观的修改，最后accept再复制就可以完成翻译了，虽然我相信这不是Cursor设计的本意，但是整个工作流程异常的便捷自然。

![translation task in Cursor](https://yage.ai/images/cursor-entry-translate.jpeg)

### 接入私有文档RAG

Cursor有一个功能是针对一个很大的代码库，也能精准地找到相关的函数，并且用它的信息来帮助撰写代码。对于非开发性质的问答来说，这天然就是一个RAG引擎。

当我们在问答窗口不是使用回车，而是使用Command加回车来发出问题的时候，它会首先在当前的文件夹下做一轮搜索，并且在文本框下面显示出排在前面的文档和相关度，最后使用这些信息构建提示词完成最终的生成。这些中间结果都是可以在界面上展开并且查看的。而且这个功能不仅在Chat里可以使用，它也可以作为Agentic AI的一步来使用，这是因为搜索这个功能也是Cursor Composer可以调用的一个Agent Tool。

![RAG in Cursor](https://yage.ai/images/cursor-entry-rag.jpeg)

上图这个例子里，我把我所有的Blog文章放在了当前文件夹下，然后问了Cursor一个相当复杂的问题。我问他在Chat GPT发布后的这两年时间里，作者也就是我对AI的观点和态度发生了哪些变化。Cursor的回答非常惊艳，他首先自己组织了一些关键字，然后用这些关键字做了Retrieval，结果看上去都挺靠谱的。接下来他针对这些文章进行了总结和对比，给出了相当有深度的回答。

所以即便是对于非开发性质的任务，Cursor也可以非常自然的和私有文档进行结合以及问答。而且相比于单纯的对话性质的聊天界面，Cursor天然就可以把这些新生成的insights进一步沉淀成新的文档，在后来的搜索中继续使用，这就形成了一个知识闭环。这种附用性和知识探索沉淀和新增的能力，对于知识管理来说是非常重要的。因此如果你使用obsidian之类的软件来进行知识管理的话，也不妨使用Cursor来增加知识检索和管理的效率。

### 搜索

另一个意外的好用的用法是把Cursor当作一个搜索引擎来用。考虑到Cursor自己并不支持上网搜索，能做到这一点主要是依赖于这个工具优秀的扩展性。如我们在上一篇[魔改Cursor的文章](/cursor-to-devin.html)中提到的，我们可以给它写一个小爬虫工具，进行搜索和网页内容抓取，然后在`.cursorrules`这个文件里叙述这两个工具的用法，就等于给它拓展了上网搜索和浏览的功能。

而且我做了几个或简单或复杂的尝试，它的回答一如既往的惊艳，比如我问它OpenAI最近有什么新闻，它准确地从搜索的结果中梳理出了12天连续直播的相关结果，并且提到昨天OpenAI把o1这个模型在API中间release了。紧接着我就追问了，o1不是早就出来了吗？它又通过搜索之后可以知道，o1之前发布的是o1 Preview，是一个历史的版本，在昨天发布的版本是正式版，花费的用来思考的token少了60%。而我用类似的关键字在GPT中间搜索的时候，则得不到这么惊艳的结果。比如GPT给出的结果还在说OpenAI发布了最新的模型GPT-4o，还活在上古时代。

![Searching in Cursor](https://yage.ai/images/cursor-entry-search.jpeg)

*(BTW上图也是用cursor直接生成的，提示词是`我现在有两个图片1.jpeg. 2.jpeg. 我想把两个变成一样高（矮的那个的高度），然后左右合并拼成一张图，中间有一个10px的边框。另存为cursor-entry-search.jpeg`)*

另一个惊艳的例子是我突然想要复刻一个叫做《北京浮生记》的小众游戏，但是不记得他的游戏细节了。在问了Cursor Agent，它不仅进行了搜索，而且进行了多轮关键字迭代，最终生成了一个相当完整的游戏报告，我放在了[这里](https://yage.ai/beijing_life_story.html)。

因为工具和`.cursorrules`中间的prompt都是我们自己写的，这里面的定制性非常高。比如你可以让它一下看前20个结果，而不仅仅是局限于前三五个结果，或者你可以在prompt中间指定，当搜索编程相关的内容的时候，即使我输入的是中文关键字，你也要先用英文来搜索。这些灵活的定制性，让它能实现的服务质量非常高。

### 个性化

此外，如我们上个文章中提到的一样，在整个使用Cursor的过程中间，我们也可以通过提示词来实现定制化和个性化记忆。比如你希望他用中文来回答，或者某种特定的话题要搜索某个网站，或者你有一个特殊的资料库，里面是你在聊天中经常用到的链接等等，都可以以提示词的方式，或者以add某个文档的方式，动态地集中给他。他会额外地使用这些信息来进行回答。因此，它也是一个可以成长、可以调教的私人助理。

### 局限

但是Cursor直到目前为止，仍然没有一个可以通过程序来调用的API，它自己也不提供移动端。因此，我们上面所说的所有操作都是在电脑上完成的。但是我觉得尤其对能够干活的Agentic AI，有一个移动客户端尤其重要。毕竟跟Agentic AI进行交互，往往只需要通过口述或者聊天就可以。这让很多以前我们必须要坐到电脑前面才能干的活，一下子在手机端都可以做了。因此，这个是把Cursor作为AI的通用入口的用法，目前的一个相当大的局限。让我们看看未来有没有厂商，能够及早意识到Agentic AI在移动端的重要性，把这一点加以补足吧。但好消息是，经过我们的这些尝试和比如MCP这类的标准协议的发展，其实现在把这些功能给实现出来也并不是很难。

<script async data-uid="49b08a3e73" src="https://yage-ai.kit.com/49b08a3e73/index.js"></script>
