问题域/PD-07

质量检查

Quality Assurance

生成内容的多维自动评估、Generator-Critic 迭代循环。确保 Agent 输出质量。

子问题

1.事实核查:生成内容是否与源材料一致

2.格式检查:输出是否符合预期格式

3.一致性检查:多次生成的结果是否一致

4.评分机制:自动化质量评分

5.迭代改进:Generator-Critic 循环直到质量达标

6.分布式评估负载均衡:Ray Actor 自动负载均衡,max_concurrency 限制单 Actor 并发数

7.评估结果聚合:多次重复评估的结果如何聚合(均值、中位数、最大值)

8.基准数据版本管理:ACEBenchmark 数据集更新时如何自动检测和下载

9.评估成本预估:评估前根据任务数、重复次数、Metric 复杂度预估 API 成本

10.Actor 预热开销:Ray Actor 首次启动有延迟,如何复用 Actor 减少开销

11.跨机器评估:Ray 支持跨机器分布式,但需要共享存储(如 NFS)同步评估结果

12.Metric 依赖管理:某些 Metric 依赖其他 Metric 的结果(如先评估准确率再评估置信度)

13.评估超时控制:单个任务执行时间过长时如何超时终止并标记失败

14.职业分类 rubric 自动生成:用 LLM 为大量任务类别批量生成评估标准

15.评估模型隔离:评估用 LLM 与工作用 LLM 的 API key/模型/配额分离

16.多模态产物 token 优化:PDF 4 页合并 2×2 网格减少 vision API token 消耗

17.评分-支付硬阈值:低于阈值零支付而非线性衰减,防止低质量产物消耗经济资源

18.Critical Override 规则:缺少必需文件时强制 0-2 分,不可被其他维度高分弥补

19.YAML/结构化输出截断检测:LLM 输出被 token 限制截断后的自动识别

20.实现完成度追踪:代码生成阶段逐文件追踪实现进度直到全部完成

21.多基准 Judge Prompt 适配:不同基准的正确性标准差异大,需要专用 prompt

22.多轮推理聚合策略:Pass@K 指标族设计与轨迹压缩交叉验证

23.Judge 输出格式归一化:不同模型返回 Correct/A/yes 等多种格式需统一处理

24.评估统计维度设计:工具调用模式、token 消耗、终止原因等诊断信号采集

25.引用完整性:生成文本中的引用 ID 是否真实存在于引用库中

26.输入安全验证:上传文件的类型、大小、MIME 是否合规

27.消息历史悬空修补:AIMessage 的 tool_calls 缺少对应 ToolMessage 时的自动修复

28.并发硬截断:LLM 生成超限并行工具调用时的非 prompt 级强制限制

29.条件激活开销控制:质量检查中间件按运行时配置选择性启用避免不必要开销

30.工具完成验证:多工具调用场景下验证所有调用均已完成后再进入下一阶段

31.社区互动信号融合:将 upvotes/comments/retweets 等多平台互动指标注入 LLM 评分上下文

32.概念提取前置搜索:富化前先识别读者可能不懂的技术概念再针对性搜索

33.双语结构化输出:同一内容同时生成中英文多字段分析,字段级双语而非全文翻译

34.引用白名单验证:用搜索结果 URL 集合过滤 LLM 输出的 sources 防止幻觉引用

35.ID 去幻觉:LLM 生成的记忆 ID 大小写错误或字符偏移的自动修正

36.变更比例分段阈值:短文本与长文本需要不同的修改容忍度

37.批量 UPDATE 触发条件:少量更新直接放行 vs 批量更新需要额外验证的阈值设计

38.UPDATE 与 ADD 互斥:同一反馈中存在 UPDATE 时应丢弃 ADD 防止重复

39.LLM 驱动的错误归因:测试失败后自动判定 bug 在业务代码还是测试代码中

40.审查模式切换:同一审查流程支持全自动、人工审查+自动修正、全人工三种模式

41.全局代码摘要审查:在逐文件审查前先做跨文件的全局 bug 扫描和调用链分析

42.Pairwise 对比评估:绝对分数跨模型不可比时用相对排名消除评分标准差异

43.评估器 prompt 缓存:Anthropic 模型评估时用 cache_control ephemeral 减少重复 prompt 开销

44.Supervisor 并行度验证:验证编排 Agent 是否正确并行化了子任务数量

45.记忆语义去重:新记忆与已有记忆的语义重复/矛盾/互补判断

46.去重决策归一化:LLM 输出的决策-操作组合可能不一致,需要规则修正

47.IO 录制回放:存储层操作的录制与跨后端回放对比验证

48.向量预过滤阈值:相似度阈值过高漏检、过低增加 LLM 调用成本的平衡

