diff options
| author | YurenHao0426 <blackhao0426@gmail.com> | 2026-02-13 23:08:05 +0000 |
|---|---|---|
| committer | YurenHao0426 <blackhao0426@gmail.com> | 2026-02-13 23:08:05 +0000 |
| commit | cb59ecf3ac3b38ba883fc74bf810ae9e82e2a469 (patch) | |
| tree | d0cab16f3ddb7708528ceb3cbb126d9437aed91b /frontend/src/store | |
| parent | 2adacdbfa1d1049a0497e55f2b3ed00551bf876f (diff) | |
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 <noreply@anthropic.com>
Diffstat (limited to 'frontend/src/store')
| -rw-r--r-- | frontend/src/store/flowStore.ts | 27 |
1 files changed, 27 insertions, 0 deletions
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) |
