跳至内容
Cursor 除了写代码,还能干什么?今天这篇文章的作者在深入使用 Cursor 一段时间后决定对它进行改造,改造后的 Cursor 能实现全自主 AI 软件工程师 Devin 90% 的功能。之后作者主要通过 “我说你做” 的方式使用 Cursor。
但他还不满足,又开始思考,有没有可能把 Cursor 或者类似的编辑器作为使用 AI 的通用入口呢?下面是他的一些思考和做法。
这么想主要是来自于两个观察:一个是,在我们把 AI 作为 Consultant 来使用的时候,很多时候我们还是需要大量的复制粘贴,而这样的操作在 Cursor 内部是非常自然的,只要点击 Apply,它就会将 AI 回答的内容插入到我们正在写作的文档里。所以从用户工作流的角度来说,Cursor 其实反而是一个更自然的界面。
从另一个角度来说,AI 作为 Consultant 还有一个致命的缺陷,就是至少在目前的 AI 产品里,大家和搜索引擎结合的体验都不太好。不论是 ChatGPT 的 Search 还是 Proplexity,或者是 PoE 的 Web Search Bot,他们干的事情一般都是简单浏览一下前几个结果就草草给出答案。
虽然这对于单轮的 AI 问答来说可能还可以忍,但是在用惯了 Agentic AI 以后,我们自然而然就会期待 AI 有更好的完成任务的质量,比如往下翻更多的结果,或者迭代几轮关键字,最终给我一个系统性的汇总。很多时候为了回答的质量,我是愿意等下去的,而这件事其实很适合 Cursor 这样的 Agentic AI 来做。
于是我就开始进行了一系列实验,来探索 Cursor 到底有没有可能取代 ChatGPT 或者 Claude.AI,作为我们使用 AI 的通用入口。在经过了一些简单的尝试之后,我对实验的结果非常欣喜。下面我就简单介绍一下,Cursor 可以如何被用来完成各项常见的 AI 任务,尤其是传统的非 Agent 类型的 AI 应用,并且比较一下它的优劣势。
对于最简单的常识性的问答,我们可以直接在 Cursor Chat 里面输入问题来得到答案。这一点和传统的 AI 并没有分别,有一个相对细节的优势是,我们可以在同一个界面里直接调用 OpenAI、Anthropic,甚至是我们自己本机的私有 AI 来进行问答。
但在此之外,有一个非常大的好处是,正因为 Cursor 是一个编辑器,所以我们可以非常方便地把问答的结果收集起来,沉淀下来,变成一个可以复用的文档。
编辑器还带来另一个好处,就是当我们在进行与文本相关的任务的时候,它甚至有一些相当奇妙的用法,比如在下面的这个例子里,我想把我的中文版的博客翻译成英文,那直接在 Cursor Chat 里面提出要求之后,它就会给我一个英文版本的文章,点击 Apply 之后,Cursor 会自动将中英文文档进行对比,高亮出其中的差别。
但有意思的是,因为我们的译文和原文的结构是完全一样的,在经过对比之后,这天然就形成了一段中文一段英文的对比图形界面,在上面我们可以直接对英文进行非常直观的修改,最后 accept 再复制就可以完成翻译了,虽然我相信这不是 Cursor 设计的本意,但是整个工作流程异常的便捷自然。
Cursor 有一个功能是针对一个很大的代码库,也能精准地找到相关的函数,并且用它的信息来帮助撰写代码。对于非开发性质的问答来说,这天然就是一个 RAG 引擎。
当我们在问答窗口不是使用回车,而是使用 Command 加回车来发出问题的时候,它会首先在当前的文件夹下做一轮搜索,并且在文本框下面显示出排在前面的文档和相关度,最后使用这些信息构建提示词完成最终的生成。
这些中间结果都是可以在界面上展开并且查看的。而且这个功能不仅在 Chat 里可以使用,它也可以作为 Agentic AI 的一步来使用,这是因为搜索这个功能也是 Cursor Composer 可以调用的一个 Agent Tool。
上图这个例子里,我把我所有的 Blog 文章放在了当前文件夹下,然后问了 Cursor 一个相当复杂的问题。我问他在 ChatGPT 发布后的这两年时间里,作者也就是我对 AI 的观点和态度发生了哪些变化。
Cursor 的回答非常惊艳,他首先自己组织了一些关键字,然后用这些关键字做了 Retrieval,结果看上去都挺靠谱的。接下来他针对这些文章进行了总结和对比,给出了相当有深度的回答。
所以即便是对于非开发性质的任务,Cursor 也可以非常自然的和私有文档进行结合以及问答。而且相比于单纯的对话性质的聊天界面,Cursor 天然就可以把这些新生成的 insights 进一步沉淀成新的文档,在后来的搜索中继续使用,这就形成了一个知识闭环。
这种附用性和知识探索沉淀和新增的能力,对于知识管理来说是非常重要的。因此如果你使用 obsidian 之类的软件来进行知识管理的话,也不妨使用 Cursor 来增加知识检索和管理的效率。
另一个意外的好用的用法是把 Cursor 当作一个搜索引擎来用。考虑到 Cursor 自己并不支持上网搜索,能做到这一点主要是依赖于这个工具优秀的扩展性。比如我们可以给它写一个小爬虫工具,进行搜索和网页内容抓取,然后在。cursorrules 这个文件里叙述这两个工具的用法,就等于给它拓展了上网搜索和浏览的功能。
而且我做了几个或简单或复杂的尝试,它的回答一如既往的惊艳,比如我问它 OpenAI 最近有什么新闻,它准确地从搜索的结果中梳理出了 12 天连续直播的相关结果,并且提到昨天 OpenAI 把 o1 这个模型在 API 中间 release 了。
紧接着我就追问了,o1 不是早就出来了吗?它又通过搜索之后可以知道,o1 之前发布的是 o1 Preview,是一个历史的版本,在昨天发布的版本是正式版,花费的用来思考的 Token 少了 60%。
而我用类似的关键字在 GPT 中间搜索的时候,则得不到这么惊艳的结果。比如 GPT 给出的结果还在说 OpenAI 发布了最新的模型 GPT-4o,还活在上古时代。
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 这类的标准协议的发展,其实现在把这些功能给实现出来也并不是很难。
原文链接:https://yage.ai/cursor-ai-entry.html
投稿/爆料,请邮箱联系:jet@damoxinglab.com
(文:AI大模型实验室)