debate

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Debate

辩论

"No single story is true — but the ensemble approximates actionable wisdom."
Structured deliberation that forces genuine exploration through adversarial dialogue.

"没有单一的故事是绝对真实的——但多方观点的集合能趋近可落地的智慧。"
通过对抗式对话推动的结构化审议,迫使参与者真正探索多元视角。

Why Debate?

为什么选择辩论?

Traditional LLM chat gives you the statistical center — the most likely answer averaged across all training data. This misses:
  • Outlier perspectives that might matter most
  • Hidden assumptions embedded in the "obvious" answer
  • Genuine trade-offs between competing values
  • The shape of the possibility space
Debate fixes this by simulating multiple perspectives that must defend their positions against cross-examination.

传统LLM聊天给你的是统计意义上的中间值——即基于所有训练数据得出的最可能答案。但这种方式存在以下不足:
  • 可能遗漏那些最为关键的小众视角
  • 隐藏在“显而易见”答案中的假设未被挖掘
  • 相互冲突的价值之间的真实权衡被忽视
  • 可能性空间的全貌未被展现
辩论模式能解决这些问题,它通过模拟多个立场,每个立场都必须在交叉质询中捍卫自身观点。

The Debate Card

辩论卡片

yaml
undefined
yaml
undefined

debate.card — the master ensemble card

debate.card — the master ensemble card

card: name: "Structured Debate" type: ensemble emoji: "🎭"

Data flow components

components: generators: CREATE_TOPIC: description: "Define what we're debating" params: question: required context: optional stakes: optional outputs: [topic_stream]
  CREATE_SIDE:
    description: "Create a position with advocates"
    params:
      name: required
      position: required
      advocates: "1-3 personas"
    outputs: [arguments, rebuttals]
    
transformers:
  CREATE_MODERATOR:
    description: "Facilitate fair debate"
    params:
      style: ["roberts_rules", "oxford", "informal"]
      strictness: ["strict", "moderate", "loose"]
    inputs: [arguments, rebuttals, motions]
    outputs: [moderated_stream]
    behavior: |
      Enforce turn-taking
      Recognize speakers
      Time contributions
      Call votes when appropriate
      
  CREATE_CLOCK:
    description: "Control timing"
    params:
      round_duration: "time expression"
      rebuttal_duration: "time expression"
    inputs: [any]
    outputs: [timed_stream]
    
consumers:
  CREATE_AUDIENCE:
    description: "Observers who react and score"
    params:
      count: number
      expertise: list
      scoring: ["rubric", "impression", "vote"]
    inputs: [moderated_stream]
    outputs: [reactions, scores, verdict]
    
  CREATE_TRANSCRIPT:
    description: "Record everything"
    inputs: [all_streams]
    outputs: [TRANSCRIPT.md]
    
  CREATE_EVALUATOR:
    description: "Independent assessment (no debate context)"
    params:
      rubric: required
    inputs: [final_positions]
    outputs: [evaluation.yml]
    

Wiring instructions (natural language)

wiring: | Topic feeds context to all Sides. Sides produce Arguments that flow to Moderator. Moderator interleaves fairly and routes to Audience. Clock controls round transitions via Moderator. Transcript captures the full moderated stream. Evaluator receives only final positions, not debate process.

Activation advertisements

advertisements: SETUP: description: "Configure a new debate" score: 80
START:
  description: "Begin the debate"
  score_if: "topic AND sides.length >= 2"
  score: 90
  
PAUSE:
  description: "Pause for reflection or recess"
  score: 50
  
CONCLUDE:
  description: "End debate, call for verdict"
  score_if: "rounds_completed >= min_rounds"
  score: 70

---
card: name: "Structured Debate" type: ensemble emoji: "🎭"

Data flow components

components: generators: CREATE_TOPIC: description: "Define what we're debating" params: question: required context: optional stakes: optional outputs: [topic_stream]
  CREATE_SIDE:
    description: "Create a position with advocates"
    params:
      name: required
      position: required
      advocates: "1-3 personas"
    outputs: [arguments, rebuttals]
    
transformers:
  CREATE_MODERATOR:
    description: "Facilitate fair debate"
    params:
      style: ["roberts_rules", "oxford", "informal"]
      strictness: ["strict", "moderate", "loose"]
    inputs: [arguments, rebuttals, motions]
    outputs: [moderated_stream]
    behavior: |
      Enforce turn-taking
      Recognize speakers
      Time contributions
      Call votes when appropriate
      
  CREATE_CLOCK:
    description: "Control timing"
    params:
      round_duration: "time expression"
      rebuttal_duration: "time expression"
    inputs: [any]
    outputs: [timed_stream]
    
