跳至主要內容
Fredrick's Lab

【Vibe Coding】Responsibly Vibe Coding

medium

【Vibe Coding】Responsibly Vibe Coding

前言

自從 ChatGPT 出來後,對於工作上寫 code 的幫助一直很有感,後續從起初在 ChatGPT 或 Claude 這類 UI 服務跟 AI 對話,把程式碼拼拼貼貼,一直到 Cursor (IDE)、Claude Code (CLI),進化成 AI Agent 的工具,可以產程式碼、跑測試、寫文件、推 PR。軟體開發流程的改變真的是又大又快。

但當我們在開發流程中讓 AI 擁有越來越多決定權,當中必定會包含產生不好的影響,最被大家廣泛談論的就是「技術債」(Technical debt)。

備註:Technical debt(技術債)是指在軟體開發過程中,為了追求開發速度或節省成本,而選擇了快速但品質不佳的解決方案,導致未來需要花更多時間和資源來修正、重構或維護這些程式碼。


正文

靈感

上週末看到一部 youtube 影片,是 Anthropic 的 Technical Staff — Erik Schulntz 的演講,在談要怎麼用 Vibe Coding 的方式來開發 production 的產品,他提到的方法也有在 Claude 內部使用。

影片內容不長,但概念卻很實用,也再次提醒我使用 AI 工具來開發軟體時,必須以「負責任」的態度來實作。

Vibe Coding in prod — Erik Schulntz, Member of Technical Staff at ‪@anthropic-ai‬

他提到的核心概念是,為了避免 Vibe Coding 產生的技術債,我們應該讓 Agent 專注在開發屬於葉節點(leaf node)的程式碼,而核心節點(core node)則仍需要工程師完全理解產生出來的程式碼。

什麼是 葉節點(leaf node) 跟 核心節點(core node)?

葉節點:獨立存在(下圖中橘色點)
核心節點:被其他節點依賴(下圖中白色點)

From Vibe Coding in prod — Erik Schulntz, Member of Technical Staff at ‪@anthropic-ai‬

實作方法

Erik 提到我們應該讓 AI Agent 能夠完全自主性開發葉節點,只要我們做好測試(人工定義好輸入和預期的輸出)。至於核心節點,通常跟系統架構、設設計模式有關,現階段還是需要由工程師全面地理解這些程式碼。

影片中有舉一個例子,是 Claude 本身針對 RL codebase 提交了一個 22,000 行改動的 PR,這些改動就是用這種方式來產出的。他提到的另一個重點,我認為是他對團隊做的壓力測試很有信心,因此也更相信 AI Agent 產生出來的程式碼。

From Vibe Coding in prod — Erik Schulntz, Member of Technical Staff at ‪@anthropic-ai‬

實務上

這週一上班時,我很興奮地把這種概念加入既有的工作流程中(Brian Casel 設計的一套跟 AI 協作的工具 agent-os),結果發現葉節點的數量出乎預期地少,大部分都是需要人工開發的核心節點,這樣的結果沒辦法提升太多效率。

所以我加入了另一個類別,並且讓 AI Agent 實作核心節點和這種類別的節點時,能夠擁有不同介入程度的模式。

下一篇再來介紹這個類別和改良後的工作流程!

From https://github.com/fredrick84823/agent-os-adaptive/blob/main/examples/agent-os-adaptive/architecture-analysis/node_classification.md


我目前的 AI 協作工具(改良自 agent-os)
歡迎有興趣的人可以安裝來玩玩看!

GitHub - fredrick84823/agent-os-adaptive: Fork of https://github.com/buildermethods/agent-os with…
_Fork of https://github.com/buildermethods/agent-os with added leaf/core node classification. Core nodes require human…_github.com

目前剛把概念實現,還有很多細節需要修正才能達到理想中的效果。
因此很歡迎任何朋友給我回饋!希望能夠讓這套工具更接近想像中的效果。


相關連結:
- agent-os-adaptive: https://github.com/fredrick84823/agent-os-adaptive
- agent-os: https://github.com/buildermethods/agent-os
- Vibe Coding in prod: https://www.youtube.com/watch?v=fHWFF_pnqDk