首富从AI浪潮开始 第230节
并不是所有的媒体都能看懂现在的状况。
但是几个科技媒体的记者互相之间已经在窃窃私语了。
【需求理解:为当前版本控制机制增加树状分支管理能力。】
【当前限制:】
【1.检查点仅支持线性前进/回退。】
【2.回退后继续修改会覆盖后续状态。】
【3.缺少 branch / switch / merge等命令。】
【4.缺少分支状态展示能力。】
【建议目标:】
【1.引入 VersionNode数据结构。】
【2.支持从任意检查点创建新分支。】
【3.支持 branch list / branch create / branch switch。】
【4.保留当前线性回退能力,避免破坏已有用户习惯。】
【5.新增测试覆盖分支创建、切换、回退后分叉等场景。】
姜亦心看到这里,心里稍微落定了一点。
第一关过了。
把自然语言转化成细分任务这一步完成了。
御风已经开始调用API进行代码生成了,趁着它在后台运行,姜亦心开始同步解说。
“大家现在看到的,是御风对当前项目的第一轮理解。”
“它没有直接开始写代码,而是先读取项目结构,找到和需求相关的核心模块,再把当前系统的限制列出来。”
“这一点很重要,这也是一个真人程序员接手这个任务时会做的事。”
“每一个程序员刚工作时学到的第一课都是——不要去改动你不理解的代码。”
此时在看直播的网友大部分都是相关从业人员,看到这里,直播间的弹幕也转向了专业化讨论。
「这一段是真的专业,先读项目再动手,比我组里的实习生可靠谱多了」
「楼上别凡尔赛,谁组里的实习生不是先动手再说的(狗头)」
「这不就是 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】
【重新运行测试】
这个运行大概花了二三十秒,全场都安静下来,姜亦心下意识的用手捂住了话筒。
一次错误可以说是概率,连错两次就有点儿说不过去了。
更别提现在的弹幕量,已经密密麻麻的挡住了画面。
「卧槽卧槽卧槽我都紧张起来了」