consumers:
  CREATE_AUDIENCE:
    description: "Observers who react and score"
    params:
      count: number
      expertise: list
      scoring: ["rubric", "impression", "vote"]
    inputs: [moderated_stream]
    outputs: [reactions, scores, verdict]
    
  CREATE_TRANSCRIPT:
    description: "Record everything"
    inputs: [all_streams]
    outputs: [TRANSCRIPT.md]
    
  CREATE_EVALUATOR:
    description: "Independent assessment (no debate context)"
    params:
      rubric: required
    inputs: [final_positions]
    outputs: [evaluation.yml]
    

Wiring instructions (natural language)

wiring: | Topic feeds context to all Sides. Sides produce Arguments that flow to Moderator. Moderator interleaves fairly and routes to Audience. Clock controls round transitions via Moderator. Transcript captures the full moderated stream. Evaluator receives only final positions, not debate process.

Activation advertisements

advertisements: SETUP: description: "Configure a new debate" score: 80
START:
  description: "Begin the debate"
  score_if: "topic AND sides.length >= 2"
  score: 90
  
PAUSE:
  description: "Pause for reflection or recess"
  score: 50
  
CONCLUDE:
  description: "End debate, call for verdict"
  score_if: "rounds_completed >= min_rounds"
  score: 70

---

Debate Session State

辩论会话状态

yaml
undefined
yaml
undefined

debates/microservices-001/DEBATE.yml

debates/microservices-001/DEBATE.yml

debate: id: microservices-001 topic: question: "Should we migrate to microservices?" context: "Legacy monolith, 50 engineers, growing pains" stakes: "Architecture decision affects next 5 years"
sides: pro: position: "Microservices enable team autonomy and scaling" advocates: - maya: "Focus on organizational benefits" - frankie: "Emphasize future flexibility" arguments_made: 7
con:
  position: "Monolith is simpler, faster, cheaper"
  advocates:
    - vic: "Demand evidence of problems"
    - tammy: "Trace second-order effects"
  arguments_made: 6
  
pragmatic:
  position: "Modular monolith as middle path"
  advocates:
    - joe: "Preserve what works"
  arguments_made: 4
  
moderator: style: roberts_rules current_speaker: maya queue: [vic, frankie, tammy]
clock: round: 2 total_rounds: 3 round_time_remaining: "4:30"
audience: - id: architect-1 expertise: system_design leaning: pragmatic confidence: 0.7 - id: ops-1 expertise: deployment leaning: con confidence: 0.8 - id: dev-1 expertise: implementation leaning: pro confidence: 0.5
status: in_progress

Verdict (populated after conclusion)

verdict: null

---
debate: id: microservices-001 topic: question: "Should we migrate to microservices?" context: "Legacy monolith, 50 engineers, growing pains" stakes: "Architecture decision affects next 5 years"
sides: pro: position: "Microservices enable team autonomy and scaling" advocates: - maya: "Focus on organizational benefits" - frankie: "Emphasize future flexibility" arguments_made: 7
con:
  position: "Monolith is simpler, faster, cheaper"
  advocates:
    - vic: "Demand evidence of problems"
    - tammy: "Trace second-order effects"
  arguments_made: 6
  
pragmatic:
  position: "Modular monolith as middle path"
  advocates:
    - joe: "Preserve what works"
  arguments_made: 4
  
moderator: style: roberts_rules current_speaker: maya queue: [vic, frankie, tammy]
clock: round: 2 total_rounds: 3 round_time_remaining: "4:30"
audience: - id: architect-1 expertise: system_design leaning: pragmatic confidence: 0.7 - id: ops-1 expertise: deployment leaning: con confidence: 0.8 - id: dev-1 expertise: implementation leaning: pro confidence: 0.5
status: in_progress

Verdict (populated after conclusion)

verdict: null

---

Debate Flow

辩论流程

yaml
undefined
yaml
undefined

Debate session structure

Debate session structure