49.视觉状态验证:Agent 操作后的页面视觉状态是否符合预期,无法用 DOM 断言覆盖

50.多截图轨迹评估:多步骤任务需要分析截图序列的完整执行轨迹而非仅看最终状态

51.评估模型选择偏差:不同评估 LLM 对同一截图可能给出不同判定,需要校准

52.批量评估效率:多个检查点共享同一截图时,合并为单次 LLM 调用减少开销

53.学术基准对齐:Agent 能力需要与 GAIA/WebVoyager 等标准基准对齐以量化进步

54.辩论收敛性:多轮辩论可能陷入重复论点而非深化分析,需要检测论点新颖度

55.裁判偏见:裁判 LLM 可能系统性偏向某一方(如总是偏保守),需要校准机制

56.辩论历史膨胀:多轮辩论的 history 字符串线性增长,高轮次时可能超出上下文窗口

57.检索质量独立评估:答案正确但检索文档错误时需要区分'猜对'和'真懂'

58.RL 奖励信号稳定性:单一指标的奖励信号噪声大,多维加权提供更平滑的梯度

59.条件触发评估成本控制:低质量样本跳过昂贵的 LLM 评估减少 API 开销

60.训练/验证评估模式分离:训练用加权奖励鼓励检索改进,验证用纯正确率衡量真实能力

61.多后端检查适配:同一检查在 SQLite 和 Dolt 后端的不同实现策略

62.检查顺序依赖:Lock Health 必须在 DB 打开前执行,否则产生假阳性

63.修复安全防护:validateWorkspace + safeWorkspacePath 防止路径遍历攻击

64.修复后验证闭环:--fix 执行后自动重新运行诊断,确认修复生效

65.AI 写作痕迹检测:识别 LLM 生成文本中的固定句式、AI 词汇、公式化结构等模式

66.风格保护冲突:去痕处理可能误杀刻意的写作风格特征,需要风格感知的检测策略

67.处理强度校准:不同 AI 味浓度的文本需要不同力度的处理,过度修改反而不自然

68.JSON截断自动修复:AI输出被token限制截断后的部分恢复与结构补全

69.ID类型漂移:AI返回数值型ID与系统字符串型ID的自动归一化

70.多字段输出拆分:单次AI调用无法输出30+字段时的阶段拆分与累积合并

71.校准稳定性:重复校准时防止已识别数据丢失的历史合并机制

72.模型限制自学习:从API错误中自动解析真实token限制并缓存

73.随机基线归一化:不同基准的随机猜测准确率不同,直接平均不公平

74.Tokenizer 无关评估:BPB 按 UTF-8 字节归一化,消除 vocab size 对 perplexity 的影响

75.选择题 logits 聚焦:只看选项字母对应的 logits 而非自由生成,降低评估噪声

76.ICL Prompt 对齐:多选/Schema/LM 三种任务类型的 token 序列对齐与 continuation 定位

77.RL 奖励复用:evaluate 函数同时服务评估和 RL 训练的 reward 信号

78.多后端语法编译性能差异:不同后端对同一 schema 的编译耗时差异大,需要缓存和异步编译

79.推测解码与结构化输出兼容:speculative tokens 需要多位置 bitmask + FSM rollback

80.推理模式与约束模式切换:thinking 阶段不约束、推理结束后启用约束的状态检测

81.后端特性矩阵不对齐:xgrammar 不支持 patternProperties,guidance 不支持 Mistral tokenizer,outlines 不支持 CFG

82.bitmask 批量填充并行化:大批量请求时 CPU 端 bitmask 填充成为瓶颈,需要线程池并行

83.骨架模式审核:全文过长时提取结构骨架供 LLM 判断,避免 token 浪费和误判

84.Verbatim 预检:Python 侧预过滤已存在的数据项,减少 LLM 误报

85.占位符完整性:改写过程中引用占位符丢失的检测与回退保护

86.改写后重评分:Humanizer 改写后重新评分,未达标则重试改写

87.配置驱动质量等级:StyleProfile 预设套餐统一控制所有检查的开关和参数

各项目的解法25 solutions

Signals

横向对比

