資料來源#
摘要#
Matt Pocock 的 grill-me skill——一個會沿著決策樹的分支、一次問一個問題、並附上推薦答案的「不留情面採訪者」提示詞——把「向 agent 要一份計畫」換成「在任何計畫存在之前,先達成共識」。重點是對齊(alignment),不是產出。它要抵達的目標狀態,正是 Frederick P. Brooks 在 The Design of Design 中所稱的 design concept(設計概念):一個由參與這項工作的所有人共同持有的想法。PRD 或計畫都是設計概念的下游產物;在尚未對齊之前就把它們生出來,注定要返工。
The skill (verbatim)#
「就這份計畫的每一個面向,不留情面地採訪我,直到我們達成共識。沿著決策樹的每一條分支往下走,逐一解開相依關係。針對每個問題,提供你推薦的答案。一次只問一個問題……」
就這樣。這個 skill 刻意保持簡短——最小的表面積,最大的行為改變。
Why grill before plan#
Pocock 觀察到,處於 plan mode 的 agent「會非常急切地想生出一份計畫」——說一句「我想我蒐集得夠多了」,然後交出一份把未解問題粉飾過去的計畫。這份計畫讀起來沒問題,但它錯的地方要到實作階段才會浮現。強迫 agent 先進行採訪,能在還有時間以低成本回答的時候,就把這些未解問題攤開來。
「每個問題都附上推薦答案」這個模式是承重結構:它讓使用者大多數時候只要說「對,同意」,只在真正有歧見的地方才需要爭論。純粹只問問題、不給建議的採訪,會把使用者的注意力浪費在顯而易見的判斷上。
Counter to the "specs to code" movement#
Pocock 最強烈的反面主張:specs-to-code 只是換了個名字的 vibe coding。 擁護者會說「寫一份仔細的 spec,交給 AI,當程式碼出錯時就去修 spec,永遠不看程式碼」。Pocock 試過了:行不通。
原因:
- 戰場是程式碼,不是 spec
- 不與程式碼互動的 spec,會退化成願望清單
- 回饋循環是繞過一層(spec ⇄ AI ⇄ code)在跑,而不是在 bug 真正所在的地方(code ⇄ tests)
- 少了與程式碼的互動,開發者對系統的心智模型會腐壞
拷問所遵循的是相反的紀律:spec 是對齊的下游,對齊在任何產物的上游,而開發者全程都對程式碼保持參與。
Outputs of a grilling session#
一場拷問會談可能會問 10 到 100 個問題不等;Pocock 有過長達一小時的會談。最後留下的產物是對話紀錄本身——保留下來,作為 PRD 步驟的原料。Pocock 的 write-a-PRD skill 會吃下這份紀錄(再加上另一段簡短的採訪),產出一份終點文件。
他事後明確地不會去審查這份 PRD:
「到了這個階段,我還在測試什麼?我想測的失效模式又是什麼?我知道 LLM 很擅長摘要。我已經跟這個 LLM 處在同一個頻率上了。所以我做的不過是在檢查 LLM 摘要的能力而已。」
這之所以安全,唯一的原因是拷問會談已經把對齊的工作做完了。略過拷問,你就非得自己讀那份 PRD 不可。
Two essential documents#
拷問之後,Pocock 剛好會產生兩份文件:
- PRD(終點文件)——成品長什麼樣子、user stories、完成的定義(definition of done)、不在範圍內的清單、實作決策、測試決策、要修改的模組
- Kanban(旅程文件)——把工作切成垂直切片(vertical slices),成為可以各自獨立認領的 ticket(見 Vertical Slice Tracer Bullets)
等實作完成後,他便會刪除(或關閉)這份 PRD——見 doc rot。
Module map appears in the PRD#
PRD 裡包含「要修改的模組」——具體指認出哪些既有模組會變動、又會引入哪些新模組。這把規劃與架構連了起來(見 Deep Modules for Agents)。重點是在整個規劃過程中都把程式碼庫的形貌放在心上,而不是等到實作時才事後補想。
When to skip grilling#
拷問是給 human-in-the-loop 的任務用的。對於範圍明確的小改動(「把這個函式在整個程式碼庫裡改名」),這份額外開銷是白費的。這套紀律隨賭注而伸縮:功能愈大、簡報愈模糊、走錯方向的代價愈高 → 就拷問得愈狠。
相關連結#
- Matt Pocock — 這個 skill 的作者
- Vertical Slice Tracer Bullets — 接在 PRD 之後的 Kanban
- Deep Modules for Agents — PRD 裡的模組地圖把規劃與架構綁在一起
- Agent Loop Pattern — 拷問位於漏斗頂端、需要人介入的那一段;loop 則排乾 AFK 的底端
- Context Window Smart Zone — 拷問利用 sub-agent 把父層的脈絡維持得很小
- Agent Harness Engineering — 在規劃層「強制不變量(enforce invariants)」,就是「在任何計畫之前先達成對齊」
- Claude Code Best Practices — explore→plan→code 的工作流有著相同的形狀;grill-me 是「explore」這一步更激進的變體
- Interaction Models — 拷問本身就是協作式的即時迭代;turn-based interfaces 正是讓它在今天顯得笨拙的原因,而互動模型正是那個能讓拷問式協作感覺起來像原生體驗的底層基礎
- HTML as the New Markdown — 腦力激盪 → 讓 Claude 採訪你 → 計畫,這就是拷問的形狀;Thariq 的 HTML 計畫是比 markdown PRD 更豐富的終點產物,代價是更難做版本控制
- Agentic Technical Debt — 拷問產生的設計概念會寫進 CLAUDE.md;這是對抗「每次工作階段重新推導所累積的債」最強的上游防線
- Zero-Friction Scope Creep — 透過拷問達成的強健設計概念,能以一種光靠書面 PRD 往往做不到的方式,抵抗範圍蔓延
- Evals as Product Spec — 拷問產生設計概念;evals 則把「是否達成了它」編碼下來。Matt 的「verification loops」和 Cat 的「ten great evals」是同一個原語,只是站在規劃的另一端
- Building Is Cheap, Arguing Is Expensive — 富有成效的張力:Fiona Fung 的「產生三個 PR 再比較」把設計挪進了已建好的產物裡;在這裡被調和為原型是設計概念的媒介,而不是用來取代「去達成一個設計概念」這件事
待解決的問題#
- 拷問能不能以 AFK 的方式,對著另一個掌握了使用者偏好的 agent 來進行?Pocock 在 2026 年的答案是「不行,這個部分必須是 human-in-the-loop」——但隨著 agent 愈來愈擅長為它們的主理人(principal)建模,這個問題仍然是開放的。
- 當工作牽涉到團隊、需要多個人類彼此對齊時,拷問會如何改變?Pocock 的提示是:讓 agent 在場一起 pair-program,把它當成第三個對話者。
衍生內容#
- The PRD-Replacement Spectrum at AI-Native Speed — 這道光譜的左極:在開始建造之前盡可能對齊,PRD 是會被刪除的終點文件
- Where Does the Why Live? — 拷問會談是「為什麼」在創作當下的居所;但承載它的終點 PRD 會被刪除,於是對未來的讀者來說,「為什麼」就成了孤兒
資料來源#
Cited by 26
- Agent Harness Engineering
Patterns for scaffolding long-running LLM agents: environment design, progressive context disclosure, mechanical archit…
- Agent Loop Pattern
`/loop` (cron-scheduled) and Ralph Wiggum (backlog-draining) loops as next-generation agent primitive; AFK execution, p…
- Agentic Technical Debt
Debt that *compounds* (not just accumulates) because each agentic-coding session re-derives architectural decisions wit…
- Opinions on Using AI Tools & the Future of the Software Engineering Role
Debate map of four stances on using AI tools (bullish-insider / pragmatist-practitioner / skeptic-governance / architec…
- Building Is Cheap, Arguing Is Expensive
"In technical debate, code wins": generate three PRs vs whiteboard; prototype over design doc; reduce design docs
- Claude Code Best Practices
Anthropic's guide to effective Claude Code usage: context management, verification-driven development, explore→plan→cod…
- Context Window Smart Zone
Smart zone vs dumb zone (Dex Hardy / Matt Pocock): quadratic attention scaling, ~100K marker independent of advertised…
- Deep Modules for Agents
Ousterhout deep-vs-shallow modules applied to agent-friendly codebases; push-vs-pull instruction delivery; reviewer in…
- Evals as Product Spec
Cat Wu's framing of evals as the emerging core PM skill: ten great evals beats a hundred mediocre; encode what done loo…
- HTML as the New Markdown
Thariq Shihipar's thesis: as models improve, thousand-line markdown plans overwhelm the *human*; HTML artifacts (visual…
- Human-in-the-Loop Boundaries
Humans belong at allocation, understanding, design-concept, risk, and accountability boundaries; they slow the system d…
- Interaction Models
Thinking Machines Lab (May 2026): models that handle audio/video/text interaction natively in real time instead of via…
- Learning to Co-Work with AI: A Software Engineer's Field Guide
Field guide for software engineers in the AI era: 6 skill clusters (taste, harness, alignment-first planning, agent-fri…
- LLM-as-Compiler Knowledge Base
Karpathy's architecture: LLM incrementally compiles raw docs into a persistent interlinked wiki, replacing RAG with a 4…
- Matt Pocock
Independent AI-coding educator; built Sandcastle library; smart-zone/grill-me/tracer-bullets pedagogical framing; "bad…
- AI Engineering & Agent Tooling
Map of Content for the ai-engineering domain — 36 concepts. Curated entry point; see Home for all domains.
- Model Introspection Feedback
Cat Wu's underrated technique: ask the model why it failed; treat answer as harness-debugging signal not model criticis…
- Model Spec Midtraining (MSM)
New training phase between pretrain and AFT: train base model on synthetic docs discussing the Model Spec; controls AFT…
- Open Questions Backlog
_96 pages with open questions, as of 2026-06-14._
- Outsource Your Thinking, Not Your Understanding
"You can outsource your thinking but not your understanding"; understanding as the non-delegable human bottleneck; know…
- The PRD-Replacement Spectrum at AI-Native Speed
Four positions (grill-then-PRD → lighter-PRD → build-to-decide → prototype-is-spec) are one spectrum once you decompose…
- Prototype Over PRD
Dan Carey's prototype-replaces-PRD method: record a why-not-what conversation, transcribe it, hand the transcript to Cl…
- Turn-Based Interface Bottleneck
Why current AI interfaces limit collaboration: single-thread turn-taking is a bandwidth bottleneck; humans pushed out b…
- Vertical Slice Tracer Bullets
Pragmatic-Programmer tracer-bullet pattern applied to agent task decomposition; vertical slices > horizontal layers; Ka…
- Where Does the Why Live?
Rationale (the 'why') is well-homed at authoring time — it's the recorded why-not-what conversation and the grilling se…
- Zero-Friction Scope Creep
MVP failure mode when agentic coding removes the cost-based forcing function against scope creep; antidote is written s…
Related articles
- Harness Shrinkage as Models Improve
Prompt scaffolding shrinks each model release; Cat Wu's pruning discipline; Boris Cherny "100 lines of code a year from…
- Context Window Smart Zone
Smart zone vs dumb zone (Dex Hardy / Matt Pocock): quadratic attention scaling, ~100K marker independent of advertised…
- Deep Modules for Agents
Ousterhout deep-vs-shallow modules applied to agent-friendly codebases; push-vs-pull instruction delivery; reviewer in…
- Claude Code
Anthropic's agentic coding product; created by Boris Cherny late 2024; TypeScript/React; CLI/desktop/web/mobile/IDE sur…
- Agent Harness Engineering
Patterns for scaffolding long-running LLM agents: environment design, progressive context disclosure, mechanical archit…
