第212章 我是御風的發起人
第212章 我是御風的發起人
周四,臘月二十八,離春節還有兩天。
上午九點半,源碼科技的年會現場。
這場年會是源碼科技的第一場年會,蘇念念前期花了不少心思準備,不過後來工作太忙,她都交給沈叢雲去管理具體的細節了。
但是主題是蘇念念定的。
年會會場定在了思南公館酒店宴會廳,是一個老洋房改造的酒店,裡面一股民國時候的氣息。
大家都接到了提前通知,今天可以自願穿民國風的衣服來參加年會,感受一次復古和科技結合的體驗。
姜亦心周末的時候還讓閨蜜大劉陪她一起去南京路口那家做了幾十年旗袍的老師傅訂做了一件黃色的旗袍。
提供最快更新
為了搭配旗袍,她盤了頭髮,還少有的穿上了高跟鞋,整個人看起來成熟了不少。
發布會的時間是上午十點,還有不到半個小時。
姜亦心手裡攥著已經背的滾瓜爛熟的發言稿,卻沒去看。她剛做完最後一次彩排,現在心裡還在砰砰跳。
今天的年會比原本計劃里熱鬧了至少兩倍,大大小小的科技媒體和本地媒體都請了不少,甚至連海城電視台的記者也來了。不知道李婷是從哪裡找的關係。
李婷把直播那邊的事情協調好過來之後,來到姜亦心身邊,看到她緊張的樣子,忍不住抱了她一下:「小姜今天真可愛,快把我迷死了!」
姜亦心摸了摸自己的胸口,嘆了口氣:「婷姐,別打趣我了,我都快緊張死啦。」
李婷笑得肩膀都在抖,鬆開姜亦心,又上下打量了一遍姜亦心今天這一身,眼睛裡全是掩不住的調侃。
「這可不是打趣。」李婷說,「你今天要是不上台做發布會,就該直接去拍海報。」
姜亦心低頭看了一下自己,其實旗袍也不是特別誇張,和今天現場的氣氛也很搭配,但是平時總是穿衛衣、牛仔褲、運動鞋,突然換這麼一身還挺不習慣的。
更何況,今天她要上台發布的,是這一個星期來一直在網上吵得不可開交的產品。
想到這,她又拿起手中的發言稿來,想再看一遍,才發現已經被她攥皺了。
「別看了。」李婷說,「你都背的那麼熟了,現在去轉一圈,放鬆一下心情吧。」
姜亦心想了想,也有道理。
她抬頭看向宴會廳。
思南公館酒店的宴會廳不是那種常見的五星級酒店大宴會廳,沒有誇張的水晶燈和金色牆面,天花板很高,窗框細長,牆面保留著老洋房改造後的線條,暖色燈光落在木質地板上,帶著一點老海城的復古感。
可舞台又完全是另一種氣質。
正中央的LED大屏上,是御風公測發布會的主視覺。
【御風公測發布會】
【從代碼補全,到工程智能體】
民國風的宴會廳,復古主題的年會,科技感十足的發布會背景,還有台下那些架起來的攝像機和直播設備,幾種完全不同的東西放在一起,竟然不顯得違和,反而有一種很特別的衝突感。
姜亦心知道,這是蘇念念定主題時特意要的效果。
「源碼科技不是一家傳統意義上的科技公司。」蘇念念當時說,「我們做的事情是新的,做事情的方式也是新的,但我們站的地方不是憑空來的。民國風不是為了懷舊,是為了提醒大家,我們不是矽谷的追隨者。」
御風,姜亦心閉上眼睛,在心裡又默念了一遍這個名字。
御風而行,人人如龍。
姜亦心想到這裡,心裡反而不那麼緊張了。
她順著會場往前看。
張彪站在靠近通道的位置,他穿著一身黑色中山裝,扣子扣得一絲不苟,背挺得很直,眼神像掃描儀一樣掃過每一個進場的人。
姜亦心看著他,忽然覺得彪哥今天這身衣服實在太合適了,不知道的人看了,可能還以為他是哪個民國大佬身邊的副官。
陳建業還是穿的格子襯衫,周圍的幾個開發同事也是,一群人聚在一起倒是也不顯得違和,他們都帶著電腦,姜亦心估計他們還在調試御風,今天發布之後,肯定會有很多人湧進來,這對伺服器調度是個不小的考驗。
再往旁邊,趙文淵和模型組的人坐在一起。他今天穿了一身青色長衫,看起來像是個大齡進步學生。
坐在他旁邊的人看起來四十多歲,姜亦心沒見過。
最後看到第一排,韓路一坐在正中間,看到姜亦心看過來,對她鼓勵的笑了笑。
這笑容讓姜亦心又安心了一點。
她知道,不是每個工作不到一年的新人都有機會站在這個位置上,代表公司發布產品的。
不如說,很少有人有這個機會。
所以她很感激韓路一和蘇念念的信任。
離韓路一隔了兩個座位,是蘇念念和顧司玥,兩人正在低聲聊著什麼。
蘇念念今天穿了一件淺色旗袍式連衣裙,外面披著短外套,頭髮微微卷著,看起來溫柔。
顧司玥還是一身女士西裝,淺藍色的,讓她嚴肅的氣質看起來沒有那麼拒人千里了。
時間一點點逼近十點,媒體區的位置基本坐滿,幾家科技媒體和本地媒體的攝像機已經架好,還有幾個自媒體博主拿著手機和小型穩定器,在拍會場環境和舞台背景。
李婷看了一眼時間,戴上耳機之後,整個人進入了工作狀態。
「直播準備。」
「一號機位確認。」
「二號機位確認。」
「收音確認。」
「提示屏確認。
「7
「後台推流確認。」
幾秒鐘後,李婷轉過頭,對姜亦心說:「小姜,到你了。」
姜亦心點點頭,把已經攥得有點發皺的發言稿交給旁邊的工作人員,走到了側幕的位置。
今天沒有主持人,她既是主持人,也是主講人。
隨著大廳的燈光變暗,人們的交談聲逐漸停了下來。
姜亦心做了一個深呼吸,走到了舞台正中央。
「各位來賓,各位媒體朋友,大家上午好。」
「歡迎來到御風發布會現場。」
隨著姜亦心開口,直播間的彈幕先開始討論的不是產品,而是她的顏值。
「發布產品的這是誰?好漂亮啊!」
「我宣布這是我的新老婆!」
「我直接舔屏。」
還好,姜亦心看不見這些彈幕。
「今天的發布會,我想先講一個小故事。」
她的聲音通過麥克風傳到會場每一個角落,比她自己想像的還要穩定。
「我有一個朋友,是大廠的後端工程師。工作三年,加班特別多,用她自己的話說,年齡長得比工齡漲得還快。」
台下傳來一陣笑聲。
「今年九月,她接手了一個三年沒人維護的老項目,代碼有五萬多行,注釋少得可憐,原作者兩年前就離職了。」
「她的師傅拍著她的肩膀,跟她說了一句話—「別怕,這玩意兒沒人能看得懂」」
笑聲更大了。
「那一個月,她每天加班到凌晨。直到一個周日,她給我發了一條消息,說她剛一個人扛完了一次生產事故。」
「那是凌晨四點,那條消息我第二天早晨才看見。」
「然後她辭職了。」
姜亦心停頓了一下,台下安靜了下來。
「她跟我說,「我不是不愛寫代碼,但我真的希望遇到這種事的時候,能有人陪著我。」」
會場裡安靜的出奇。
「程式設計師是個奇怪的職業,我們寫出了讓全世界協作的工具,自己工作起來卻常常是一個人。一個人對著屏幕,一個人翻日誌,一個人處理線上事故,一個人在凌晨四點點亮整層樓里唯一的那盞燈。」
「在我們這個行業里,最貴的不是硬體,而是人。」
姜亦心再次停頓了一拍。
「但有些時候,最便宜的,也是人。」
台下沒有人說話,但姜亦心能感覺到很多目光在看著她,在現場的,在網絡上的。
「我們做御風的初衷,其實沒那麼大——」
「就是想讓那盞凌晨四點的燈下面,不再只有一個人坐著。」
她轉身,指向身後的大屏幕。
「過去五年,AI寫代碼這件事,從笑話,變成了玩具,又從玩具,變成了工具。」
「代碼補全能節省一點你敲擊鍵盤的時間。」
「對話式編程能告訴你這一段該怎麼寫。」
「但它們都還停留在工具這個階段。」
說到這,姜亦心抬手按下了手裡的換頁器。
幻燈片切換,浮現出御風的LOGO。
「御風,不是一個更聰明的工具。」
「它是一個能和你一起寫代碼、一起Debug、一起處理線上事故的「,「同事。」
姜亦心看向台下,她的眼神里已經沒有了剛才的緊張。
「乘奔御風,人人如龍。」
「接下來的半個小時,請允許我,帶大家看看這位「同事」到底能做什麼。」
演講的第一段結束,台下響起了一陣掌聲,直播間裡的彈幕也迎來了一波高潮。
「說的真好,給我一個老碼農整破防了」
「我不是程式設計師,怎麼鼻子也有點兒酸」
「已經給源碼科技投簡歷了,求收留」
「說的漂亮,不是還是要搶程式設計師工作嗎?」
「prprprpr]
姜亦心走到旁邊的台子那裡,這裡有一台提前放在那的筆記本電腦。
她操作了一下,電腦桌面取代了幻燈片,出現在後面的大屏幕上。
然後她在終端里進入了本地一個叫做「yufeng」的文件夾,在裡面啟動了御風的命令行工具。
「大家可以看到,現在這裡的是御風的後台代碼。」
「內測的用戶們都知道,現在御風的版本控制還比較簡陋,只能一級一級的前進或者回退版本,對版本分叉的原生支持也不足。」
「我們現在想要添加一個樹狀的版本管理功能到御風裡。」
姜亦心邊說邊操作,現場的媒體們還沒什麼大的反應,網上的直播間裡已經炸鍋了。
「不會吧,她要現場添加功能?」
「我看了這麼多年科技產品發布會,現場演示就沒見過幾次,牛逼!」
「樓上的,別傻了,怎麼可能是真現場演示。鼎盛當年的萬物生,還記得嗎?」
「要是翻車了就可樂了」
姜亦心在命令行里輸入了想要完成的需求—增加豐富的分支管理功能。
然後點了下回車。
這一刻,姜亦心感覺時間過得格外的漫長。
不是因為她不相信御風,而是因為她太清楚現場演示意味著什麼了。
彩排的時候跑的通,不代表現場一定也能跑通;本地環境沒問題,不代表接上大屏幕和直播推流之後不會出奇怪的么蛾子。更何況,她現在演示的不是一個玩具項目,也不是一個臨時寫出來的小工具。
她演示的是用御風修改御風自己。
這件事本身就很危險。
也很有衝擊力。
終端上,第一行輸出終於跳了出來。
【御風已啟動。】
【當前項目:~/projects/yufeng】
【正在讀取項目結構————】
【檢測到項目類型:TypeScript/Node.jsCLITool】
【檢測到核心模塊:src/core/session.ts、src/core/checkpoint.ts、
src/commands/run.ts、src/storage/localStore.ts】
【正在分析需求————】
姜亦心站在邊上,沒有說話。
她知道,這個時候不需要過多的解釋,演示自己會說話。
並不是所有的媒體都能看懂現在的狀況。
但是幾個科技媒體的記者互相之間已經在竊竊私語了。
【需求理解:為當前版本控制機制增加樹狀分支管理能力。】
【當前限制:】
【1.檢查點僅支持線性前進/回退。】
【2.回退後繼續修改會覆蓋後續狀態。】
【3.缺少branch/switch/merge等命令。】
【4.缺少分支狀態展示能力。】
【建議目標:】
【1.引入VersionNode數據結構。】
【2.支持從任意檢查點創建新分支。】
【3.支持branchlist/branchcreate/branchswitch。】
【4.保留當前線性回退能力,避免破壞已有用戶習慣。】
【5.新增測試覆蓋分支創建、切換、回退後分叉等場景。】
姜亦心看到這裡,心裡稍微落定了一點。
第一關過了。
把自然語言轉化成細分任務這一步完成了。
御風已經開始調用API進行代碼生成了,趁著它在後台運行,姜亦心開始同步解說。
「大家現在看到的,是御風對當前項目的第一輪理解。」
「它沒有直接開始寫代碼,而是先讀取項目結構,找到和需求相關的核心模塊,再把當前系統的限制列出來。」
「這一點很重要,這也是一個真人程式設計師接手這個任務時會做的事。」
「每一個程式設計師剛工作時學到的第一課都是——不要去改動你不理解的代碼。」
此時在看直播的網友大部分都是相關從業人員,看到這裡,直播間的彈幕也轉向了專業化討論。
「這一段是真的專業,先讀項目再動手,比我組裡的實習生可靠譜多了」
「樓上別凡爾賽,誰組裡的實習生不是先動手再說的(狗頭)」
「這不就是git的commitgraph嗎?換了層皮而已]
「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(警告)提示在頁面中彈了出來。
姜亦心切回終端,只見終端中輸出的文字是—
【FAILEDtests/branchCommand.test.ts】(測試失敗)
【Epected currentBranch to be「feature—a」,received「main」】(測試結果應為A支線,實際為主線)
現場的媒體都很安靜。
直播間的彈幕密度激增。
「來了來了!這就是我說的翻車點!」
「我就說不可能這麼順利」
「看看小姐姐怎麼圓」
姜亦心此時的心也漏跳了一拍。
現場演示有時候就是這麼刺激,彩排了三次都沒出現這個問題。
姜亦心定了定神,拿起話筒,說道:「我們可以看到,第一輪的測試失敗了。」
「這在開發流程中是非常常見的情況。」姜亦心頓了頓,接著說,「而對於AI編程,這個場景又格外的有意義。因為AI編程本來就是一個概率問題,沒有任何模型能保證每次輸出的結果都是完美的。」
「如何在不確定的輸出中,走向確定正確的結果,這正是御風要解決的問題。」
直播間的彈幕熱度更高了。
「剛才是不是有人說不可能是真的現場?這還不真?」
「這個錯誤也是計劃好的,信的人都被玩成湯姆貓了」
「「在不確定的輸出中走向確定正確的結果」,小姐姐太帥了」
這時,姜亦心用手向大屏幕示意了一下,說道:「正好讓我們看一下,御風會怎麼處理這種情況。」
終端里,御風已經開始分析。
【測試失敗分析】
【branchswitch命令更新了內存中的currentBranch,但未持久化到BranchState。】
【導致測試重新加載狀態後,currentBranch仍為main。】
【影響範圍:branchswitch後的新任務可能寫入錯誤分支。】
【開始修復】
【正在修改 src/commands/branch.ts】
【重新運行測試】
這個運行大概花了二三十秒,全場都安靜下來,姜亦心下意識的用手捂住了話筒。
一次錯誤可以說是概率,連錯兩次就有點幾說不過去了。
更別提現在的彈幕量,已經密密麻麻的擋住了畫面。
「臥槽臥槽臥槽我都緊張起來了」
「不會有人真的信是現場演示吧?不會吧不會吧?」
「別擋著我看不到結果了」
終於,測試的結果在終端里彈了出來。
【PASSEDtests/branchCommand.test.ts】(測試通過)
【本次任務完成】
【改動摘要:】
【1.新增VersionNode/BranchState,用於支持樹狀版本管理。】
【2.保留舊checkpoint接口,並提供舊數據遷移能力。】
【3.新增branchlist/create/switch/tree命令。】
【4.新增分支樹展示能力。】
【您需要保留此次改動嗎?y/n】
姜亦心重新舉起話筒,說道:「最後的這一部分,是御風生成的改動摘要。這是在我們接到內測用戶的反饋之後新開發的功能。」
接下來,還有這場演示的最後一個環節。
姜亦心在終端輸入了一個「y」,然後開始演示剛剛開發完成的功能。
全場的人都專注又安靜的看著她的演示。
不管是不是科技行業的人,每個人都意識到自己剛剛見證了什麼。
一個AI工具,在萬眾矚目之下,在一個生產環境的複雜代碼庫里,從理解需求、寫代碼、跑測試、到自己修復自己的Bug,端到端地完成了一個真實的工程任務。
這不是概念、不是炒作,是一個被驗證過的生產力工具,在現場,在網絡直播下。
他們突然意識到,在場的所有人,都見證了歷史。
此時,直播間彈幕已經完全變了。
「臥槽,這個閉環太帥了!」
「用自己開發自己,真敢啊」
「如果不是錄播,我願稱這個發布會為最強」
「剛才報錯那一下反而真實」
「排隊連結呢?我要試用」
「小姐姐太棒了,叫什麼名字啊?」
姜亦心完整的演示了新功能,確保無誤後,把電腦畫面重新切回幻燈片,走回了舞台中央。
「這就是我想展示的東西。它不是一次代碼生成,而是一個完整的工程任務。最重要的是,御風剛剛完成的功能,會成為御風之後繼續進化的基礎。」
說完這些,姜亦心用手中的控制器切換了下一張幻燈片。
屏幕上出現御風的公測信息。
【御風今日開放公測】
【第一階段:限量免費】
【企業版體驗申請同步開放】
「今天,御風正式開放公測。」
「第一階段,我們會採取限量免費的方式,根據伺服器資源和用戶反饋逐步開放名額。」
「我們歡迎大家測試它,也歡迎大家批評它。」
「因為一個真正有價值的工程工具,不是靠發布會講出來的,而是靠一次次疊代跑出來的。因此,我們期待所有用戶的反饋,讓我們能把御風做的更好。」
姜亦心說完這段話,把幻燈片切到了最後一頁,同時接著說道:「我們希望,御風做的事情不是替代人的價值,而是增強人的價值。」
「我們希望,御風能把人從低價值的執行工作中解放出來,把人還給真正重要的工作做判斷、做決策、做創造。」
姜亦心頓了頓,目光掃過全場。
「還記得我開場講的那個故事嗎?
「我的那個朋友,和她那盞凌晨四點亮起的燈。」
「我希望,御風讓每一個獨行的人,都不再孤獨,御風而行,人人如龍。」
與此同時,姜亦心背後的幻燈片上顯示四個大字,「御風而行」。
直播間的熱度已經爆表了,彈幕完全成了網友們狂歡。
「這個美女的全部資料,我現在就要!現在!」
「媽媽再也不用擔心我的編程」
「prprprprprprprpr]
這時,姜亦心突然看到李婷在不遠處的攝像機旁邊拼命的和她揮手,旁邊的一個同事舉著一個iPad,上面寫著四個大字,「自我介紹」。
她這才意識到,她從頭到尾都沒做過自我介紹。
於是她說了在台上的最後一句話。
「我是源碼科技的產品負責人,也是御風的發起人,姜亦心,謝謝大家。」
全場響起了熱烈的掌聲。
>
(還有更新耶)