debate_flow: topic: "Should we adopt microservices?"
sides: pro: advocates: [Maya, Frankie] con: advocates: [Vic, Tammy] pragmatic: advocates: [Joe]
moderator: style: "Robert's Rules" controls: [turn-taking, timing]
outputs: audience: "scores" transcript: "records" evaluator: "independent (no context)"
verdict: winner: "pragmatic (modular monolith)" confidence: 60%

---
debate_flow: topic: "Should we adopt microservices?"
sides: pro: advocates: [Maya, Frankie] con: advocates: [Vic, Tammy] pragmatic: advocates: [Joe]
moderator: style: "Robert's Rules" controls: [turn-taking, timing]
outputs: audience: "scores" transcript: "records" evaluator: "independent (no context)"
verdict: winner: "pragmatic (modular monolith)" confidence: 60%

---

Commands

命令

Setup Commands

设置命令

CommandEffect
DEBATE [topic]
Quick-start: creates topic, 2 sides, moderator
CREATE_TOPIC [question]
Define what we're debating
CREATE_SIDE [name] position="..."
Add a position
CREATE_MODERATOR style=[style]
Add facilitation
CREATE_AUDIENCE count=[n]
Add observers
START_DEBATE rounds=[n]
Begin
命令效果
DEBATE [topic]
快速启动:创建议题、两个立场及主持人
CREATE_TOPIC [question]
定义辩论议题
CREATE_SIDE [name] position="..."
添加一个立场
CREATE_MODERATOR style=[style]
添加主持人以推进公平辩论
CREATE_AUDIENCE count=[n]
添加观众/观察员
START_DEBATE rounds=[n]
开始辩论

Robert's Rules Commands

罗伯特议事规则命令

CommandEffect
MOTION [text]
Propose something for vote
SECOND
Second a motion
DEBATE
Open floor for discussion
CALL_QUESTION
End debate, move to vote
VOTE [yea/nay/abstain]
Cast vote
POINT_OF_ORDER
Challenge procedure
YIELD
Give up remaining time
命令效果
MOTION [text]
提出动议以供表决
SECOND
附议一项动议
DEBATE
开放讨论环节
CALL_QUESTION
结束辩论,进入表决环节
VOTE [yea/nay/abstain]
投票
POINT_OF_ORDER
对程序提出质疑
YIELD
放弃剩余发言时间

Flow Commands

流程命令

CommandEffect
ARGUMENT [text]
Make an argument for your side
REBUTTAL [text]
Counter an argument
EVIDENCE [citation]
Introduce supporting evidence
QUESTION [target]
Direct question to opponent
CONCEDE [point]
Acknowledge opponent's point
CONCLUDE
End debate, generate verdict

命令效果
ARGUMENT [text]
为己方立场提出论点
REBUTTAL [text]
反驳对方论点
EVIDENCE [citation]
引入支持性证据
QUESTION [target]
向对手提出直接问题
CONCEDE [point]
认可对手的某个观点
CONCLUDE
结束辩论,生成最终裁决

Side Definition

立场定义

yaml
undefined
yaml
undefined

Each side is a generator with advocates

Each side is a generator with advocates

side: name: pro position: "Microservices enable team autonomy and independent deployment"
advocates: maya: persona: "Paranoid realist" focus: "What could go wrong with NOT changing" style: "Surface hidden risks of status quo"
frankie:
  persona: "Optimistic idealist"  
  focus: "Future possibilities"
  style: "Paint vision of success"
  
strategy: | Lead with organizational benefits (Maya). Follow with technical flexibility (Frankie). Anticipate complexity objections. Have concrete migration plan ready.
constraints: - "Must acknowledge operational complexity" - "Cannot dismiss monitoring challenges"
arguments: - id: arg-001 claim: "Team autonomy increases velocity" evidence: "Case studies from Amazon, Netflix" rebuttals_received: [reb-001, reb-003]
- id: arg-002
  claim: "Independent deployment reduces coordination"
  evidence: "Current deploy queue is 2 weeks"
  rebuttals_received: []

---
side: name: pro position: "Microservices enable team autonomy and independent deployment"
advocates: maya: persona: "Paranoid realist" focus: "What could go wrong with NOT changing" style: "Surface hidden risks of status quo"
frankie:
  persona: "Optimistic idealist"  
  focus: "Future possibilities"
  style: "Paint vision of success"
  