维度DeerFlowVibeBlogAgentScopeClawWorkDeepCodeDeepResearchDeepTutorGPT-ResearcherHorizonLightRAGMemOSMetaGPTOpenDeepResearchOpenVikingPageIndexStagehandTradingAgentsVRAGbeadsmd2wechat-skillmoyin-creatornanochatvLLMvibe-blog
检查方式三层容错隔离 + 故障隔离矩阵可插拔 MetricBase,支持 CATEGORY 和 NUMERICAL 两种类型LLM 评估 + 职业分类专属 meta-prompt rubric,无启发式 fallback规则式四维加权评分(section存在性+结构完整性+截断检测+长度验证)LLM-as-Judge 多模型评判,按基准路由到 GPT-4o/Gemini/Qwen四层递进:Pydantic 结构验证 → 引用完整性 → 语义分类 → 精确化决策两阶段 AI 管线:Analyzer 评分筛选 → Enricher 搜索增强富化三级管道:规则去幻觉 → 变更比例硬阈值 → LLM 实体安全审判三层体系:ActionNode 节点级 + WriteCodeReview 文件级 + QaEngineer 角色级LLM-as-Judge 六维独立评估 + Section-Grader pass/fail 迭代RAGAS 四维指标 + LLM 语义去重双轨并行LLM-as-Judge 模糊匹配 + 确定性边界校验双层验证独立 LLM 视觉评估(截图 + Zod 结构化 YES/NO)双层对抗辩论:Bull/Bear 投资辩论 + Aggressive/Conservative/Neutral 风险辩论三阶段:格式标签门控 → ANLS 文本相似度 → LLM-as-Judge 语义判断三级深度:check-health(轻量)→ doctor(标准36+项)→ deep(图遍历)Prompt-as-Checker:24 种 AI 模式硬编码在 LLM 提示词中,LLM 自身执行检测四级校准器管线:JSON清洗→角色/场景/分镜/组级校准双模式评估循环:categorical 批量 logits + generative 逐题采样logits bitmask 前置约束,生成时逐 token 强制合规6 层分角色管线:段落评估→一致性→结构审核→事实核查→正则清理→AI去痕
评估维度5 状态机(PENDING/RUNNING/COMPLETED/FAILED/TIMED_OUT)多指标并行评估,每个 Task 可配置多个 Metriccompleteness(40%)+correctness(30%)+quality(20%)+domain(10%)4维:section存在性50%、YAML结构20%、末行截断15%、最小长度15%答案等价性 + 置信度评分 + 终止原因分类结构正确性 + 引用存在性 + 语义相关性(high/partial)技术深度+新颖性+影响力+社区互动信号融合评分实体一致性 + 语义相关性 + 上下文保留三维检查6 维 checklist(需求一致/逻辑正确/接口遵循/函数完整/依赖导入/方法复用)6 维:overall_quality(含 6 子维度)/relevance/structure/correctness/groundedness/completenessFaithfulness/AnswerRelevancy/ContextPrecision/ContextRecall标题-页面对应准确率(accuracy 量化打分)二元判定(YES/NO)+ 自由文本 reasoning投资方向(Buy/Sell/Hold)+ 风险水平(激进/保守/中立三角评估)三维加权:语义正确性(0.7) + 文本相似度(0.1) + 检索质量NDCG(0.2)9 大分类:Core/Data/Git/Runtime/Performance/Integration/Federation/Metadata/Maintenance5 维度:直接性/节奏/信任度/真实性/精炼度,满分 50角色分级(4级) + 场景重要性(3级) + 分镜37字段6 任务 + BPB + CORE/ChatCORE 综合指标格式合规性单维度(JSON Schema/正则/CFG/选择列表)4 维段落评分 + 6 维叙事一致 + 6 维语气统一 + 结构/Verbatim/学习目标
评估粒度节点级(核心/增强/循环差异化)Task 级,支持 n_repeat 重复评估任务级:每个 task 一次完整评估,44 个职业分类独立 rubric整体YAML计划级评分 + 文件级实现完成度追踪单问题级,3 轮独立推理后 Pass@K 聚合每个 Agent 输出独立验证,5 种 Pydantic 模型覆盖全流程单条内容级,每条独立评分+富化逐条 UPDATE 操作独立评估文件级(WriteCodeReview)+ 字段级(ActionNode key-by-key 对比)双粒度:section 级实时门控 + report 级全面评估单 sample 级评分 + dataset 级 mean_scores 聚合单问题 ask + 批量 batchAsk + 多截图序列决策级:每次交易决策经过两轮辩论审查单样本级,按 data_source 路由到不同评分函数单项检查粒度,每项独立返回 DoctorCheck 结构体文本级:整篇文章一次性检测,非逐句单角色/单场景/单分镜粒度,逐项校准单题级评估 + 任务级 accuracy + 全局 centered meantoken 级,每个 token 生成前检查 FSM 状态段落级(evaluate_section)+ 跨章节级(ThreadChecker)+ 全文级(FactCheck)
迭代机制节点重试 + recursion_limit无内置迭代,评估结果可通过 tuner 模块接入 RL 训练无迭代:一次性评估出分,不支持 Generator-Critic 循环3次自适应重试(token递减×0.9/0.8 + temperature递减0.15/次)无 Generator-Critic 循环,纯后评估tenacity 指数退避重试(默认 2 次),无 Generator-Critic 循环无迭代,单次评分即终态,靠阈值硬过滤无迭代,单次三级管道过滤LGTM/LBTM 二值判定循环,code_validate_k_times 可配置(默认 2)section_grader fail 时生成 follow-up queries 触发新搜索轮次无迭代循环,单次评估出分Braintrust trialCount 多次试验取结果可配置轮次的多轮辩论,count 计数器控制终止无迭代,单次评估直接出分(RL 训练循环本身是迭代)修复后自动重新运行诊断,验证修复生效无内置迭代,单次处理后输出评分供人工判断无 Generator-Critic 循环,单次校准+容错降级无迭代,单次评估出结果无需迭代,单次生成即 100% 合规双循环:段落 Critic Loop(max 2轮+收敛检测) + 审核-修订 Loop(max 1~5轮)
并发策略SubagentLimitMiddleware 硬截断,钳位 [2,4]Ray Actor 模型,max_concurrency 限制并发数串行评估:每个 task 独立调用 GPT-4o,无批量合并单次串行评估,无并行质量检查ThreadPoolExecutor(100) + threading.local 线程安全 ClientResearch CitationManager 用 asyncio.Lock 保护并行 ID 分配批内串行逐条分析,批间无并发三层 ThreadPoolExecutor 并行(3/10/10)串行逐文件审查,QaEngineer 逐文件写测试+运行LangSmith evaluate max_concurrency=10 并行评估RAGAS max_workers=16 + batch_size=10 并行评估asyncio.gather 并发验证与并发修复,任务间完全独立Braintrust maxConcurrency 控制并行数辩论层串行轮转,数据分析师层可并行ThreadPoolExecutor 10 线程并行调用 Judge API独立检查可并行,但 Lock Health 必须在 DB 打开前执行(顺序依赖)runStaggered并发+用户可配置concurrencytorchrun stride 分配 + all_reduce 聚合ThreadPoolExecutor 异步编译 + 大批量并行 bitmask 填充ThreadChecker+VoiceChecker 并行;Humanizer 多线程并行处理各章节
基准集成内置 ACEBenchmark,支持多步骤工具调用任务gdpval 数据集:44 职业 × 5 任务 = 220 个标准化评估任务GAIA/BrowseComp/WebWalker/XBench/HLE 五基准全覆盖Deep Research Bench 自建基准 + LangSmith 实验追踪 + JSONL 导出直接集成 RAGAS 学术框架,指标可与论文对比GAIA/WebVoyager/Mind2Web/WebTailBench 四大学术基准支持 slidevqa_test/mmlongdoc/vidoseek 等多基准数据源路由DCLM CORE + ARC/MMLU/GSM8K/HumanEval/SpellingBee
反馈机制logger.warning 日志 + 合成 error ToolMessage评估结果 → Trinity-RFT → RL 奖励信号结构化反馈:维度分数 + KEY FINDINGS + TOP IMPROVEMENTSPlanReviewPlugin人工审查3轮修改 + 超时自动通过无实时反馈,评估结果写入 scored.jsonl 供离线分析Pydantic ValidationError 格式化为可读错误信息,驱动重试score+reason+summary+tags 四字段结构化反馈UPDATE_APPROVED / INVALID / NONE 三态判定结构化 Actions 列表 + 具体修复代码片段,LBTM 时自动触发重写结构化 Feedback(grade + follow_up_queries) + 评估器 reasoning 字段EvalResult.feedback 字段 + 控制台报告 + JSON 导出accuracy 阈值分级决策:1.0 通过 / >0.6 修复 / ≤0.6 降级重生成reasoning 字段提供评估理由辩论者 prompt 注入对方最新论点,强制直接回应二值 Judge(True/False),无结构化改进建议三态结果(ok/warning/error)+ Detail + Fix 字段结构化修改记录 Change[],含类型/原文/修改后/原因无结构化反馈,校准失败返回统计降级结果Report 分段日志 + CSV 输出 + 最终 Markdown 汇总无反馈循环,约束在 logits 层面直接执行结构化 JSON:specific_issues + improvement_suggestions + severity 分级
配置驱动is_plan_mode/subagent_enabled/supports_vision 三开关条件激活Metric 通过 Task.metrics 列表配置,支持任务级定制JSON rubric 驱动:44 个独立 JSON 文件,GPT-5.2 自动生成dataset 参数驱动 judge_model + judge_prompt 自动路由FilteringConfig 控制 ai_score_threshold 和 time_window_hoursMemFeedbackConfig Pydantic 模型驱动 LLM/Embedder/GraphDBRagasConfig 环境变量 + dedup_decision.yaml Prompt 模板evals.config.json 定义任务+类别,CLI 参数覆盖YAML 配置 Judge URL/Key/模型名/并发数,支持切换本地模型feature-router按功能类型路由模型+model-registry查表YAML 任务配置 + CSV 随机基线 + CLI 参数StructuredOutputsConfig 统一配置后端/whitespace/additionalPropertiesStyleProfile 统一管理 + 环境变量双开关,mini/short/medium/long 4 档预设
多后端支持存储层抽象 EvaluatorStorageBase,支持文件/数据库等后端单后端:仅 OpenAI API(支持独立 EVALUATION_API_KEY 隔离)litellm + OpenAI SDK 双后端,支持 Qwen/GPT-4o/Gemini4 提供商工厂模式(Anthropic/OpenAI/Gemini/Doubao)14+ LLM 供应商通过 LLMProvider 统一适配SQLite/Dolt 双后端检查,部分检查仅适用于 Dolt(如深度验证)Prompt 驱动,适配任何 LLM 后端多模型轮询+API Key轮转+Error-Driven Discovery自学习HuggingFace + nanochat 原生双模型加载4 后端策略模式(xgrammar/guidance/outlines/lm-format-enforcer)
断点续传双重缓存检查(任务结果 + 评估结果),自动跳过已完成任务
可观测性集成OpenTelemetry trace + baggage 传递 task_id,自动关联分布式调用
统计信息收集_InMemoryExporter 收集 token 消耗和调用次数,存入 solution_stats
Actor 生命周期RaySolutionActor 持久化,RayEvaluationActor 按需创建
评估与执行分离RaySolutionActor 执行任务,RayEvaluationActor 异步评估
基准数据管理ACEBenchmark 自动下载数据集,支持 ground_truth 和 mile_stone
工具隔离Task.metadata['tools'] 传递任务级工具函数,避免全局污染
自动修复DanglingToolCallMiddleware 自动注入合成 ToolMessage 修补历史无自动修复:评估结果仅用于支付决策,不触发重做无自动修复,仅通过参数调整引导LLM重新生成fix_invalid_citations() 自动移除无效引用 IDdifflib 自动修正幻觉 ID(cutoff=0.8)三级自动修复:ActionNode auto_revise + WriteCodeReview rewrite + DebugError 重写测试fail 时自动补充搜索并重写 section,非直接修改无自动修复,去重决策直接执行 merge/delete范围缩窄定向修复 + 修复后即验证,最多 3 轮重试无自动修复,selfHeal 仅在 Agent 执行层无自动修复,裁判做最终裁决而非要求辩论者修改四种模式:--fix(自动)/ -i(逐项确认)/ --dry-run(预览)/ --yes(无确认)检测与修复一体:LLM 同时识别问题并重写JSON截断自动修复 + ID类型归一化 + transitions长度修正预防式,不存在修复概念——不合规 token 概率被置零FactCheck string.replace 修复矛盾 Claim + Humanizer diff 替换 AI 痕迹
覆盖范围消息格式完整性 + 子代理并发 + Plan 模式任务追踪44 个职业类别全覆盖,每类含 checklist + failure modes计划生成阶段(YAML完整性)+ 实现阶段(文件完成度)Investigate/Note/Reflect/Plan/Solve 五类输出 + 引用 + 配置 + 文件上传5 源全量内容(GitHub/HN/RSS/Reddit/Telegram)仅覆盖记忆 UPDATE 操作,ADD 不做二次审判全生命周期:PRD 审查 → API 设计审查 → 代码审查 → 测试生成 → 测试执行 → Debug研究深度/源质量/分析严谨性/实用价值/平衡客观/写作质量/相关性/结构/正确性/事实依据/完整性RAG 检索质量 + 记忆库去重 + IO 层回放验证TOC 提取完整性 + 转换完整性 + 页码映射准确性 + 物理边界合法性130+ 任务 × 11 类别 × 多模型矩阵交易决策全流程:数据采集→投资辩论→交易方案→风险辩论→最终审批36+ 项检查,覆盖安装/版本/Schema/依赖/重复/污染/Git/联邦/性能AI 写作痕迹专项:5 大类 24 种模式角色+场景+分镜+组级叙事,全链路校准仅覆盖输出格式,不检查语义正确性结构完整性+Verbatim+学习目标+事实+叙事一致+语气统一+AI痕迹+正则格式
降级路径截断多余调用而非拒绝整个响应无降级:LLM 评估失败直接 raise,明确移除 heuristic fallback3次重试失败后使用最后结果,超时自动批准计划Judge 调用失败返回 Error 标记,不影响其他条目评估RelevanceAnalyzer 失败返回默认 partial;safe_parse 返回默认值分析失败自动赋 score=0 + reason='Analysis failed'嵌入失败降级全零向量,JSON 解析失败用正则兜底k 次迭代耗尽后返回最后一版代码,test_round 超限后强制停止返回当前测试文件迭代达 max_search_depth 时强制通过,with_retry 3 次结构化输出LLM 不可用时去重默认 CREATE,RAGAS 缺包时 ImportError三级渐进降级:有页码TOC → 无页码TOC → 无TOC全文扫描LLM 解析失败返回 INVALID 而非抛异常无显式降级,辩论轮次可配置为 0 跳过辩论格式不通过→0分跳过;ANLS=0→跳过LLM;重试20次耗尽→0分检查失败不阻塞后续检查,最终聚合 OverallOK 状态三层降级:结构化解析→纯文本提取→返回原文AI失败→统计降级(角色按出场分级/场景按频次排序)auto 模式三级降级:xgrammar → guidance → outlines每个 Agent 异常返回默认通过,增强节点失败不阻塞核心流程
人机协作TodoListMiddleware 提供任务可见性,ClarificationMiddleware 拦截澄清全自动:无人工审查环节,评分直接决定支付ReviewMode(HUMAN/AUTO) + ReviseMode(HUMAN/HUMAN_REVIEW/AUTO) 三种模式灵活切换无人工介入点,全自动辩论裁决检查只读,修复需确认(除非 --yes),修复后自动验证三级强度可调(gentle/medium/aggressive),人工选择处理力度自定义审核标准注入(guidelines);StyleProfile 预设套餐按需选择
视觉验证多模态原生:图片 base64 + PPTX/PDF 转 PNG + vision API 评估截图 Base64 编码 + LLM 多模态理解
安全防护_clamp_subagent_limit 参数钳位防止极端配置值文件大小限制 2MB + 空文件拒绝 + 二进制文件类型检查防幻觉指令:无对方论点时不要编造fix 包的 validateWorkspace + safeWorkspacePath 防止路径遍历和误操作进程隔离 + reliability_guard 禁用危险函数参数互斥校验 + JSON Schema 特性兼容性预检 + 正则语法预验证
经济支付耦合评分 ≥ 0.6 才支付,低于阈值零支付,四级生存状态追踪
评估模型隔离独立 API key/base URL/model,评估与工作 LLM 完全分离Judge 模型与 Worker 模型完全独立,API key 分离无隔离,评分和富化共用同一 AI 客户端实例评估固定 GPT-4.1,裁判用 Claude Opus 4,与生成模型完全分离RAGAS_LLM_* 独立环境变量与工作 LLM 分离qwen-max(DashScope API)做 Judge,与训练模型完全分离无隔离,评估用同一模型
决策归一化is_correct_judgement 统一处理 Correct/A/yes 等多种格式UPDATE 优先于 ADD,同一反馈中两者互斥分数统一归一化到 0-1(原始 1-5 分 / 5),groundedness 用 ratio6 条硬约束规则防止 LLM 输出不一致centered accuracy 消除随机基线差异
引用完整性available_urls 白名单验证,过滤 LLM 幻觉引用
社区信号融合engagement_items 收集 8 类互动指标注入评分 prompt
双语输出富化阶段 6 字段均生成 _en/_zh 双语版本
概念提取前置富化前先用 LLM 识别需解释的技术概念再搜索
记忆驱动改进用户反馈直接驱动记忆 ADD/UPDATE/ARCHIVE 闭环去重决策反哺记忆库质量,merge 保留非冲突信息BM25 检索历史相似情境教训,注入辩论者和裁判 prompt
记忆语义去重ADD 操作文本去重 + 向量检索阈值 0.2 预过滤
错误归因RunCode 用 LLM 判定 bug 归属(Engineer/QaEngineer),自动路由给对应角色事后反思机制:Reflector 分析每个角色的决策正确性并归因每个 DoctorCheck 包含 Detail 字段,精确定位问题(如 bd-1→bd-999 孤儿依赖)
检索质量评估groundedness 评估器逐条提取 claims 对比 raw_notes 搜索笔记NDCG 独立评估检索文档排序质量,区分'猜对'和'真懂'
录制回放验证IORecorder JSONL 录制 + IOPlayback 跨后端回放对比
风格保护PreserveStyle 标志 + 风格名注入,避免去痕破坏刻意风格Humanizer 占位符完整性验证 + 字数变化 ±10% 告警 + 改写后重评分重试
阶段拆分防截断30+字段拆为5阶段独立AI调用,累积合并
双重token约束input budget + output budget同时限制,60K Hard Cap
历史合并防丢失previousCharacters参数合并上次校准丢失的角色
约束类型丰富度6 种约束类型:JSON Schema/JSON Object/正则/CFG/选择列表/Structural Tag
推测解码兼容bitmask 支持多 speculative token 位置 + FSM rollback
推理模式感知ReasoningParser 检测 thinking 阶段,推理中跳过约束

