你通常会在 Martin Fowler 的博客上撰写文章,提供生成式 AI 领域的最新发展动态。那么,让我们先来说说有什么新动态,因为在我看来,生成式 AI 领域的更新速度甚至比 JavaScript 库还要快。我们才眨了一下眼,可能在那段时间里生成式 AI 领域就出现了两个新工具。
啥是新的呢?
这几乎是现在经常被问到的问题,即使我目前全职负责跟踪这个领域,我也不可能掌握所有的东西,对吧?所以,如果其他人不能在日常工作中做到这一点,也不必感到难过。而且我在演讲中说过的一件事是,演讲结束后的一个小时,我在网上看到它已经过时了。所以,这就是目前这个领域的问题,对吧?但当然,有一些事情开始变得更加稳定,或者现在工具中出现了某些模式。
所以,当你回顾编程助手功能的演变时,我们首先有了自动补全,然后是加强版的自动补全,接着我们有了简单的 AI 聊天,然后聊天变得越来越强大。所以,在像 Copilot 或 Cursor 或 Windsurf 或其他许多工具这样的编程系统中,聊天现在也有了更多关于我们的代码的上下文,我们实际上可以询问整个代码库的问题。而且,有很多上下文提供者,我们可以如何引入当前的 git-diff 或更多与事物的集成,比如给我当前 JIRA 问题的文本等,当然,模型也在不断发展。
让我们简化一下。让我们考虑趋势,工具的更新速度很快。一切都变化得如此之快,以至于很难跟上,但你可以将它们归类。我们与之交互的方式。我不太喜欢在浏览器中进行聊天,然后从一边移到另一边,或者我不太喜欢我们只是提供评论的部分。最好是以这种方式看待它。
目前,我们正处于与模型交互的阶段,我们有了创新的自动插入功能,或者我们应该如何定位自己,当我们只是说,“让我们称它为一个自主的初级开发人员在我们身边。”我们是不是已经到了那一步,或者我们还没有?
是的,可稍后讨论这个自主的初级开发人员是否真的自主。自去年 10 月、11 月以来,最新发生的事情是 IDE 或终端会话中的聊天,也有一些从终端进行的编程助手。让我们现在专注于 IDE,这个聊天现在变得非常强大,以至于你可以真正地从聊天中驱动你的实现,聊天现在可以同时更改多个文件。
它可以运行终端命令。它基本上可以访问 IDE 可以访问的很多东西。这就是提供更多的自动化的东西,比如说我的编程助手生成的代码甚至无法编译或存在语法错误,对吧?所以通常在过去,我不得不去那里告诉它,这无法编译,但现在它实际上可以通过 IDE 捕获像代码检查错误或编译错误之类的东西,并且能够立即做出反应并自我纠正。
或者它可以这样说,好的,让我们运行测试,然后它会立即发现测试是红色的还是绿色的,我们能够将这些纳入它的操作中。所以,这正是现在让人们使用“代理”这个词来称呼这些工具的原因。所以这就使它具有了代理性,对吧?所以我认为目前还没有一个很好的关于什么是代理的全面定义。我认为我们总是在我们所处的上下文中重新定义这个词,对吧?但在编程助手的上下文中,它是我们 IDE 或终端中的一个聊天,可以真正访问所有这些工具,比如编辑文件、运行终端命令等等。然后,是的,以一种更自动化的方式为我们做事,而我们仍然在看着它们。
















