AWS Amarathon 2025 回顧

透過規格驅動開發,從 Vibe 走向可行方案

回顧系列

場次筆記

AI 正在改變軟體

  • 2023:協助開發人員更快速地撰寫程式碼
  • 2024:產生更大段的程式碼並回答問題
  • 2025:在 human in the loop 的情況下端對端完成開發工作,AI 開發面臨的挑戰
  • 擴大 AI 開發規模:AI 程式設計工具擅長小型工作,但面對複雜專案時可能失敗
  • 控制能力有限:現有工具讓人難以與 agent 協作及管理 agent
  • 程式碼品質:要讓專案從概念驗證走向正式環境,同時維持品質控管,會變得愈來愈困難。Vibe
  • 快速、對話式的程式碼產生(CHOP)
  • 反覆來回迭代
  • 短暫性
  • 單一時間點的 prompt
  • 暫時性 context

邁向規格驅動開發之路

良好實務

  • 拆解大型問題:開發人員學會如何手動將大型問題拆解成較小單元,並以增量方式建置
  • 具體且清楚:要引導 AI 程式設計助理產生良好輸出,精確與清晰至關重要
  • Context 與 Prompt Engineering:提供正確的 context,是產生一致性與控制能力的關鍵

Taskmaster

  • 搭配 Clauide、用於 AI 驅動開發的工作管理系統,設計上可與 Cursor AI 無縫搭配
  • [ 1 ] 文件:
  • 設定指南:設定環境變數並自訂 Task Master
  • 教學:開始使用 Task Master 的逐步指南
  • 指令參考:所有可用指令的完整清單
  • 工作結構:瞭解工作格式與功能
  • 互動範例:常見的 Cursor AI 互動範例
  • 移轉指南:移轉至新專案結構的指南
  • [ 2 ] Cursor 1.0+ 快速安裝(一鍵安裝):
  • 按一下複製按鈕(程式碼區塊右上角),再貼到瀏覽器中:cursor://anysphere.cursor-deeplink/mc/install?name=taskmaster-aiconfig-eyJjIjI1biWSkI 1joibnB4I
  • 注意:按一下連結後,仍需將 API key 加入設定。此連結會使用 placeholder key 安裝 MCP server,您需要將其替換成實際的 API key
  • [ 3 ] 需求:
  • Taskmaster 的數個指令會使用 AI,而這些指令需要另外的 API key。只要加入 API key,就能使用不同 AI 供應商提供的各種模型。例如,若要使用 Clauide 3.7。從容程式設計理念
  • 不要帶著壓力寫程式碼,而要有結構。
  • 不要帶著雜訊撰寫 prompt,而要有意圖。
  • 建置不只要快 — 更要有流暢節奏。Chat 對開發工具而言是不良的 UI 模式
  • 程式碼迫使人類精確表達。這是好事 — 電腦需要精確性。但這也迫使人類像機器一樣思考。
  • 數十年來,我們試圖透過讓程式設計對人類更友善來解決這個問題。更高階的語言、視覺化介面。每一步都有幫助,但我們仍在將人類的想法轉譯成電腦指令。
  • AI 原本應該改變一切。終於,純英文可以成為一種程式語言 — 一種每個人都已經會的語言。沒有語法、沒有規則,只要說出想要什麼。
  • 第一波 AI 程式設計工具浪費了這個機會。它們做出吸睛的展示,卻產生垃圾軟體。人們稱它們「非常適合製作原型」,意思就是「不要把它用在任何真實用途上」。
  • 許多人責怪 AI 模型,認為只要讓模型變得更聰明即可。這是錯的。沒錯,更好的 AI 能更準確地猜測您的意思。但在建置嚴謹的軟體時,需要的是更好的方法。

書面規格讓人們達成共識

使用 EARS notation 有助於為底層提供精確且結構化的指示

LLMs

什麼是規格驅動開發?

  • 規格驅動開發:先釐清再寫程式碼、反覆精進、透過持久性文件產生程式碼
  • 投入時間瞭解您試圖建置的內容
  • 反覆迭代並記錄您試圖建置之內容的演進
  • 從短暫的 chat 轉向可與利害關係人分享的持久性文件。規格驅動開發
  • 定義願景:建立清楚的需求與設計規格。
  • 做出架構決策:預先選擇技術、模式與方法。
  • 帶著 context 實作:使用 AI 產生符合書面規格的程式碼。Vibe
  • 透過 prompt 追逐實作結果
  • 快速、對話式的 AI 程式碼產生(CHOP)
  • 反覆來回迭代
  • 短暫性
  • 單一時間點。規格驅動
  • 專注於前期規劃與意圖
  • 將要求拆解成個別工作
  • Steering document 為 agentic 提供基礎。從原型到正式環境的 AI IDE
  • Kiro 透過規格驅動開發為 AI 程式設計帶來結構,協助您發揮最佳表現。