最佳实践

1.Generator 和 Critic 必须分离:同一 Agent 自评效果差,对抗性协作才能提升质量

2.多维评估优于单一分数:accuracy/expression/professionalism 分维度评分,定位问题更精准

3.三重终止条件防浪费:分数达标 OR 改进收敛 OR 轮次上限,任一满足即停止

4.结构化反馈可执行:specific_issues + improvement_suggestions,不是模糊的"改好一点"

5.故障隔离矩阵:核心节点重试、增强节点跳过,按重要性差异化处理

6.段落级粒度优于全文级:逐段评估和改进比全文一个分数更精准

7.评估与执行分离:RaySolutionActor 和 RayEvaluationActor 分离,评估不阻塞任务执行

8.双重缓存检查:任务结果和评估结果分别缓存,最大化断点续传效率

9.OpenTelemetry baggage 传递上下文:用 baggage 传递 task_id/repeat_id,自动关联分布式 trace

10.Metric 类型枚举:CATEGORY/NUMERICAL 枚举强制类型检查,前端可根据类型选择可视化方式

11.基准数据自动下载:ACEBenchmark 首次使用时自动下载数据集,无需手动准备

12.任务级工具隔离:Task.metadata['tools'] 传递任务级工具函数,避免全局工具注册表污染

13.Actor 持久化复用:RaySolutionActor 持久化,多个任务复用同一 Actor 减少启动开销

