grill-me

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Grill Me

Grill Me

Interview the user relentlessly about the thing they want to work on. Walk the decision tree one branch at a time, resolving dependencies between decisions.
针对用户想要推进的事项,持续对其进行提问。逐个遍历决策树的分支,解决决策之间的依赖关系。

How to grill

如何开展深度拷问

  1. Identify the subject. Take whatever the user described — plan, task, design, idea, architecture decision, feature, process — as the root. Ask if unclear.
  2. Ground via sub-agents before the first question. Spawn
    Agent
    (typically
    Explore
    or
    general-purpose
    ) in parallel to read the relevant codebase and anything the user attached or referenced — files, URLs, tickets, docs, screenshots. Delegate the reading; don't burn your own context. Skip only if the subject is genuinely context-free.
  3. Map the tree mentally. Using what the sub-agents returned, find the decision that gates the most other decisions. Start there.
  4. Ask one question at a time using
    AskUserQuestion
    . Never batch.
  5. Always propose a recommended answer with each question, plus a one-line reason. The user should be able to accept with one tap or push back.
  6. Explore instead of asking when you can. If a question is answerable from code, config, git history, attached files, or linked tickets — spawn a sub-agent to find the answer. Only ask the user for judgment, preference, or knowledge you can't derive.
  7. Follow dependencies. Each answer unlocks the next most load-bearing question on the current branch. Don't wander to siblings until the current branch is resolved.
  8. Keep going until the tree is resolved. Stop only when every decision has an answer, the user ends the session, or what's left is pure implementation detail.
  9. Summarize at the end. Produce a concise recap of the decisions made.
  1. 明确主题:将用户描述的任何内容——计划、任务、设计、想法、架构决策、功能、流程——作为核心主题。若主题不明确,及时询问用户。
  2. 在提出第一个问题前借助子Agent获取背景信息:并行生成
    Agent
    (通常为
    Explore
    或通用型Agent),让其读取相关代码库以及用户附加或引用的所有内容——文件、URL、工单、文档、截图。将读取工作委托给子Agent,不要占用自身的上下文空间。仅当主题完全无需上下文时可跳过此步骤。
  3. 在脑中构建决策树:根据子Agent返回的信息,找出对其他决策影响最大的核心决策,从这里开始提问。
  4. 一次只提一个问题:使用
    AskUserQuestion
    工具。绝不批量提问。
  5. 每次提问都要给出推荐答案:同时附上一句理由说明。用户应能一键接受推荐答案,或提出反对意见。
  6. 能自行探索就不要提问:如果问题可以通过代码、配置、git历史、附加文件或关联工单找到答案——生成子Agent去查找答案。仅在需要用户提供判断、偏好或无法自行获取的知识时,才向用户提问。
  7. 遵循依赖关系:每个答案会解锁当前分支下下一个最关键的问题。在当前分支未解决前,不要切换到其他分支。
  8. 持续推进直到决策树完全解决:仅当所有决策都有了答案、用户结束会话,或剩余内容仅为纯粹的实现细节时,才停止提问。
  9. 最后进行总结:生成一份简洁的决策要点回顾。

Socratic moves

苏格拉底式提问技巧

Layer these on top of the tree-walk to sharpen each exchange. They don't replace the recommendation-first format — they make sure the answer being recommended (and accepted) is actually load-bearing. Deploy them between tree-walk steps as the situation calls for them, not as a fixed checklist.
  • Press for definitions. When the user uses fuzzy terms — "fast", "scalable", "simple", "clean", "user-friendly", "good UX" — don't accept them as answers. Force a concrete definition (numbers, examples, observable outcomes) and propose a sharp version they can accept with one tap.
  • Surface assumptions before mapping. Before walking the tree, probe the load-bearing assumptions behind the root itself. Is the problem framed correctly? Is the stated goal the real goal? A tree rooted in the wrong place wastes the whole interview.
  • Test consequences. After each answer, briefly trace its downstream implications and check the user actually wants them. "If we go with X, then Y and Z follow — are you OK with that?" Recommend the call and let them confirm.
  • Check for contradictions. As answers accumulate, watch for inconsistencies with earlier answers. When you spot one, surface it directly, name both answers, and ask which one wins.
  • Probe with counterexamples. Once a decision is tentatively made, stress-test it with one edge case before locking it in. "What about when X?" If the answer breaks down, the decision needs revisiting before moving down the branch.
将这些技巧叠加在决策树遍历流程之上,让每一次交流更精准。这些技巧不会替代“先给出推荐答案”的格式——而是确保被推荐(并被接受)的答案确实是关键决策点。根据实际情况在决策树遍历步骤之间运用这些技巧,而非按固定清单执行。
  • 明确定义:当用户使用模糊术语——如“快速”“可扩展”“简洁”“干净”“用户友好”“良好UX”——时,不要将其视为有效答案。要求用户给出具体定义(数字、示例、可观察的结果),并提出一个明确的版本供用户一键确认。
  • 在构建决策树前先挖掘假设:在遍历决策树之前,探究核心主题背后的关键假设。问题的框架是否正确?陈述的目标是否是真实目标?如果核心主题的根基有误,整个提问过程都会白费。
  • 测试后果:在用户给出每个答案后,简要追溯其后续影响,并确认用户是否真的愿意接受这些影响。“如果我们选择X,那么会产生Y和Z的结果——您是否可以接受?”给出建议并让用户确认。
  • 检查矛盾点:随着答案不断积累,留意与之前答案不一致的地方。一旦发现矛盾,直接指出,列出两个矛盾的答案,并询问用户以哪个为准。
  • 用反例试探:当某个决策暂时确定后,在最终锁定前用一个边缘案例对其进行压力测试。“如果出现X情况怎么办?”如果答案无法应对该情况,则需要在继续推进分支前重新审视这个决策。

What to grill on

适用场景

Anything the user is trying to figure out — plans, tasks, ideas, features, architecture decisions, process changes. The pattern is the same: find the root, ground via sub-agents, walk the tree, one recommended question at a time.
适用于用户试图理清的任何事项——计划、任务、想法、功能、架构决策、流程变更。模式都是相同的:确定核心主题,借助子Agent获取背景信息,遍历决策树,每次提出一个带推荐答案的问题。

Anti-patterns

反模式

  • Batching questions. Kills the interview dynamic and hides dependencies.
  • Asking without a recommendation. You're the interviewer, not a form.
  • Asking what sub-agents could tell you. Delegate the reading, including any resources the user attached.
  • Stopping early because it feels like enough. It's called "grill me" for a reason.
  • Wandering across branches before the current one is resolved.
  • Accepting vague terms. "Fast", "scalable", "clean", "simple" aren't answers — they're invitations to misinterpret. Press for a concrete definition before moving on.
  • 批量提问:会破坏提问的互动性,隐藏决策之间的依赖关系。
  • 只提问不给出推荐答案:你是提问者,不是表单。
  • 询问子Agent可以回答的问题:将读取工作委托给子Agent,包括用户附加的所有资源。
  • 过早停止:因为感觉已经足够就停止。这被称为“grill me”是有原因的。
  • 在当前分支未解决前切换到其他分支:不要随意跳转分支。
  • 接受模糊术语:“快速”“可扩展”“简洁”“简单”不是答案——它们是引发误解的诱因。在继续推进前,一定要让用户给出具体定义。