“大家现在看到的,是御风对当前项目的第一轮理解。”
“它没有直接开始写代码,而是先读取项目结构,找到和需求相关的核心模块,再把当前系统的限制列出来。”
“这一点很重要,这也是一个真人程序员接手这个任务时会做的事。”
“每一个程序员刚工作时学到的第一课都是不要去改动你不理解的代码。”
此时在看直播的网友大部分都是相关从业人员,看到这里,直播间的弹幕也转向了专业化讨论。
「这一段是真的专业,先读项目再动手,比我组里的实习生可靠谱多了」
「楼上别凡尔赛,谁组里的实习生不是先动手再说的(狗头)」
「这不就是 git的 commit graph吗?换了层皮而已」
「prprprpr」
「pr的那个日本网友,请你收收味儿」
在直播间的网友们激烈讨论的同时,终端这边开始进行输出新的改动记录。
【正在创建检查点】
【已创建检查点:checkpoint_20270204_102812_before_branch_tree】
【开始修改】
屏幕上开始滚动文件变更。
【正在新增 src/core/versionTree.ts】
【正在修改 src/core/checkpoint.ts】
……
【正在新增 tests/versionTree.test.ts】
【正在新增 tests/branchCommand.test.ts】
前前后后大概输出了十几个改动文件,这些路径对普通观众来说不算直观。
如果只让这些代码刷过去,确实会很枯燥。
还好,姜亦心早就预料到了这一点。
她没有让大屏幕停留在大片代码上,而是点击终端左下角的一个本地网址链接。
点击之后,浏览器中打开了一个新的页面,这是御风自动生成的。
页面上是一个简洁的任务进度面板,里面写着如下信息。
【任务:树状版本管理】
【理解项目:完成】
【设计数据结构:完成】
【修改核心模块:进行中】
【新增命令:等待中】
【补充测试:等待中】
【运行验证:等待中】
每一项子任务后面都有一个进度条,其中前两个已经填满,是绿色的,在进度条末尾有一个绿色的对勾。
第三个进度条正在前进,速度不算慢,末尾有一个旋转中的小圆圈。
姜亦心说道:“为了让非技术用户也能理解智能体到底在做什么,我们给御风加了一个任务视图。”
“终端中执行日志,网页上是任务状态。”
“你不用看懂每一行代码,也能知道它现在在理解、在修改,还是在验证。”
“这对团队协作很重要。”
“因为很多时候,产品、测试、运营不读代码,但他们需要知道事情的进度。”
“顺带一提,这个功能也是使用御风开发的。”
随着姜亦心的解说,御风的开发已经完成了补充测试的阶段,现在正在进行运行验证的阶段,但是突然一个红色的WARNING(警告)提示在页面中弹了出来。
姜亦心切回终端,只见终端中输出的文字是
【FAILED tests/branchCommand.test.ts】(测试失败)
【Expected currentBranch to be“feature-a”, received“main”】(测试结果应为A支线,实际为主线)
现场的媒体都很安静。
直播间的弹幕密度激增。
「来了来了!这就是我说的翻车点!」
「我就说不可能这么顺利」
「看看小姐姐怎么圆」
姜亦心此时的心也漏跳了一拍。
现场演示有时候就是这么刺激,彩排了三次都没出现这个问题。
姜亦心定了定神,拿起话筒,说道:“我们可以看到,第一轮的测试失败了。”
“这在开发流程中是非常常见的情况。”姜亦心顿了顿,接着说,“而对于AI编程,这个场景又格外的有意义。因为AI编程本来就是一个概率问题,没有任何模型能保证每次输出的结果都是完美的。”
“如何在不确定的输出中,走向确定正确的结果,这正是御风要解决的问题。”
直播间的弹幕热度更高了。
「刚才是不是有人说不可能是真的现场?这还不真?」
「这个错误也是计划好的,信的人都被玩成汤姆猫了」
「“在不确定的输出中走向确定正确的结果”,小姐姐太帅了」
这时,姜亦心用手向大屏幕示意了一下,说道:“正好让我们看一下,御风会怎么处理这种情况。”
终端里,御风已经开始分析。
【测试失败分析】
【branch switch命令更新了内存中的 currentBranch,但未持久化到 BranchState。】
【导致测试重新加载状态后,currentBranch仍为 main。】
【影响范围:branch switch后的新任务可能写入错误分支。】
【开始修复】
【正在修改 src/commands/branch.ts】
【重新运行测试】
这个运行大概花了二三十秒,全场都安静下来,姜亦心下意识的用手捂住了话筒。
一次错误可以说是概率,连错两次就有点儿说不过去了。
更别提现在的弹幕量,已经密密麻麻的挡住了画面。
「卧槽卧槽卧槽我都紧张起来了」
「不会有人真的信是现场演示吧?不会吧不会吧?」
「别挡着我看不到结果了」
终于,测试的结果在终端里弹了出来。
【PASSED tests/branchCommand.test.ts】(测试通过)
【本次任务完成】
【改动摘要:】
【1.新增 VersionNode / BranchState,用于支持树状版本管理。】
【2.保留旧 checkpoint接口,并提供旧数据迁移能力。】
【3.新增 branch list / create / switch / tree命令。】
【4.新增分支树展示能力。】
【您需要保留此次改动吗?y/n】
姜亦心重新举起话筒,说道:“最后的这一部分,是御风生成的改动摘要。这是在我们接到内测用户的反馈之后新开发的功能。”
接下来,还有这场演示的最后一个环节。
姜亦心在终端输入了一个“y”,然后开始演示刚刚开发完成的功能。
全场的人都专注又安静的看着她的演示。
不管是不是科技行业的人,每个人都意识到自己刚刚见证了什么。
一个AI工具,在万众瞩目之下,在一个生产环境的复杂代码库里,从理解需求、写代码、跑测试、到自己修复自己的 Bug,端到端地完成了一个真实的工程任务。
这不是概念、不是炒作,是一个被验证过的生产力工具,在现场,在网络直播下。
他们突然意识到,在场的所有人,都见证了历史。
此时,直播间弹幕已经完全变了。
「卧槽,这个闭环太帅了!」
「用自己开发自己,真敢啊」
「如果不是录播,我愿称这个发布会为最强」
「刚才报错那一下反而真实」
「排队链接呢?我要试用」
「小姐姐太棒了,叫什么名字啊?」
姜亦心完整的演示了新功能,确保无误后,把电脑画面重新切回幻灯片,走回了舞台中央。
“这就是我想展示的东西。它不是一次代码生成,而是一个完整的工程任务。最重要的是,御风刚刚完成的功能,会成为御风之后继续进化的基础。”
说完这些,姜亦心用手中的控制器切换了下一张幻灯片。
屏幕上出现御风的公测信息。
【御风今日开放公测】
【第一阶段:限量免费】
【企业版体验申请同步开放】
“今天,御风正式开放公测。”
“第一阶段,我们会采取限量免费的方式,根据服务器资源和用户反馈逐步开放名额。”
“我们欢迎大家测试它,也欢迎大家批评它。”