14.评估 API 与工作 API 隔离:独立 key/base URL/model 防止配额竞争和自评偏差

15.宁可失败也不误判:移除所有 heuristic fallback,LLM 评估失败直接报错而非给默认分

16.用 LLM 生成 LLM 评估标准:GPT-5.2 批量生成 44 个职业 rubric,比人工编写更一致

17.多模态产物合并传输:PDF 4 页拼 2×2 网格,PPTX 逐页转 PNG,平衡评估精度与 token 成本

18.Token 减少优于增加:重试时减少 output token 为 input 留空间,而非盲目增加导致溢出

19.渐进式参数衰减:token 和 temperature 逐步收紧(×0.9→×0.8,-0.15/次),避免一步到位的剧烈变化

20.JSON Schema strict mode 约束 Judge 输出:消除格式解析失败,比正则提取可靠

21.threading.local 线程安全 Client:高并发评估时避免连接池冲突

22.轨迹压缩后再聚合优于直接投票:ParallelMuse 先压缩为报告再交叉验证,比简单多数投票更可靠

23.评估统计应区分正确/错误回答的行为差异:工具调用模式差异是重要的诊断信号

24.Pydantic 模型验证优于手动 dict 检查:类型安全、错误信息自动格式化、支持嵌套验证

25.分类优于拒绝:RelevanceAnalyzer 标注 high/partial 而非 pass/fail,保留所有内容价值

