大模型轰轰烈烈这么久,各个领域都在尝试应用,但普遍存在的问题是手里有了锤子就到处找钉子,真正重磅级别的产品却很少。
软件研发无疑是被大模型影响最重要的领域之一。工程师作为最忠实的付费用户,主要原因是工具对软件研发的生产效率至关重要。
即使是最简单的复制粘贴,也能显著提升生产力。从去年到至今,我应该是高粘性大模型相关产品用户,从 chatgpt 到 poe,再到 cursor 等。 同时也是大模型相关工具的构建者,从简单到复杂的原型,借助大模型构建大模型产品。
和其他新技术一样,我们很难预知最终的产品形态。然而到目前为止,基本上朝着 3 个方向探索。
主要形态
一、以传统 IDE 为基础,AI 辅助。
这类代表就是cursor 、github copilot 、MarsCode 、 Lingma 等
这些工具有一个特点,人类为主,AI 为辅,以此提高效率。他们依旧以传统人类的 IDE 为平台,用插件形式集成,或者对IDE进行大量 AI 的功能改造。典型的功能就是自动续写、智能预测、智能插入、聊天提问等。
即使最近很火的 cursor 也仍然属于这类,只是它把软件的体验做得更好,并集成了最顶级的模型,备受好评和关注。
二、新交互的人机协作
这类工具尝试打破以人类为主导的 IDE 形态,让 AI 决策并主导大多数工作,人类以友好交互、自然语言等方式辅助推进软件完成。
典型的有 github copilot workspace,亚马逊的 app studio等。
这类产品极具创新性,目前还在探索阶段,并无大规模商业化落地。
三、全自动无人研发。
这种工具试图把 AI 打造成一个和人类工程师相对等的“人”,你可以像它提出需求,提出问题。对方再利用各种 Agent 工程化手段像人一样思考、行动、最终解决问题。
这类代表有 devin、open-hand、swe-agent等。
只需要一个聊天窗口,用自然语言派发出你对任务,AI 工程师收到任务后开始行动,并随时像你反馈。
第三种看上去有点科幻,但确实有大量团队在探索和研发。
这三类产品几乎都进行了深入的体验,下面是一些随想。
cursor 的启示—实用为王
以 github copilot 和 cursor 为例子,最早我试用了 vscode copilot 插件,说实话,仅仅是更智能的自动提示,而聊天模型还不如网页版本的性能。实际的那个时候我更倾向于从更高模型进行对话复制粘贴,而不是插件提示,因为网页版本更强的gpt4可以生成更为完整,甚至是整页的文件代码。
之后下载了早期版本的 cursor ,自动生成整个文件、以及智能插入很惊艳,但是奈何它是一个非常简漏的编辑器。
接下来大半年我一直依赖网页版本的大模型,即使如此,这种效率提升是惊人的,很多在我看来过去需要1-2个星期甚至更久才能完成的工作,现在几乎1-3天就可以完成。当然这里的时间仅仅指编码的工作量,也就是以代码量计算的人日。很多时候大部分工作的时间并不在编码,而是处理大量缝合工作,比如计划、思考、沟通、协调、写材料等。
今年中旬,cursor 又以某种方式火起来了。当我再次安装时候,已经发现它完全继承成了 vscode 生态。事实上,新版 cursor 就是基于 vscode 分支进行二次开发的。我解压并分析过其源码,发现它基本上保留了大部分 VSCode 的架构和代码,仅针对 AI 体验进行了定制开发和增强。原来的 vscode 用户可以零成本迁移,在深入试用了后,就毫无犹豫付费了。
cursor 的功能不必多介绍,它并没有很高深的东西。但真的做到“用户体验为王”,比如在任何可能报错的环节,以友好的方式增加“AI 修复”按钮,这仅仅是一个优化的提示词自动把错误发送到聊天侧边栏,AI 给出结果,点击应用,自动插入源码。当你像大模型请求了涉及 N 个文件的改动方案,只需要点击 “应用”,cursor 会智能的应用到指定行,无需复制粘贴。cursor 的智能提示,贴心的用你粘贴板、历史编辑等信息做上下文预测解来来,有那么一刻,整个页面的重构只需要按 TAB就能完成。但实际上这些功能你说很“高大上”、很“高科技”吗,没有。cursor 仅仅是把从网页提问,到复制粘贴的过程融合到了整个IDE中。这些微小的细节共同构建了优秀的整体体验。相信微软 github 或者其他团体都能做到,但创业公司的优势在于贴近用户,并强大的执行力。
当然,这也意外着 cursor 这种团队也有风险,随着时间推移,其他的公司都会借鉴这些优化,最近 YC 投资了好几家和 cursor 同类产品公司,并且都是开源的。我还是相信 cursor 这类产品最终会被开源社区取代,vscode 几乎已经成了基础设施的存在,在开源的生态中,妄想构建一个闭源的二次产品,这是很难被社区文化接受的(即使协议允许)。
创新有风险——新人机协作是伪需求?
如果说 cursor 是把传统 IDE 做出了一条脚踏实地的路子。那市面上各类宣传抛弃掉传统 IDE,构建新的人机协作平台也充满了更大的创新和不确定性。
但目前为止,我们并无看到一个现象级的这种平台。github copilot workspace 难产,各类平台演示都仅小规模的原型构建。
新人机协作,大多是以自然语言替代程序编码。这条路子到底行不行得通?最简单的例子,假设我们有一个新的需求,丢给 AI,它先分析需求,并从整个巨大的仓库中找到要改哪些代码,如何改。人类如果觉得不对,可以用自然语言告诉 AI 如何调整,直到它给的方案和预期一致。接下来 AI 将会自动的把方案形成具体对没一个文件的规划,并实施编码级别的改动。这一过程也是可见的,人类可以调整的。这一切以自然语言为主导。
自然语言真的能精确描述全部算法细节吗?AI 的推理时间和成本是否会过高?在这种情况下,我们是否有必要丢掉传统 IDE?
让我们尝试以一个用户工程师的视角,如果我能在 IDE 上获得这些 AI 的能力,为何要跑到一个新的平台?
探索新型人机交互方式是值得鼓励的,但始终要以迁移成本、用户习惯和体验为核心。
探索边界——AI 工程师的上限在哪里
如果说新的人机协作平台大多是带有风险的创业性质,那类似 devin 这类 AI工程师,大多仅仅在学术界 Agent 研究,以及社区探索。目前没有真正的商业化落地(市面上那些都是宣传,包括 devin 也未面向全部用户),当然这是一个需要长期研究和探索的方向,并随着 AI 底层和配套的能力不断提高,而变得有可能。
一个 AI 工程师并不是要真正替代人类,而是在人类工作的边界中不断接手一些潜在的场景。想象一个修复小 bug、写接口文档等场景我们会安排给新手,这类工作同样可以尝试给 AI 工程师。和 ide 插件不同,AI 工程师要保证全流程自动化,它要像真正的人一样完成一个简单的任务。
虽然看起来很科幻,但现在开始探索AI 全自动化意义在于它提供了一个起点,我们把具备成熟的事情逐步安排给它做,这个过程是渐进的。如果你不提前准备,那接下来什么都没有。
软件研发的形态在何方
回到大模型在软件研发落地的场景,我们的终点在哪里,止步于 cursor ?等待 gpt4 变 gpt6?
cursor 是一个给人很好启示的产品,那就是不要幻想在大模型落地中憋大招突然做一个“高端”、“惊人”的超级 app。我们拥有大量的软件研发基础设施,他们是否好用,是否能消除浪费,是否不够丝滑。 整个软件研发的流程应该提倡“AI 精益研发”,用大模型的能力贯穿整个传统研发流程点点滴滴。这何不是一种更为实用主义、用户体验为中心的方向呢。
不能被某一个形态所约束,新的人机协作方式和传统 IDE、工具流程等并不冲突。一切应该以最终用户生产力为导向。说实话,笔者对 Replit 这种形态有个人喜好,它试图把编码、环境配置、数据库、发布等全流程用 AI 打包起来。但仔细观摩这家公司,它最初并不是做 AI 的,而是协同编程,尝试用更高效的方式将软件研发全流程串联起来,这实际上就是 DevOps 思想。我们并非在形态上要做成特定的模样,大模型在软件研发领域做好了,它就是 DevOps,敏捷的。消除人工浪费和等待——最终为理想就是无人全自动。
⚠️ 本文包含视频内容可能无法正常播放。
原文链接:点击查看微信公众号原文