rehearse-qa

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Rehearse Q&A

问答排练

Drill the Q&A session before it happens. A simulated audience — hostile and curious personas calibrated to the venue — asks questions one at a time, grounded in the user's actual paper and slides; every answer gets coached into a concise, honest, answer-first response; the questions the speaker hopes nobody asks get prepared deliberately instead of dreaded vaguely.
在正式问答环节前开展演练。模拟受众——针对不同场景校准的尖锐或好奇角色——会基于用户的真实论文和幻灯片逐一提问;每次回答都会被指导修改为简洁、诚实、先给出答案的回应方式;演讲者“希望没人问”的问题会被刻意准备,而非模糊地畏惧。

When to use

使用场景

  • "Grill me on my paper" / "rehearse the Q&A for my talk" / "mock Q&A"
  • "What will the audience ask?" / "what's the worst question I could get?"
  • "Practice my thesis defense / viva" / "prep me for job-talk questions"
  • Poster-session prep (continuous Q&A, 2-minute and 5-minute pitches)
  • After
    write-talk-script
    /
    make-slides
    — the talk is built, now the unscripted part gets rehearsed. After
    simulate-reviewers
    — its weakness list seeds the dreaded-question inventory.
  • “针对我的论文对我提问” / “为我的演讲排练问答环节” / “模拟问答”
  • “观众会问什么问题?” / “我可能遇到的最糟糕的问题是什么?”
  • “练习我的论文答辩 / viva” / “为求职演讲的提问做准备”
  • 海报展示环节准备(持续问答、2分钟及5分钟演讲)
  • write-talk-script
    /
    make-slides
    之后——演讲内容已完成,现在需要排练非脚本化的部分。在
    simulate-reviewers
    之后——其列出的薄弱点可作为“畏惧问题”清单的基础。

Inputs

输入信息

  1. The paper (and slides/script if they exist), in any readable form. Process them transiently — never copy paper text into this repo.
  2. The setting and slot: conference talk / lightning / keynote / poster / defense / job talk, plus the Q&A length in minutes (ask if unknown).
  3. Optional but better: a venue profile
    venues/conferences/<venue>-<year>.yml
    (schema in
    venues/schema.yml
    ) so the audience matches the venue family. No profile?
    parse-cfp
    can create one, or run with the generic audience.
  1. 论文(以及幻灯片/演讲稿,如果有的话),任何可读格式均可。 仅临时处理——绝不将论文文本复制到本仓库中。
  2. 场景与时长:学术会议报告 / 闪电演讲 / 主旨演讲 / 海报展示 / 论文答辩 / 求职演讲,加上问答环节的分钟数(若未知则询问用户)。
  3. 可选但推荐:场景配置文件
    venues/conferences/<venue>-<year>.yml
    (配置文件格式见
    venues/schema.yml
    ),以便模拟受众匹配该场景类型。 没有配置文件?
    parse-cfp
    可生成一个,或使用通用受众进行演练。

Process