26.两阶段精确化节省资源:先判断是否需要精确回答,避免对所有问题统一精确化

27.中间件位置即语义:before_model 修补输入质量,after_model 约束输出质量,钩子选择决定检查时机

28.参数钳位防御极端值:并发限制等数值参数用 clamp 函数限制在安全范围,不信任调用方

29.修补优于拒绝:损坏的消息历史注入合成错误响应而非截断,保留上下文连续性

30.幂等性保证:修补逻辑通过 Set 追踪已处理 ID,重复执行不产生副作用

31.评分与富化资源分级投入:低分内容只花评分成本,高分内容才投入搜索+二次 LLM 调用

32.JSON 解析 fallback 链:直接解析 → markdown 代码块提取 → 通用代码块提取,三级容错

33.评分 rubric 写入 system prompt:5 级标准+考量维度固化在 prompt 中减少评分漂移

34.规则检查前置 LLM 审判后置:difflib + Jaccard 零成本过滤后再调用 LLM,节省 API 开销

35.三级 ID 匹配递进:精确→大小写→模糊,cutoff=0.8 平衡召回与精度

36.批量阈值触发:UPDATE < 5 条直接放行,≥5 条才启动 LLM 审判,避免小批量过度验证

37.LGTM/LBTM 二值判定优于模糊评分:强制 LLM 做出明确的通过/不通过决策,避免中间态

