From cb59ecf3ac3b38ba883fc74bf810ae9e82e2a469 Mon Sep 17 00:00:00 2001 From: YurenHao0426 Date: Fri, 13 Feb 2026 23:08:05 +0000 Subject: Add LLM Debate mode for multi-round iterative model discussions Implements a debate feature alongside Council mode where 2-6 models engage in multi-round discussions with configurable judge modes (external judge, self-convergence, display-only), debate formats (free discussion, structured opposition, iterative improvement, custom), and early termination conditions. Co-Authored-By: Claude Opus 4.6 --- frontend/src/store/flowStore.ts | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'frontend/src/store/flowStore.ts') diff --git a/frontend/src/store/flowStore.ts b/frontend/src/store/flowStore.ts index f31720e..c1c8b99 100644 --- a/frontend/src/store/flowStore.ts +++ b/frontend/src/store/flowStore.ts @@ -91,6 +91,23 @@ export interface CouncilData { stage3: { model: string; response: string } | null; } +export interface DebateRound { + round: number; + responses: Array<{ model: string; response: string }>; + judgeDecision?: { continue: boolean; reasoning: string }; + converged?: boolean; +} + +export interface DebateData { + rounds: DebateRound[]; + finalVerdict: { model: string; response: string } | null; + config: { + judgeMode: 'external_judge' | 'self_convergence' | 'display_only'; + format: 'free_discussion' | 'structured_opposition' | 'iterative_improvement' | 'custom'; + maxRounds: number; + }; +} + export interface NodeData { label: string; model: string; @@ -110,6 +127,16 @@ export interface NodeData { chairmanModel?: CouncilMemberConfig; councilData?: CouncilData; + // Debate mode + debateMode?: boolean; + debateModels?: CouncilMemberConfig[]; + judgeModel?: CouncilMemberConfig; + debateJudgeMode?: 'external_judge' | 'self_convergence' | 'display_only'; + debateFormat?: 'free_discussion' | 'structured_opposition' | 'iterative_improvement' | 'custom'; + debateCustomPrompt?: string; + debateMaxRounds?: number; + debateData?: DebateData; + // Traces logic traces: Trace[]; // INCOMING Traces outgoingTraces: Trace[]; // ALL Outgoing (inherited + self + forks + merged) -- cgit v1.2.3