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 有一个功能是针对一个很大的代码库,也能精准地找到相关的函数,并且用它的信息来帮助撰写代码。对于非开发性质的问答来说,这天然就是一个 RAG 引擎。当我们在问答窗口不是使用回车,而是使用 Command 加回车来发出问题的时候,它会首先在当前的文件夹下做一轮搜索,并且在文本框下面显示出排在前面的文档和相关度,最后使用这些信息构建提示词完成最终的生成。
上图这个例子里,我把我所有的 Blog 文章放在了当前文件夹下,然后问了 Cursor 一个相当复杂的问题。我问他在 ChatGPT 发布后的这两年时间里,作者也就是我对 AI 的观点和态度发生了哪些变化。
Cursor 的回答非常惊艳,他首先自己组织了一些关键字,然后用这些关键字做了 Retrieval,结果看上去都挺靠谱的。接下来他针对这些文章进行了总结和对比,给出了相当有深度的回答。
所以即便是对于非开发性质的任务,Cursor 也可以非常自然的和私有文档进行结合以及问答。而且相比于单纯的对话性质的聊天界面,Cursor 天然就可以把这些新生成的 insights 进一步沉淀成新的文档,在后来的搜索中继续使用,这就形成了一个知识闭环。
另一个意外的好用的用法是把 Cursor 当作一个搜索引擎来用。考虑到 Cursor 自己并不支持上网搜索,能做到这一点主要是依赖于这个工具优秀的扩展性。比如我们可以给它写一个小爬虫工具,进行搜索和网页内容抓取,然后在。cursorrules 这个文件里叙述这两个工具的用法,就等于给它拓展了上网搜索和浏览的功能。
而且我做了几个或简单或复杂的尝试,它的回答一如既往的惊艳,比如我问它 OpenAI 最近有什么新闻,它准确地从搜索的结果中梳理出了 12 天连续直播的相关结果,并且提到昨天 OpenAI 把 o1 这个模型在 API 中间 release 了。
紧接着我就追问了,o1 不是早就出来了吗?它又通过搜索之后可以知道,o1 之前发布的是 o1 Preview,是一个历史的版本,在昨天发布的版本是正式版,花费的用来思考的 Token 少了 60%。
BTW 上图也是用 Cursor 直接生成的,提示词是我现在有两个图片 1.jpeg,2.jpeg。我想把两个变成一样高(矮的那个的高度),然后左右合并拼成一张图,中间有一个 10px 的边框。另存为 cursor-entry-search.jpeg
因为工具和 .cursorrules 中间的 prompt 都是我们自己写的,这里面的定制性非常高。比如你可以让它一下看前 20 个结果,而不仅仅是局限于前三五个结果,或者你可以在 prompt 中间指定,当搜索编程相关的内容的时候,即使我输入的是中文关键字,你也要先用英文来搜索。这些灵活的定制性,让它能实现的服务质量非常高。
但是 Cursor 直到目前为止,仍然没有一个可以通过程序来调用的 API,它自己也不提供移动端。因此,我们上面所说的所有操作都是在电脑上完成的。但是我觉得尤其对能够干活的 Agentic AI,有一个移动客户端尤其重要。毕竟跟 Agentic AI 进行交互,往往只需要通过口述或者聊天就可以。这让很多以前我们必须要坐到电脑前面才能干的活,一下子在手机端都可以做了。因此,这个是把 Cursor 作为 AI 的通用入口的用法,目前的一个相当大的局限。