38.审查时注入设计文档作为对照基准:不是孤立看代码,而是对照 System Design + Task 检查一致性

39.将审查流程工具化注册:通过 @register_tool 让其他 Agent 可按需调用审查能力,实现审查即服务

40.评估模型固定版本:评估模型锁定具体版本(如 gpt-4.1)保证跨实验一致性,不随生成模型变化

41.Pairwise 随机顺序消除位置偏差:evaluate_comparative 设置 randomize_order=True 防止裁判偏向先出现的答案

42.Groundedness 用 claim-level ratio 而非整体分数:逐条提取声明并判断有据性,比整体 1-5 分更精准可解释

43.向量预过滤+LLM精判两阶段:先低成本筛选候选再高精度判断,平衡成本与准确度

44.非破坏性默认策略:LLM 失败或冲突时默认保留数据(CREATE),宁可多存不误删

45.决策归一化硬规则:用代码规则修正 LLM 输出的逻辑不一致,不完全信任 LLM 结构化输出

46.评估 LLM 配置独立:RAGAS 评估用独立的 API key/model 配置,避免与工作 LLM 互相影响

47.评估 LLM 与 Agent LLM 必须不同供应商:Stagehand 默认用 Gemini 评估其他模型的 Agent,避免同族偏差

48.截图延迟保护:评估前等待 250ms 确保页面渲染完成,避免评估中间状态