流程

  1. Build the drill plan. Run:
    python3 scripts/qa_drill.py --setting conference-talk --minutes 3 \
        --venue venues/conferences/<venue>-<year>.yml
    Deterministic and offline. Emits the slot math (how many questions the live slot actually fits, how many to drill), the persona lineup with per-persona quotas (venue-family calibrated when
    --venue
    is given), the round plan, answer-time targets, and a transcript skeleton for step 6.
    --json
    for machine output;
    --help
    for all settings. Exit codes: 0 ok, 2 bad arguments or missing/unparsable profile.
  2. Re-verify the slot — mandatory. Venue profiles do NOT store talk slots, and Q&A lengths change per year, track, and session. Check the venue's live presenter instructions (start from the profile's
    cfp_url
    and
    website
    ) for slot length, Q&A minutes, and format (chaired Q&A, no Q&A for lightning, poster logistics). Rehearsing to the wrong clock trains the wrong answers; state what was verified and when.
  3. Read the paper and build the dreaded-question inventory. Mine limitations, claims, experimental scope, assumptions, cut material, rebuttal history, odd numbers, ethics/data provenance — full checklist and the per-question prep-card template in references/dreaded-questions.md. Rank 8–15 questions by probability x damage and build an honest answer card for each. If a weakness is fixable before the talk, say so — fix beats rehearsal.
  4. Run the drill, one question at a time. Follow the round plan (warm-up → hostile gauntlet → dreaded finale → rapid-fire → curveballs). Ask in persona, grounded in the actual paper/slides, then WAIT for the user's answer before continuing — never dump a question list. Persona voices, follow-up behavior, and venue/setting calibration are in references/audience-personas.md. Prior-work rule: a drill question may only cite real papers verified via
    find-papers
    +
    verify-citations
    , otherwise it stays nameless ("suppose someone claims prior work did X"). Never invent a citation.
  5. Coach every answer. After each user answer, break persona and give the five-part feedback (verdict / what worked / the one fix / a model answer built only from what the paper supports / re-drill if it failed) per references/answer-coaching.md. Coach the answer-first template: headline sentence, one piece of evidence, stop. Re-ask hard-failed questions later — an answer is drilled only when it lands twice.
  6. Grade the transcript deterministically. Record the exchanges in the skeleton from step 1 (the user's answers as spoken/typed), then run:
    python3 scripts/grade_answers.py transcript.md --target 45 --max 75
    (Targets come from the drill plan.) Flags per answer: estimated speaking time vs target/cap, unanswered questions, hedge openers, filler density, and buried answers to yes/no questions. Exit codes: 0 ready, 1 re-drill needed, 2 bad input.
    --json
    for machine output.
  7. Deliver the readiness report. Summarize: questions that land, questions needing another round (with the one fix each), the dreaded- question crib sheet (question → memorized headline → one number), and any "fix the slide instead" items routed back to
    make-slides
    /
    write-talk-script
    .
  1. 制定演练计划。运行:
    python3 scripts/qa_drill.py --setting conference-talk --minutes 3 \
        --venue venues/conferences/<venue>-<year>.yml
    该过程是确定性且离线的。输出内容包括:环节计算(实际问答环节可容纳的问题数量、需要演练的问题数量)、带角色配额的受众阵容(若指定
    --venue
    则会根据场景类型校准)、轮次计划、回答时长目标,以及步骤6所需的转录稿框架。使用
    --json
    可生成机器可读输出;使用
    --help
    可查看所有设置。退出码:0表示正常,2表示参数错误或配置文件缺失/无法解析。
  2. 重新确认环节时长——必填项。场景配置文件不会存储演讲环节时长,且问答时长每年、每场、每个会议环节都可能变化。请查看场景的实时演讲者指南(从配置文件的
    cfp_url
    website
    进入)确认环节时长、问答分钟数及形式(主持式问答、闪电演讲无问答、海报展示流程)。针对错误时长进行演练会导致训练出不合适的回答;请记录确认的内容及时间。
  3. 阅读论文并构建“畏惧问题”清单。挖掘论文中的局限性、论点、实验范围、假设、删减内容、反驳历史、异常数据、伦理/数据来源——完整清单及单问题准备卡模板见references/dreaded-questions.md。按“概率×影响”排序选出8-15个问题,并为每个问题制作诚实的回答卡。若某个薄弱点可在演讲前修复,请告知用户——修复优于排练。
  4. 开展演练,逐一提问。遵循轮次计划(热身→尖锐提问挑战→畏惧问题终局→快速问答→突发问题)。以对应角色的口吻提问,基于真实论文/幻灯片,然后等待用户回答后再继续——绝不直接抛出问题列表。角色语气、跟进提问方式及场景校准规则见references/audience-personas.md。 已有研究引用规则:演练提问仅可引用经
    find-papers
    +
    verify-citations
    验证的真实论文,否则需匿名表述(“假设有人声称已有研究做了X”)。绝不编造引用内容。
  5. 指导每一个回答。用户回答后,切换出角色身份,按照references/answer-coaching.md给出五部分反馈(评价/亮点/核心改进点/仅基于论文内容的示范回答/若未达标则重新演练)。指导用户采用“先给出答案”的模板:核心句、一项证据、停止。未达标的难题稍后重新提问——只有当回答连续两次达标时,才算完成该问题的演练。
  6. 客观评分转录稿。将问答内容记录到步骤1生成的框架中(用户的口头/书面回答),然后运行:
    python3 scripts/grade_answers.py transcript.md --target 45 --max 75
    (时长目标来自演练计划。)针对每个回答标记:预估发言时长与目标/上限的对比、未回答的问题、模糊开头、填充词密度,以及对是非题未直接作答的情况。退出码:0表示准备就绪,1表示需要重新演练,2表示输入错误。使用
    --json
    可生成机器可读输出。
  7. 交付准备就绪报告。总结内容:已达标的问题、需要再次演练的问题(每个问题对应一项核心改进点)、“畏惧问题”速查表(问题→记忆核心句→一项数据),以及任何需反馈至
    make-slides
    /
    write-talk-script
    的“修改幻灯片”建议。

Output

输出内容

An interactive drill session plus, at the end (in chat; written to a file only if the user asks): the graded transcript report from
grade_answers.py
, the dreaded-question crib sheet for morning-of review, and the re-drill list. No predictions — a drilled answer is preparation, not a guarantee of what gets asked.
一场交互式演练环节,结束后(在聊天中;仅当用户要求时才写入文件):来自
grade_answers.py
的转录稿评分报告、供演讲当天早晨复习的“畏惧问题”速查表,以及需重新演练的问题列表。不做预测——演练后的回答是准备,而非对实际提问的保证。

Adapt to your discipline

适配你的学科

Audience lineups are keyed on the venue
family:
field in
scripts/qa_drill.py
(
FAMILY_LINEUPS
) — fork and add your community's audience (e.g. a humanities seminar respondent, a clinical grand-rounds panel) plus any new personas in
PERSONAS
and references/audience-personas.md. The settings table (
SETTINGS
) takes new formats the same way.
受众阵容由
scripts/qa_drill.py
中的场景
family:
字段(
FAMILY_LINEUPS
)决定——你可以复刻代码并添加所在领域的受众(例如人文研讨会的提问者、临床大查房的评审团),同时在
PERSONAS
references/audience-personas.md中添加新角色。设置表(
SETTINGS
)也可采用相同方式添加新场景格式。

Guardrails

约束规则

  • Honest answers only. Never coach wording that hides, minimizes, or misrepresents a limitation or result; decline "help me avoid admitting X" framings and offer the concede-and-scope answer instead (it also performs better). Fixable weaknesses should be fixed, not rehearsed around.
  • Never fabricate citations — in questions or model answers. Prior-work references in drills go through
    find-papers
    +
    verify-citations
    or stay nameless.
  • Never put claims in the user's mouth the paper cannot support; model answers use only the paper's own evidence.
  • Re-verify slot/session facts against the live venue pages (step 2 is not optional); profiles never carry talk-slot ground truth.
  • Process the paper transiently; never store paper text in this repo.
  • Never contact session chairs, committees, or any submission/conference system on the user's behalf.
  • This is rehearsal, not prophecy: never claim the drilled questions are what will actually be asked, and never predict talk reception.
  • 仅允许诚实回答。绝不指导用户使用隐瞒、淡化或歪曲局限性/结果的表述;拒绝“帮我避免承认X”这类请求,转而建议采用“承认并限定范围”的回答方式(这种方式效果更好)。可修复的薄弱点应优先修复,而非通过排练规避。
  • 绝不编造引用内容——无论是在提问还是示范回答中。演练中的已有研究引用必须经过
    find-papers
    +
    verify-citations
    验证,否则需匿名表述。
  • 绝不将论文无法支持的观点强加给用户;示范回答仅使用论文自身的证据。
  • 必须根据场景实时页面重新确认环节/会议信息(步骤2为必填项);配置文件绝不会包含演讲环节的真实信息。
  • 仅临时处理论文;绝不将论文文本存储在本仓库中。
  • 绝不代表用户联系会议环节主席、委员会或任何投稿/会议系统。
  • 这是排练,而非预言:绝不声称演练的问题就是实际会被问到的问题,也绝不预测演讲的反响。