strategy: | Lead with organizational benefits (Maya). Follow with technical flexibility (Frankie). Anticipate complexity objections. Have concrete migration plan ready.
constraints: - "Must acknowledge operational complexity" - "Cannot dismiss monitoring challenges"
arguments: - id: arg-001 claim: "Team autonomy increases velocity" evidence: "Case studies from Amazon, Netflix" rebuttals_received: [reb-001, reb-003]
- id: arg-002
  claim: "Independent deployment reduces coordination"
  evidence: "Current deploy queue is 2 weeks"
  rebuttals_received: []

---

Transcript Format

记录格式

markdown
undefined
markdown
undefined

Debate: Should We Adopt Microservices?

Debate: Should We Adopt Microservices?

Date: 2026-01-05 Moderator: Roberts-Rules-Bot Rounds: 3

Date: 2026-01-05 Moderator: Roberts-Rules-Bot Rounds: 3

Opening Statements

Opening Statements

Pro (Maya)

Pro (Maya)

The question isn't whether microservices add complexity — they do. The question is whether our current monolith's hidden complexity is already killing us. Our deploy queue is 2 weeks. Our teams step on each other constantly. The pain is real and growing.
The question isn't whether microservices add complexity — they do. The question is whether our current monolith's hidden complexity is already killing us. Our deploy queue is 2 weeks. Our teams step on each other constantly. The pain is real and growing.

Con (Vic)

Con (Vic)

Show me the data. "Teams step on each other" — how often? What's the actual cost? I've seen microservice migrations that took 3 years and delivered negative value. The grass is always greener until you're debugging distributed traces at 3am.
Show me the data. "Teams step on each other" — how often? What's the actual cost? I've seen microservice migrations that took 3 years and delivered negative value. The grass is always greener until you're debugging distributed traces at 3am.

Pragmatic (Joe)

Pragmatic (Joe)

What if we don't have to choose? A modular monolith gives us team boundaries without network calls. We can always extract services later when we have evidence they're needed.

What if we don't have to choose? A modular monolith gives us team boundaries without network calls. We can always extract services later when we have evidence they're needed.

Round 1: Arguments

Round 1: Arguments

Moderator: Maya has the floor.
Maya (Pro):
I move that we consider deployment independence as the primary benefit. [MOTION]
Tammy (Con):
Second, for purposes of debate. [SECOND]
Moderator: Motion seconded. Floor is open.
Frankie (Pro):
ARGUMENT: Our current deploy process requires full regression because any change could affect any part of the system. With service boundaries, teams deploy independently.
yaml
evidence:
  current_deploy_time: "2 weeks"
  microservice_target: "< 1 day per service"
  source: "internal metrics"
Vic (Con):
REBUTTAL: You're trading deploy coordination for runtime coordination. Now every service call can fail. Your "1 day deploys" will be offset by distributed debugging.

Moderator: Maya has the floor.
Maya (Pro):
I move that we consider deployment independence as the primary benefit. [MOTION]
Tammy (Con):
Second, for purposes of debate. [SECOND]
Moderator: Motion seconded. Floor is open.
Frankie (Pro):
ARGUMENT: Our current deploy process requires full regression because any change could affect any part of the system. With service boundaries, teams deploy independently.
yaml
evidence:
  current_deploy_time: "2 weeks"
  microservice_target: "< 1 day per service"
  source: "internal metrics"
Vic (Con):
REBUTTAL: You're trading deploy coordination for runtime coordination. Now every service call can fail. Your "1 day deploys" will be offset by distributed debugging.

Verdict

Verdict

Audience Scores:
AudienceLeaningConfidence
architect-1pragmatic0.8
ops-1con0.7
dev-1pragmatic0.6
Independent Evaluator:
yaml
evaluation:
  winner: pragmatic
  reasoning: |
    Pro made strong organizational arguments but didn't
    address operational complexity sufficiently.
    Con's evidence demands were valid but position
    was purely defensive.
    Pragmatic offered concrete middle path with
    lower risk and clear upgrade path.
  confidence: 0.7
  dissenting_view: "Pro's velocity argument deserves more weight"
Final Verdict: Modular monolith (pragmatic position)

---
Audience Scores:
AudienceLeaningConfidence
architect-1pragmatic0.8
ops-1con0.7
dev-1pragmatic0.6
Independent Evaluator:
yaml
evaluation:
  winner: pragmatic
  reasoning: |
    Pro made strong organizational arguments but didn't
    address operational complexity sufficiently.
    Con's evidence demands were valid but position
    was purely defensive.
    Pragmatic offered concrete middle path with
    lower risk and clear upgrade path.
  confidence: 0.7
  dissenting_view: "Pro's velocity argument deserves more weight"
