先談清楚,再放手跑:我現在用 AI 做專案的兩段式方法
2026 年 8 月我把一整份會議記錄丟給 AI,說「照這個把後台做出來」。它真的做出來了,然後我自己登入後看不懂該按哪裡。這篇講我之後改用的做法:先用「討論模式」把需求談到能寫成一張紙、把每一件要授權的事先勾好,再用「目標模式」把整張紙交給 AI,讓它自己跑到底。不用懂程式,我們團隊夥伴照著做就能用。
把 AI 做專案拆成兩段。第一段只討論不動手:目標是什麼、做完長什麼樣、哪些事不做、誰來做,談到能寫成一份「啟動包」。第二段才放手:把啟動包整份交給 AI,它自己派工、自己驗收,只在你事先講好的幾個關卡停下來。中間最關鍵的一步是把每一件要授權的事一一寫成表,AI 才不會半路一直回頭問你,也不會自作主張。
你只要知道 Claude Code 和 Codex 是兩個「會幫你讀寫檔案、跑指令的 AI 助手」就夠了。所有名詞這篇都會用白話解釋,看到有虛線的英文字,滑鼠移上去(手機點一下)會跳出說明。
AI 做壞專案,多半不是它不會做,是我們沒有先講清楚「做完長什麼樣」和「哪些事它可以自己決定」。把這兩件事在第一段談完,第二段它才跑得動。但要先說一句:談出來的那份東西本身也會錯,它讓你更好審查,不保證你的方向是對的。
先坦白:我上一次是怎麼把它搞砸的
2026 年 8 月初,我們團隊開會討論主編手上那些網站、聯盟行銷、廠商聯絡的工作要怎麼變成內部後台。會後我把會議記錄整份丟給 AI,一句話:「照這個把網站開發好。」
幾天後它交出一個看起來很完整的東西:登入、權限、六條業務流程、操作紀錄,測試全過。我打開首頁,第一個數字寫「今日工作 100」,底下一百多列全是「郵件審閱、待主編裁定、未指派」。哪一封信?要決定什麼?畫面上一個字都沒有。我跟主編說:「我開發了初版但我還沒細看,他開發完我有點看不懂他開發的是什麼。」
後來查才發現:那個 100 是程式寫死的上限,真實是 122 筆;排最前面的是八月舊信,其中四筆根本不是信,是文件裡的摘要區塊;而 12 個頁面沒有任何一處告訴主編今天該從哪開始。
問題不在 AI 寫不出程式,是我把「需求」和「授權」兩件事都跳過了。它不知道主編週一早上要回答哪三個問題,也不知道哪些事可以自己決定。所以它東做一點西做一點,每一塊都對,合起來沒人能用。
兩段式的全貌
做法很簡單:把「談需求」和「動手做」硬生生切成兩段,中間隔一份文件。
中間那份「啟動包」就是整個方法的核心。談出來的每一句話都要能寫進去,寫不進去就代表還沒談清楚。
Claude Code 內建的一種狀態:切進去之後,AI 不會改你的程式碼,只做研究並提出方案,等你點頭才動工。在 Claude Code 裡按兩次 Shift+Tab,或在句子前面打 /plan 就能進入。官方對它的定位是「研究並提出改動,但不執行改動」(官方文件)。
不是完全不動:它還是會跑一些「只看不改」的指令去查現況。所以它是「分開研究和動工」,不是「什麼都不執行」。官方也提醒,小改動如果一句話就能講清楚,直接做比先規劃更省事,不用每件事都進討論模式(官方最佳實務)。
像請工班師傅先來看現場、量尺寸、跟你討論方案,但今天絕對不動工。
把一個「做完長什麼樣」的完成條件交給 AI,讓它自己規劃、自己做、自己驗證、自己修,直到條件達成或碰到你事先設的停止條件。Claude Code 和 Codex 都內建 /goal 指令。Claude Code 的版本是:你設一個完成條件,每一回合結束由另一個小模型判定有沒有達成,沒達成就自動開下一回合,達成、判定不可能、或碰到要你修的錯誤才停(Claude Code 官方文件);Codex 的 /goal 則是把目標記住,跨很多輪一直做到停止條件(Codex 官方用法說明)。我的做法是先把啟動包整份貼進新對話,再用 /goal 設完成條件。
像把整份施工圖和「哪些事要先問業主」的清單交給工班,然後你去忙別的,他們做到關卡才打電話給你。
我自己取的名字。就是一份文字檔,內容是第一段談出來的全部結論:目標、完成定義、預先核准表、分工表、關卡、每一期要做什麼、絕對不能做的事。第二段開始時,這份檔案就是給 AI 的第一句話,之後它不需要再問你任何「本來就該談好」的事。
第一段:討論模式要談哪四件事
進討論模式之後,我不是問 AI「你覺得該怎麼做」,而是逼自己把四件事講到 AI 能複述給我聽。
1. 目標,以及「做完長什麼樣」
目標一句話就好,但「做完長什麼樣」要具體到可以驗收。我那次寫的是:「主編每週一打開後台,按一次『立即抓取』,幾分鐘後看到各平台的分潤數字,而且數字跟平台後台對得上。」有動作、有時間、有畫面、有驗證方法,AI 才知道什麼叫做完。
2. 不做什麼
這比「做什麼」更重要,因為 AI 很會「順便」。我會明確列:不寄信、不寫回團隊的資料庫、不在任何平台上按申請或提領、不把歷史資料假裝成即時資料。這些不寫,它有一半機率會自己做掉。
3. 誰來做、什麼時候停
大專案我不讓同一個 AI 從頭做到尾,而是像帶團隊一樣分工(後面有一張表)。同時要事先講好「關卡」:哪些事它可以自己決定、哪些要停下來問我。這就接到下一節的授權表。
第二段之前:把授權一一寫成表
這是整套方法裡最省事、也最常被跳過的一步。討論到後面,AI 會列出一張「這些事你要先決定」的表,我一格一格填。填完之後,第二段它就不會半路停下來問「可以嗎」。
| 要授權的事 | 我那天的決定(範例) |
|---|---|
| 會花錢的事 | 預期零支出;任何要付費的服務先估金額、停下來問 |
| 會對外的事(寄信、發文、在平台上申請或提領) | 全部禁止,出現需求就停 |
| 不可逆的事(刪資料、改欄位、部署、換金鑰) | 加欄位可以,其他一律停 |
| 寫入團隊共用系統(例如 Notion) | 原則唯讀;只准寫我指定的四個欄位 |
| 裝東西到伺服器 | 可以直接連進去裝,但第一次啟動常駐程式前要先告訴我 |
| 讀我們的信箱 | 可以讀、可以搜尋,不寄、不刪、不改標籤 |
| 本機版本控制 | 可以自己存檔(commit),推到線上要等我 |
| 探索完要不要先停一次 | 不用停,探索結論寫成檔案就直接往下做 |
注意兩件事。第一,授權不等於全放行,每一格都是「這件事可以,那件事要停」,AI 拿到的是邊界不是空白支票。第二,這張表要和「關卡」配對:沒授權的事碰到了就是關卡,AI 的動作是把狀況寫進一個交接檔案然後停下來,不是在對話裡問我。這樣我不在線上它也不會卡死,回來看檔案就知道要決定什麼。
事先講好的停下來的點。像是要花錢、要對外、要做不可逆的事、規格跟原本談的差太多,或是每一期做完。碰到就停,寫一份交接檔(發生什麼事、我建議怎麼做、需要你決定什麼),不硬做。這份檔是我自己在啟動包裡規定的做法,不是內建功能。(Claude Code 另有一個叫 Checkpointing 的內建功能,那是自動存檔加一鍵回到上一步,跟這裡的交接檔是兩回事,別搞混。)
工地的關卡:水電配完要業主看過才封牆。沒看過不封,但也不會因為等業主就整個工地停工,其他不相干的工先做。
啟動包長什麼樣:八段,照抄就好
我現在每一份啟動包都是同一個骨架。你不需要一開始就寫得很完整,但這八段一段都不能少。
| 段落 | 寫什麼 |
|---|---|
| 0. 你是誰、怎麼工作 | 它是指揮官不是工人:貴的模型只做決定與驗收,搬運一律派下去。加上語言、時區、不要停下來發問這些規矩。 |
| 1. 目標與完成定義 | 一句話目標,加一條一條可以打勾的完成定義。我那份第一期列了 14 條。 |
| 2. 先探索,再動手 | 第一個工作段不寫程式,只派人去讀、去審、去盤點,結論寫成檔案。 |
| 3. 分工與模型強度 | 哪種活給哪個模型、重活丟 Codex、一期最多派幾個助手(我設 12 個助手、6 支 Codex、4 個最強模型任務)。 |
| 4. 閘門 | 碰到什麼要停、停的時候寫哪個檔案。 |
| 5. 每一期要做什麼 | 一期一句話加硬條件。 |
| 6. 品質紀律 | 做的人不驗自己的活、數字一定跟來源對、視覺成品要截圖親眼看過。 |
| 7. 進度、成本、交接 | 進度檔、成本檔、交接檔各一份;對話中斷重開時先讀這三份再續跑。 |
| 8. 絕對禁止 | 例如不貼任何密碼的值、不用名稱模糊比對資料、不把未結算的錢算進總額。 |
多模型、多助手、跨 Codex 和 Claude 怎麼分工
這是很多人問的:既然有 Claude 又有 Codex,還有便宜和貴的模型,到底誰做什麼?我現在的分法是照「工作性質」,不是照「哪個比較強」。
主對話派出去的小助手,各自有獨立的記憶、可以用不同的模型、可以同時好幾個一起跑,做完把結論交回來。主對話因此不用自己讀一堆檔案,記憶不會被塞爆。詳見 Claude Code 官方的子代理文件。
主管不會自己去翻每一份合約,是派人去看、回來報告重點。
模型檔位是同一家公司從便宜到貴的幾個模型(Claude 這邊由弱到強是 haiku、sonnet、opus)。強度(effort)是同一個模型要想多用力,Claude Code 用 /effort 指令切換,有 low、medium、high、xhigh、max 五檔。不是越高越好:官方說預設值就適合大多數寫程式的工作,最高那一檔只留給真的很難的任務,而且可能會想過頭、效益遞減(官方模型設定文件)。我談需求那一段開高,是因為那段最需要判斷力,不是因為「開最高比較保險」。
檔位是請哪個等級的人,強度是請他花多少時間想。
| 工作性質 | 誰做 | 為什麼 |
|---|---|---|
| 決定方向、拆任務、收結論、驗收 | 主對話(最強模型、高強度) | 這是唯一不可再生的資源,只做判斷,不做搬運 |
| 讀檔、寫一般程式、寫頁面、跑測試、寫回報 | sonnet 子代理 | 主力,便宜又夠用 |
| 牽涉金錢口徑、權限、資料一致性這種一錯就慘的邏輯 | opus 子代理 | 判斷題寧可付貴的錢 |
| 格式轉換、照表填資料、單檔小修 | haiku 子代理 | 最便宜,只給一次機會,錯了直接升級 |
| 全部掃描盤點、批次改檔、寫測試、攻擊性審查、獨立驗證 | Codex | 重活,而且它的額度跟 Claude 是分開算的 |
| 審自己陣營做出來的東西 | 另一家的模型 | 我的做法,理由是換一家比較不會有同樣的盲點。這件事外部證據還不足,別當定論,先小範圍試 |
跨兩家有一個我付過學費的規則:不要派一個 Claude 助手去「等」Codex 跑完。它等的時候每隔一段時間回報一次「還在等」,一晚上燒掉幾十萬 token 零產出。正確做法是用 Codex 的非互動模式把任務丟出去、指定沙箱範圍,主對話不盯著,跑完自己讀報告(官方說明)。任務書要小,我的經驗值是一次讀得完的 5 到 10 個檔案(官方沒訂數字,原則是「一個連貫的目標、只給相關資料、拆成可驗證的小段」),太大它會跑到一半安靜斷掉,連錯誤訊息都沒有。
第二段:目標模式怎麼啟動
啟動包寫好、授權表填完,第二段就很無聊了,這正是它的價值。
- 用 Claude Code:開新對話、選最強模型、把啟動包整份貼進去當第一則訊息,然後打 /goal 加上完成條件。每一回合做完會由另一個小模型判定「還沒、達成、不可能」,還沒就自己開下一回合。官方建議條件要有一個可量測的結果、一個驗證方法、不能動的限制,還可以加「或做滿 20 回合就停」;條件最長 4,000 字。三件要知道的:設 /goal 不會改變權限設定,要無人值守得搭配自動核准模式;判定的小模型不會自己跑指令或讀檔,只看 AI 在對話裡秀出來的東西;碰到登入失效、額度用完這類錯誤,目標會被自動清掉,修好再設一次。打 /goal 不帶內容看狀態,/goal clear 取消。(官方文件)
- 用 Codex:打 /goal 加上目標,它會記住並跨很多輪推進,直到可驗證的終點成立或碰到需要你決定的事;中途可 /goal pause、resume、edit、clear。官方的說法是目標要「大於一次提問,小於一份沒完沒了的待辦清單」,要講清楚達成什麼、什麼不能改、怎麼驗證、什麼時候停(官方用例)。它不會因為開了目標就多拿到權限(官方說明)。
兩者我都用。經驗上 Codex 適合「有明確產出、能自己驗收」的重活;需要讀我們團隊脈絡、需要拿捏偏好的判斷,留給 Claude。
停下來的方式不只一種,要五種都想過
長跑最難的不是讓它一直做,是讓它在該停的時候安全地停。Anthropic 的工程文章記錄過一種陰險的失敗:接手的 AI 看到前面有進度就自己宣告完成(2025 年 11 月)。所以五種停法都要寫進條件:
| 什麼情況 | 怎麼停 |
|---|---|
| 真的做完了 | 完成定義逐條有證據,而且證據要看得到(測試輸出、截圖、數字對照),不是它自己說「好了」 |
| 卡住了 | 碰到要你決定的事,寫交接檔停下來 |
| 在原地打轉 | 條件裡加「連續幾回合沒有實際動作就停」;Claude Code 這一項有內建,連續幾回合沒動作它會自己把控制權還你 |
| 做太久或太貴 | 條件裡直接寫「或做滿 N 回合就停」。我設 60 到 80 回合 |
| 環境出事 | 登入失效、額度用完、記憶爆掉這類,Claude Code 會自動清掉目標並告訴你原因,修好再設一次 |
一鍵啟動:把你的需求談成一份啟動包
複製下面這段,貼進 Claude Code(先按兩次 Shift+Tab 進討論模式)。它會一題一題問你、先派只讀助手查現況、自己列出「要你授權的事」讓你填,最後把啟動包寫成一個檔案。你檢查完再開新對話貼進去,用 /goal 設完成條件讓它跑。
官方還有這些工具,我這一輪沒用上
查官方文件時發現幾樣東西,比在文件裡「用文字拜託 AI 照做」可靠得多,值得一起看:權限規則與沙箱(把「不准碰」變成系統強制)、hooks(每次動作前後跑你自己的檢查腳本)、自動存檔與一鍵回上一步(做壞了退得回去,但只管 AI 改的檔案,不能取代版本控制)、各自獨立的工作副本(多個助手同時改不會互相踩到)、自動核准模式(長任務不被打斷,但官方明說它「不保證安全」)。
我下一輪會把「絕對不能做」裡真的會痛的三類,從文字規矩改成權限規則加沙箱。寫在紙上的規矩管得住願意配合的 AI,管不住一個誤會了你意思的 AI。
我這一輪踩到的五個坑
- 問法不對,不是問太多。 AI 一開始老是丟一大段分析要我自己歸納,或問「你覺得呢」,我讀完還是不知道要選什麼。後來我要求它:有決策點就給具體選項,每個選項寫清楚差別和後果,我點一下就好;要我看的證據寫進檔案給路徑,不要塞在對話裡。
- 用錯指標排優先順序。 真正用的人的需求書才是正本,AI 幫忙整理問題,不幫忙決定。
- 把「上線」排到最後。 我原本讓第一期先跑在自己電腦上,後來才想到主編連不到我的電腦,她要對數字一定要有網址。部署得在第一期就做。
- 低估弱模型需要多少規則。 討論那段用最強模型,第二段跑的模型沒它聰明也沒有這天的記憶。所有我覺得「這應該不用講吧」的,都要寫成規則。
- 把授權只寫在紙上。 真正的邊界要用權限規則、沙箱、hooks 才是系統擋的。文字表格讓它知道要停下來討論,系統的牆讓它就算誤會了也做不到。
AI 不是不會做,是你還沒把「做完長什麼樣」和「哪些事可以自己決定」講清楚。
帶走三件事
- 先討論不動手,談到能寫成一張紙。 目標、做完的樣子、不做什麼、誰來做、什麼時候停。那張紙你要親自看過方向,它讓你好審查,不保證你想的是對的。
- 授權一格一格填,不給空白支票。 沒授權的事就是關卡,AI 寫交接檔停下來,不在對話裡問你。真的會痛的事另外用權限設定和沙箱擋,別只寫在紙上。
- 第二段讓它無聊地跑到底,但五種停法要先想好。 做完、卡住、原地打轉、太久太貴、環境出事。貴的模型只做判斷,搬運派便宜的助手,重活丟 Codex,驗收找沒看過過程的人並要求他拿出證據。
參考資料
- Claude Code 官方文件:Choose a permission mode(含 Plan Mode)
- Claude Code 官方文件:Create custom subagents
- Claude Code 官方文件:Model configuration(含 /effort)
- Claude Code 官方文件:Keep Claude working toward a goal(/goal)
- OpenAI Codex 官方文件:Follow a goal
- OpenAI Cookbook:Using Goals in Codex
- OpenAI Codex 官方文件:Non-interactive mode
- OpenAI Codex 官方文件:Long-running work
- Anthropic 工程部落格:長時間執行代理的做法(2025 年 11 月 26 日)
- Anthropic 工程部落格:多代理研究系統(2025 年 6 月 13 日)
- Google Research:代理系統什麼時候有效(2026 年 1 月 28 日)
- HumanLayer:長跑迴圈的實作紀錄與失敗(2026 年 1 月 6 日)
- 研究論文:委託合約買到的是可審查性(2026 年 6 月 14 日)
- Claude Code 官方文件:Configure permissions(權限規則與沙箱)
- Claude Code 官方文件:Best practices
- Claude Code 官方文件:Checkpointing(自動存檔與回上一步)
有問題、踩到雷、或玩出新花樣,歡迎到 @leadingmrk 找老K。
撰寫 2026-09-02 · 最後更新 2026-09-02