原創 21CTO
各位開發者們,想必大多數人接觸人工智慧程式設計的旅程都是從一個這樣類似的開始:你給它一個簡單的任務,它給做完了。
你很是佩服它,於是你給它一個更大的任務,它又做完了,你更佩服它。
你打開編輯對話框,然後寫一篇關於工作崗位流失的長篇大論文章。
如果你堅持看到這裡:恭喜你,你比 99% 的人更了解人工智慧程式設計。

真正使用人工智慧進行實際工作(而不僅僅是週末專案)的軟體工程師,其人工智慧開發過程也大多遵循可預測的發展軌跡。你仍然對交給它的艱鉅任務感到驚訝,不禁想知道是否可以繼續給它越來越大的任務。
或許還可以讓它承擔那項無人願意接手的棘手重構工作?但事情到這裡開始有點變得「撲朔迷離」。
一方面,你會驚訝於它似乎非常了解你。另一方面,它也會犯一些令人沮喪的錯誤,做出一些明顯違背你們之間已建立的共識約定。
你很快就會發現,對大語言模型生氣沒有任何用處,所以你開始將任何不令人滿意的結果內化。
「是我的錯。我的提示語寫得太糟糕了,說明不夠詳細。」「只要我能提出要求,它就能做到。
沒有做不到的,」你心裡會這樣想。於是你打開 Obsidian,開始撰寫更詳盡的規格文檔,用令人印象深刻的細節描述你腦海中的功能。
也許你已經寫完了一整頁的提示訊息,為此花了大半個小時。但你會發現,基於規範的開發似乎也不行。
在現實生活裡,設計文件和規範都是動態的,它們會隨著探索和實現而不斷演變。試想一下,如果你在一家真實的公司裡,花一個小時寫了一份複雜架構的設計文檔,把它交給一位中級工程師(並叮囑他不要跟任何人討論這份文檔),然後就跑去度假了。
這樣智能體不僅無法在建構底層組件的過程中,經過數週時間逐步完善規範,而且還會在初期做出一些之後不會偏離的決定。
大多數智能體一旦感覺問題和解決方案已經超越自身掌控,就會選擇放棄(儘管這種情況現在很少發生,因為智能體會強行突破迷宮的障礙)。
更糟的是,智能體寫的程式碼在寫與展示給你的時候看起來合情合理,也很令人印象深刻。即使在拉取請求中,它看起來也很不錯。
因為你和智能體都接受過良好的訓練,知道一個「漂亮的」拉取請求應該是什麼樣的。直到我打開了整個程式碼庫,從頭到尾閱讀了它的最新狀態,我才開始明白我們之前推測和希望,只是早期模型逐漸消失的產物:非常粗糙。
再嚴重一點,那簡直就是一團糟。我百思不得其解。難道我在承認之前沒有逐行檢查過程式碼嗎?這些……垃圾……到底是從哪裡來的?
現在回想起來,這很有道理。 AI 代理程式編寫的變更單元單獨來看都很好,它們本身與你的提示語保持一致。
但他們並不尊重整體,他們也不尊重架構的完整性,甚至連鄰近的模式也不尊重。人工智慧只是跟我講了一個不錯的故事。
就像用直覺創作小說一樣,它給我展示了幾個段落,這些段落邏輯清晰,結構和語法也完全正確。
連各個角色的性格特質都捕捉到了。但不知為何,當你讀完整章之後,卻發現它一團糟,它與整本書以及前後章節的上下文完全不符合規則。
在閱讀了幾個月累積的大量高度規範的智能體程式碼後,我對自己說:我不會再發布這種垃圾。我也不會向用戶收費。
我也不會承諾用戶能用這玩意兒保護他們的資料。我不會在這件事上對用戶撒謊。所以我又開始手寫大部分的東西了。
令人驚訝的是,如果把所有成本都算進去,而不僅僅是每小時的程式碼代幣成本,我的速度、準確度、創造力、生產力和效率都比人工智慧要高得多。
作者:atmoio
編譯:洛逸
來源:https://atmoio.substack.com/p/after-two-years-of-vibecoding-im