Final Verdict: Modular monolith (pragmatic position)

---

Integration with Other Skills

与其他技能的集成

With adversarial-committee

与adversarial-committee集成

Debate IS an adversarial committee in action. The sides are the committee members with opposing propensities.
辩论本质上就是一个落地的对抗式委员会。各个立场相当于具有对立倾向的委员会成员。

With roberts-rules

与roberts-rules集成

The moderator can enforce full parliamentary procedure:
yaml
moderator:
  style: roberts_rules
  enforces:
    - motions_require_second
    - debate_before_vote
    - point_of_order_interrupts
    - two_thirds_for_closure
主持人可以执行完整的议会程序:
yaml
moderator:
  style: roberts_rules
  enforces:
    - motions_require_second
    - debate_before_vote
    - point_of_order_interrupts
    - two_thirds_for_closure

With rubric

与rubric集成

Audience and evaluator can use explicit rubrics:
yaml
rubric:
  criteria:
    - name: evidence_quality
      weight: 0.3
      levels: [anecdotal, case_study, systematic]
      
    - name: addresses_counterarguments
      weight: 0.25
      levels: [ignores, acknowledges, refutes]
      
    - name: practical_feasibility
      weight: 0.25
      levels: [theoretical, plausible, demonstrated]
      
    - name: risk_assessment
      weight: 0.2
      levels: [ignores, mentions, quantifies]
观众和评估者可以使用明确的评分标准:
yaml
rubric:
  criteria:
    - name: evidence_quality
      weight: 0.3
      levels: [anecdotal, case_study, systematic]
      
    - name: addresses_counterarguments
      weight: 0.25
      levels: [ignores, acknowledges, refutes]
      
    - name: practical_feasibility
      weight: 0.25
      levels: [theoretical, plausible, demonstrated]
      
    - name: risk_assessment
      weight: 0.2
      levels: [ignores, mentions, quantifies]

With speed-of-light

与speed-of-light集成

The entire debate can happen in ONE LLM call:
yaml
undefined
整个辩论可以在一次LLM调用中完成:
yaml
undefined

One epoch simulates multiple rounds of debate

One epoch simulates multiple rounds of debate

speed_of_light: characters: 5 # Maya, Frankie, Vic, Tammy, Joe rounds: 3 arguments_per_round: 6 total_simulated: 18 exchanges llm_calls: 1

---
speed_of_light: characters: 5 # Maya, Frankie, Vic, Tammy, Joe rounds: 3 arguments_per_round: 6 total_simulated: 18 exchanges llm_calls: 1

---

Protocol Symbols

协议符号

SymbolMeaning
DEBATE
Invoke this skill
MOTION
Propose for vote
SECOND
Support a motion
REBUTTAL
Counter an argument
VERDICT
Final decision
ADVERSARIAL-COMMITTEE
The underlying pattern

符号含义
DEBATE
调用本技能
MOTION
提出动议以供表决
SECOND
附议一项动议
REBUTTAL
反驳论点
VERDICT
最终裁决
ADVERSARIAL-COMMITTEE
底层实现模式

Dovetails With

关联内容

  • ../adversarial-committee/ — The committee pattern
  • ../roberts-rules/ — Parliamentary procedure
  • ../rubric/ — Scoring criteria
  • ../evaluator/ — Independent assessment
  • ../card/ — Data flow ensembles
  • ../speed-of-light/ — Many agents, one call
  • ../soul-chat/ — Character dialogue
  • ../persona/ — Advocate personalities
  • ../../designs/mike-gallaher-ideas.md — Original methodology

"The map is not the territory. The story is not the reality. But the ensemble of stories, cross-examined, might just be useful."
  • ../adversarial-committee/ — 委员会模式
  • ../roberts-rules/ — 议会程序
  • ../rubric/ — 评分标准
  • ../evaluator/ — 独立评估
  • ../card/ — 数据流集合
  • ../speed-of-light/ — 多Agent单调用
  • ../soul-chat/ — 角色对话
  • ../persona/ — 支持者人设
  • ../../designs/mike-gallaher-ideas.md — 原始方法论

"地图不等于疆域,故事不等于现实。但经过交叉质询的多方故事集合,或许真的能为我们所用。"