import type { LLMConfig, WorkflowResult } from '../types.js'; /** 取工作流最后一个"已完成且有产出"的步骤作为最终成品。 */ export declare function finalOutput(result: WorkflowResult): string; /** 把工作流目标+输入合成"单次直接要成品"的基线 prompt(模拟用户不用 ao 的写法)。 */ export declare function buildBaselineTask(name: string, description: string | undefined, inputs: Record): string; /** 跑单次基线:一个"强助手"system + 合成任务,返回产出文本(模拟用户一句话直接要成品)。 */ export declare function runBaseline(genLlm: LLMConfig, baselineTask: string): Promise; export interface JudgeScore { scoreA: number; scoreB: number; reason: string; } /** 从 judge 回复里抽出 JSON 分数(judge 偶尔会包代码块/加解释,宽松匹配第一个 {...})。 */ export declare function parseJudge(raw: string): JudgeScore | null; /** 单向评审一次:A、B 两份产出对同一任务打分。解析失败重试一次。 */ export declare function judgeOnce(judgeLlm: LLMConfig, taskDesc: string, outA: string, outB: string): Promise; export interface CompareVerdict { multiScore: number; baseScore: number; winner: 'multi-agent' | 'baseline' | 'tie'; /** 双向盲评是否同向;false 多半是 judge 位置偏置 → 该结论可信度低。 */ consistent: boolean; reasons: string[]; } /** * 把双向两次评审聚合成结论(纯函数,便于单测)。 * j1 = (A=多智能体, B=基线),j2 = (A=基线, B=多智能体)。取平均抵消位置偏置。 */ export declare function aggregateVerdict(j1: JudgeScore, j2: JudgeScore): CompareVerdict; /** * 双向盲评对比:对 (多智能体, 基线) 正反各评一次取平均。 * judge 解析失败返回 null(调用方决定跳过/重试)。 */ export declare function compareOutputs(judgeLlm: LLMConfig, taskDesc: string, multiOutput: string, baselineOutput: string): Promise;