49.INVALID 降级而非异常:LLM 结构化输出解析失败时返回 INVALID 状态而非抛异常,保证评估流程不中断

50.矩阵式覆盖验证一致性:task × model × trial 三维组合暴露跨模型行为差异

51.三角对抗打破僵局:二元对立容易陷入拉锯,引入第三方中立视角可打破平衡

52.裁判用强模型、辩论者用快模型:质量关键点投入更多推理资源,辩论产出用轻量模型控制成本

53.事后反思闭环:交易结果出来后对每个角色独立反思,教训写入记忆供未来检索,形成持续改进循环

54.格式门控前置于语义评估:先检查输出格式合规再做昂贵的 LLM 调用,不合格直接零分

55.检索质量纳入奖励信号:NDCG 独立评估检索排序,防止模型学会绕过检索直接猜答案

56.条件触发 LLM 评估:本地评分为零的样本跳过远程 Judge,节省 70%+ API 调用

57.训练与验证用不同评估策略:训练用多维加权引导行为,验证用纯正确率衡量效果

58.检查-修复分离:检查是只读的(doctor/ 包),修复是写操作(doctor/fix/ 包),权限模型清晰

59.三态结果模型:ok/warning/error 三级状态,warning 不阻塞但需关注,error 必须修复

60.分类聚合展示:36+ 项检查按 9 大分类展示,避免信息过载

61.SQL 层聚合优化:重复检测用 GROUP BY HAVING COUNT(*) > 1 在 SQL 层聚合,避免 O(n²) 内存比较

62.修复事务原子性:fix 函数使用显式事务(tx.Begin/Commit),确保修复操作原子性

63.Prompt-as-Checker 模式:将检测规则编码在提示词中,利用 LLM 自身的语言理解能力做模式识别,比规则引擎覆盖率高

64.检测与修复一体化:同一次 LLM 调用同时完成识别和重写,避免两次调用的上下文割裂

65.三层降级解析保底:结构化→纯文本→原文,确保任何情况下不丢失用户内容

66.校准器只丰富属性不改变结构:补充美术设计但不增删合并场景,保护上下游ID关联

67.双重token约束分批:同时限制input和output budget,防止output截断这一隐蔽问题

68.60K Hard Cap防Lost-in-the-Middle:无论模型声称多大上下文,单批不超60K token

69.截断JSON部分恢复:找到最后一个完整对象边界,补全结构后解析部分结果

70.Centered accuracy 归一化后再平均:消除选择题高基线对综合指标的稀释

71.评估模式由 Task 声明而非外部指定:eval_type 属性让评估循环自动路由

72.字母 token 缓存避免重复 tokenize:高频操作的微优化在大规模评估中显著

73.确定性 shuffle 保证可复现:固定种子 Random(1337) 确保子采样结果一致

74.约束前移优于后验校验:在 logits 层面强制合规比生成后重试更高效且保证收敛

75.后端自动降级链:auto 模式按能力递减顺序尝试,用户无需了解后端差异

76.语法编译异步化:ThreadPoolExecutor 异步编译不阻塞调度器,Future 轮询超时 100μs

77.延迟初始化后端:首次结构化输出请求时才创建后端实例,不使用时零开销

78.骨架模式审核节省 token:提取子标题+字数而非全文传给 Reviewer LLM

79.Python 侧预检减少 LLM 误报:Verbatim 数据先在代码层过滤已存在项

80.diff 替换优于全文重写:Humanizer 输出 old→new 替换列表而非重写全文,保持上下文稳定

81.占位符完整性验证:改写后检查 {source_NNN} 是否丢失,丢失则回退原文

82.环境变量 AND StyleProfile 双开关:运维全局控制 + 产品按套餐控制,两者 AND 才启用