大家好,我是双越老师,也是 wangEditor 作者。
我正开发一个 Node 全栈 AIGC 知识库 划水AI,包括 AI 写作、多人协同编辑。复杂业务,真实上线,大家可以去注册试用,围观项目研发过程。
开始
我目前还是 vscode + copilot 用户,我一直在为 github 提交代码,所以现在 copilot 一直免费试用。
这两天我一起调研了所有的 AI 编程工具,比较流行的有 Github Copilot, Cursor, Windsurf, Cline, Trae
发现现在的 AI IDE 都已经进入到了 Agent 智能体模式,不再是之前简单的:自动代码补全,通过注释生成一个函数,或选中代码 ctrl + K 进行修改等...
Agent 智能体模式可以为 AI 编辑器 2.0 版本,它能结合项目代码库、多个文件,以及通过 MCP 调用外部能力,将从整个研发流程上提高效率,而不仅仅是写代码上。
例如 Copilot Pro+ 智能体,可以根据 Github issue 自动修改代码,写单元测试,提交 PR ,如果有人审核代码提出意见,它还能自己修改、提交,直到人工审核通过合并 PR 。和 Devin 的功能有点像。
Agent 智能体的特点
2023 年 AI 刚诞生的时候就是一个聊天工具,你问我答,知识库是预先训练好的,最新的新闻我不知道。
而后可借助 function call 调用外部能力,可定义一个 AI workflow 工作流,当你输入指令是,它会严格按照工作流和步骤执行。
AI Agent 智能体的特点是:你只需要输入指令,其他由 AI LLM 决定执行哪些,如何执行,执行多少步,最终返回给你答案。即 LLM 会自己决定工作流程和步骤,不用人为规定了。
它可能会在尝试一个搜索未果以后,再去尝试另外一种搜索,这就是 ReAct (不是 React)
现在各个 AI 编辑器都已经进化到了 Agent 级别,未来将会进化的更高级更聪明。但都不是免费哈,付费上班不是梦...(苦瓜脸)
AI 编辑器常见功能
自动代码补全
这是 AI 编辑器最早发明的能力,根据当前的代码内容预测后续的代码内容,按 tab
键可一键写入,所有的 AI 编辑器都支持这个能力。
制定代码修改和优化
选中一段代码,使用某个命令(如 Cursor ctrl+k
)来指定优化代码。这个功能所有 AI 编辑器都有,这是最基础的 AIGC 功能,最早就有。
自动预测光标和补全代码
当你修改完一个变量,它会自动预测你将下一步修改哪里,例如:会预测你的光标位置,会帮你在顶部 import 插件,还可能会提示你修改其他文件的某些变量。
这些细节的功能,会让你在编程过程中减少对鼠标的使用,更多的通过键盘来操作,提高生产效率。
自然语言编程 builder
这是一个综合性的能力,不仅仅是编码。
通过自然语言写代码、创建文件、修改代码等,会考虑整个项目代码结构。例如 Windsurf 可根据 page.tsx 中的代码结构,继续写出 <Header>
<Game>
和 <Footer>
三个组件的代码。
还可以通过自然语言提交代码、预览项目、发布项目。以及遇到 bug 时可以交给 Agent 来修改,例如 Windsurf 可以把一个 web 项目发布到自己的服务器上 https://my-app.windsurf.build
最近还看到新的形式, Claude Code 和 Gemini cli ,它可以在控制台使用自然语言进行各种操作,例如
✻ Welcome to Claude Code!> add a hello world function to the main file
甚至你可以提出一个非常复杂的任务,让 AI 根据你当前的代码分析并解决,例如 Cline 首页给出的例子:让 AI 进行 SEO 优化。这个任务即便是人来做,也需要花不少时间去看代码、修改代码,最后还不一定效果怎样。
MCP
我之前写过一篇文章《编程常用的 MCP server》其中提到很多 MCP server 的配置和使用,例如 Github pgsql browser-tools 等,MCP 可以扩展 LLM 的能力,让它把手伸到其他工具中去执行操作。现在 AI 编程工具都支持 MCP 配置。
最后
AI 编程工具的所有功能,总结下来就两个方面。
第一,它潜入到你写代码的场景中,主动去预测你未来的代码、修改甚至光标,让你更高效的操作。
第二,它被动提供了自然语言编程的能力,等待你来跟它聊天,给它指令,它再帮你工作。无论做什么功能,先去问问 AI 就对了,大部分情况下也许它能给你更好的答案。
随着 AI 编程工具的进一步发展,我觉得付费使用应该是大部分人的选择,也许公司给你购买商业服务,也许需要自己去订阅,反正各个工具都要钱,你也没得选择。
如还有其他 AI 编程工具的功能,欢迎在下面评论补充~