
Personalized Agent Swarms 评测规范基于 8 维度 Rubric 与 LLM-as-Judge 量化通用用户助手回复质量【免费下载链接】generative-aiSample code and notebooks for Generative AI on Google Cloud, with Gemini Enterprise Agent Platform项目地址: https://gitcode.com/GitHub_Trending/ge/generative-ai本指南面向在agents/personalized-agent-swarms项目中为**通用型用户助手 AgentGeneral-Purpose User Assistant Agent**构建自动化评测体系的开发者。文章完整继承 evaluation_rubric.md 的评分标尺、8 个评测维度、权重体系与 LLM Judge 提示词模板并结合仓库中的 eval/harness.py、test_augmented_agent.py 与 config.py 源码讲清楚如何从需要清晰、准确、有用答案的用户视角对每一轮 Agent 回复进行打分的完整方法论与落地实现。读完你将能够独立运行基于该 Rubric 的评测命令、理解每个维度的打分标准与反模式、掌握总分计算的 Accuracy 门控与加权规则并复用仓库中现成的 LLM Judge 提示词与评测 Harness。1. 评测在整个项目中的位置为什么需要一套 Rubricagents/personalized-agent-swarmsPersonalized Mini-Agent Swarms from Conversational History是一个端到端的研究型流水线它分析用户与 AI 助手的过往对话识别重复出现的意图模式自动生成专用 mini-agent微型智能体群并在运行时按需激活从而减少提示次数、通过习得的用户偏好提升输出质量。整套流水线分为四个阶段见 README.mdHarvestPhase 1模拟用户与基线助手的多轮对话采集会话历史AnalyzePhase 2LLM 分析历史提取意图模式与用户偏好生成 mini-agent 群AugmentPhase 3ADK 增强助手在运行时加载用户专属 SwarmEvaluatePhase 4用同一批场景同时驱动基线助手与增强助手量化个性化 Swarm 带来的提升。而evaluation_rubric.md正是 Phase 4 的评分基准——它是基线 8 维 Rubric与其姊妹文档 evaluation_rubric_augmented.md10 维 Rubric在基线 8 维之上追加 Personalization 与 Turn Efficiency 两个 Swarm 专属维度共同构成整个评测体系的打分工具。评测的执行逻辑落在 test_augmented_agent.py 与共享评测 Harness eval/harness.py 中。该 Rubric 的核心视角非常明确从一个需要清晰、准确、有用答案以便继续自己任务的真实用户出发由 LLM Judge 阅读每一轮 Agent 对话对每个维度打分并附简短理由。2. 评分标尺1-4 分的语义定义Rubric 采用四级评分标尺1 最差、4 最好所有维度统一使用该标尺保证跨维度可比、总分可聚合分数标签含义1Poor主动制造麻烦——错误答案、编造信息或令人困惑2Below expectations部分正确但缺少关键信息或难以跟进3Meets expectations答案正确、清晰到可执行、语气恰当4Exceeds expectations正确、结构良好、主动提供增值内容如补充相关背景、引用来源这套标尺被 eval/harness.py 中的JUDGE_MODEL、JUDGE_FALLBACK_MODELS、GOAL_REACHED_SIGNAL等常量所承载并在judge_conversation中以temperature1.0、max_output_tokens8192调用 Judge 模型输出结构化 JSON 分数eval/harness.py。注意 Judge 模型的配置集中在 config.pyJUDGE_MODEL gemini-3.1-pro-preview配额失败时自动回退到gemini-2.5-proJUDGE_FALLBACKS。3. 八个评测维度权重、打分标准与反模式Rubric 共定义 8 个维度权重分为 critical / high / medium 三档。下面按原文档逐一展开每个维度都包含用户视角的潜台词、1-4 分打分标准以及需要降分的反模式。3.1 Accuracy准确性——权重critical编造即整体判 1 分用户潜台词给我正确答案别瞎编。分数标准1包含编造的事实、幻觉来源或自信地给出错误信息2大体正确但含轻微不准确或缺乏依据的论断3事实正确在适当之处承认不确定性4事实正确且有据可依并区分既定事实与当前/演进中信息硬性规则如果 Agent 编造了来源、URL、统计数字或关键事实无论其他维度表现如何整条回复直接判 1 分。这是整个 Rubric 中唯一的一票否决维度体现宁可少说不可编造的评测底线。在 eval/harness.py 的 Judge 提示中同样写死了这一规则任何对事实、URL、API 参数或技术细节的编造 → 该维度记 1 分。3.2 Helpfulness有用性——权重high用户潜台词你到底回答我的问题没有别绕圈子。分数标准1没有回应问题或提供无关信息2部分回应但错过要点或关键细节3直接回答问题细节足以派上用场4直接回答问题并补充用户没想到要问的宝贵上下文、示例或下一步Helpfulness 衡量的是问题-答案对齐度即回复是否真正解决了用户的诉求而非机械复述。在 eval/harness.py 中4 分对应完全解决问题、1 分对应完全没抓住要点。3.3 Source Usage来源使用——权重high用户潜台词你查了资料就告诉我出处。分数标准1本应搜索问题需要当前信息却没搜或编造来源2搜了但不引用来源或引用了无关结果3在适当时使用联网搜索并说明信息来源4有效使用搜索、引用具体来源并区分搜索结果与通用知识附加规则若问题可由通用知识回答如什么是光合作用该维度记N/A不参与加权若问题需要当前信息而 Agent 未搜索则记 1-2 分。项目背景说明为保证评测公平当前版本的 test_augmented_agent.py 中基线与增强 Agent 均不带联网搜索与记忆工具基线tools[]因此该维度在实际评测中多处于 N/A 状态README 也记录了Web 搜索因与函数调用工具混用限制而被暂时移除的背景。3.4 Clarity清晰度——权重medium用户潜台词让我容易看懂。结构很重要。分数标准1令人困惑、杂乱无章或使用未解释的行话2可理解但结构差——关键信息被淹没3结构良好、易于跟进、详略得当4结构优秀标题、列表、加粗关键词并匹配用户的理解水平Clarity 关注信息的呈现方式是否降低了用户的认知负担它与 Helpfulness 的区别在于Helpfulness 看内容是否对症Clarity 看表达是否易读。3.5 Conciseness简洁性——权重medium用户潜台词别浪费我时间。说该说的别多说。分数标准1一大段文字墙、重复自己、包含无关信息2大体相关但注水——同样内容可以用一半篇幅说完3直接、可扫读——关键信息一眼可定位4紧凑且结构良好每句话都值得存在反模式降分项大段复述用户的问题冗长的免责声明或注意事项跨轮次重复同样的信息。3.6 Tone语气——权重medium用户潜台词像个体贴的人一样跟我说话别像个企业客服机器人。分数标准1机械、居高临下或不耐烦2中性但生硬——像在读操作手册3友好、专业、自然——像一位知识渊博的同事4热情而有参与感能适配用户的风格建立信任感反模式降分项以作为一个人工智能As an AI...这类疏离开场过度正式或企业腔过多含糊其辞或道歉。3.7 Multi-Part Handling多部分问题处理——权重medium仅单问题时记 N/A用户潜台词我问了两件事两件都得答。分数标准1用户明确问了多件事却只回答了一部分2提到了各部分但混为一谈或对某一部分细节不足3清晰、分开地回应所有部分4所有部分都回答得清楚、组织良好并在相关时点明各部分之间的联系该维度在对话中只有一个问题时记N/A不参与加权计算。它与 Rubric 快速参考中的典型场景多部分问题法国首都是什么那里天气怎么样直接对应——理想回答是巴黎 联网查询当前天气两者分别覆盖。3.8 Multilingual Support多语言支持——权重medium会话为英语时记 N/A用户潜台词我用西班牙语写你就用西班牙语回。分数标准1用户用其他语言提问却用英语回复2用用户语言回复但流畅度差或漏掉关键术语3用用户语言流利回复4流利使用用户语言并主动处理语言障碍问题如提示所引用的链接资源是英文的该维度在对话为英语时记N/A。4 分标准的典型表现对应快速参考表中的非英语输入用用户语言回复并提示链接来源为英语。4. 总分计算Accuracy 门控 加权平均 四舍五入到 0.5Rubric 规定了三步总分算法这也是 LLM Judge 输出overall_score的计算依据Accuracy 门控Accuracy gate若 Agent 编造了关键事实或来源无论其他维度表现如何总分为 1加权平均Weighted average对非关键轮次在所有适用维度上取平均跳过 N/A 维度取整Round四舍五入到最近的 0.5如 3.0、3.5、4.0。这一算法在 eval/harness.py 的judge_conversation中被严格落地Judge 返回 JSON 后Harness 会先剥离可能的 markdown 代码围栏再解析 JSON失败时还会用正则清理尾逗号,\s*([}\]])后二次解析最终产出scores、justifications与overall_score三个字段。此外test_augmented_agent.py 还实现了相邻分数重判机制当 Judge 给出的质量差值|quality_delta| 1.0JUDGE_RETRY_THRESHOLD时会重跑一次 Judge若两次 winner 不一致则跑第三次并按多数票majority vote确定最终胜者同时记录judge_runs与consensus字段。这一设计缓解了 LLM Judge 在接近场景下的非确定性。5. LLM Judge 提示词模板可直接复用Rubric 提供了可直接用于自动化评测的 Judge 提示词模板。使用该模板时只需将rubric段替换为上文的 8 个维度、将conversation段替换为待评测的对话You are evaluating a general-purpose AI assistant. You are judging from the perspective of a user who asked a question and wants a clear, accurate, and helpful answer. For each agent turn, score every applicable dimension from the rubric below on a 1-4 scale. Return a JSON object with: - scores: object with keys: accuracy, helpfulness, source_usage, clarity, conciseness, tone, multi_part_handling, multilingual_support. Each value is an integer 1-4, or null if N/A. - justifications: object with the same keys. Each value is a one-sentence justification string, or null if N/A. - overall_score: a float rounded to the nearest 0.5 (e.g. 3.0, 3.5, 4.0). Accuracy rule: if the agent fabricates a source, URL, statistic, or key fact, the overall_score MUST be 1.0. rubric {paste the dimensions above} /rubric conversation {the conversation to evaluate} /conversation这个模板的关键设计点是结构化输出强制 Judge 以 JSON 返回每个维度的分数与一句话理由而不是自由文本。在仓库实现中eval/harness.py 的build_judge_prompt还会额外注入test_info场景名、用户意图、用户画像、user_preferences来自swarms/{user_id}/user_style.json的偏好以及基线/增强两条完整对话日志使 Judge 能在对比语境下打分。6. 快速参考好回答长什么样What Good Looks LikeRubric 末尾提供了一张理想回答模式速查表用于在编写测试场景或人工抽检时快速对齐期望场景好回答模式事实性问题什么引起潮汐清晰解释、科学正确、深度与问题匹配时事问题今天新闻发生了什么使用联网搜索、引用来源、概括关键新闻How-to 问题怎么做酸面包分步说明、实用技巧、详略得当模糊问题讲讲 Mercury追问一句澄清你指的是行星还是元素多部分问题法国首都是什么那里天气如何两部分都回答巴黎 联网查询当前天气非英语输入用用户语言回复并提示链接来源为英文首轮回答后的追问只提供所请求的下一步细节不重复完整答案这张速查表尤其适合三种用途一是人工校验 Judge 打分是否合理二是撰写 evaluation_scenarios_user_2.json 这类评测场景的goal_definition字段三是指导 mini-agent 生成的 prompt 设计如分步说明 实用技巧正是 mini-agent ENRICHED_PROMPT 的常见骨架。7. 进阶从 8 维到 10 维——增强助手的 Swarm 专属维度evaluation_rubric.md评测的是通用基线助手当评测对象换成加载了个性化 mini-agent 群Swarm的增强助手时项目配套了 evaluation_rubric_augmented.md它完整复用基线 8 维Accuracy、Helpfulness、Source Usage、Clarity、Conciseness、Tone、Multi-Part Handling、Multilingual Support并追加两个 Swarm 专属维度评分标尺与总分算法Accuracy 门控 加权平均 四舍五入到 0.5完全一致7.1 Personalization个性化——权重high用户潜台词这回答像是为我写的还是写给随便哪个用户的该维度结合主动智能不待提问就预判需求与偏好对齐匹配已知的格式、语气、详略程度分数标准1无视已知偏好且漏掉明显的跟进需求2部分对齐——回复通用适用于任何用户3匹配大多数偏好或包含主动元素4完美对齐偏好且预判了用户的完整工作流文档给出的示例用户偏好代码示例且总需要边界情况Agent 却只给出 happy path 的文字解释 → 1 分用户偏好带行内注释的精简代码Agent 恰好给出该形式并附带边界情况与防御性建议全程无需用户开口→ 4 分。7.2 Turn Efficiency轮次效率——权重medium用户潜台词更少的来回次数里我拿到想要的东西了吗分数标准1达到同样结果所需的轮次多于基线2轮次与基线相同3比基线少 1 轮4在保持质量的前提下比基线少 2 轮及以上10 维 Rubric 的 Judge 提示模板额外提供了user_preferences来自 Swarm 元数据的用户偏好与baseline_turns基线 Agent 所需轮数两个输入块使 Judge 能在返回用户 已知偏好 基线对照的语境下评估个性化与效率。两份 Rubric 的分工在 README.md 的评测方法章节有明确记录基线 8 维用于通用回答质量Swarm 专属 2 维用于量化个性化 Swarm 是否带来可测的提升。8. 落地实操如何用这份 Rubric 跑通一次评测8.1 运行对比评测Phase 4评测入口是 test_augmented_agent.py它用模拟用户 Agent以同一句开场白分别驱动基线与增强两个 Agent用户 Agent 自主决定何时达成目标输出[GOAL_REACHED]信号或继续追问默认MAX_TURNS 6防止对话失控test_augmented_agent.py。启用 LLM-as-Judge 后Judgegemini-3.1-pro-preview回退gemini-2.5-pro会依据 evaluation_rubric_augmented.md 同时给两个 Agent 的 accuracy / helpfulness / personalization 打分并判定胜者# 使用专用评测场景文件推荐每个用户 18 个场景10 similar 8 different python test_augmented_agent.py --eval-file evaluation_scenarios_user1.json --verbose python test_augmented_agent.py --eval-file evaluation_scenarios_user2.json --judge --verbose # 校准某用户的 embedding 相似度阈值用于调整触发匹配灵敏度 python test_augmented_agent.py --calibrate-embeddings --user user_1 # 从 profiles.json 采样legacy 模式--seed 保证可复现 python test_augmented_agent.py -n 5 --seed 42 --verbose --judge常用 CLI 参数详见 test_augmented_agent.py 的 argparse 定义--eval-file FILE专用评测场景、-n N每用户采样数默认 2、--user USER_ID、--seed N默认 42、--judge/-j启用 LLM Judge、--verbose/-v展示完整对话、--baseline-only/--augmented-only、--calibrate-embeddings须配--user。评测报告输出到evaluation_output/{timestamp}_final_eval.jsoneval-file 模式或evaluation_output/{timestamp}_comparison.json采样模式。8.2 评测场景文件的结构评测场景文件如 evaluation_scenarios_user_2.json的metadata记录用户画像与场景统计18 个场景 10 similar 8 different每个场景包含categorysimilar / different、intent、expected_swarm_agent、should_trigger_swarm、goal_definition供模拟用户判断目标是否达成与opening_message。例如 user_2 的场景eval_u2_sim_001intent 为write_campaign_copy期望触发email_copywriting_and_campaigns这个 mini-agent目标是助手按标题结构给出覆盖 Hero、投资、时间线的加盟活动落地页文案。这种结构使 Judge 能在goal_definition的语境下准确判断 Helpfulness 是否达标。8.3 复用共享评测 Harnesseval/harness.py中的函数对 ADK AgentInMemoryRunner与裸 Agent 模块直接execute()都适用核心能力包括run_eval_user_turn生成模拟用户的下一句追问或返回None目标达成eval/harness.pybuild_style_hints把user_style.json转成模拟用户的行为暗示要求自然地表现出偏好但绝不直接说出eval/harness.pybuild_judge_prompt/judge_conversation组装带基线/增强双对话的 Judge 提示并容错解析 JSON 结果eval/harness.py。同一套 Harness 也被 Phase 2 的 mini-eval 验证门analyzer/swarm_generator.py复用确保Agent 生成后的验证质量与最终评测质量口径一致——这是整个项目把 Rubric 落到实处的重要设计。9. 结语一份可执行、可复用、可追溯的评测规范从 1-4 分评分标尺到 Accuracy 一票否决门控再到 8 个增强场景下 10 个带权重的维度、JSON 化的 Judge 输出与四舍五入到 0.5 的总分算法evaluation_rubric.md提供了一套以用户价值为中心、对 LLM 执行友好的 Agent 回复质量评测规范。仓库中的 eval/harness.py 与 test_augmented_agent.py 则把这份规范变成了可一键运行的对比评测工具——评测者只需准备评测场景文件并执行一条命令即可获得维度分数、总分、胜者判定与完整对话日志为个性化 Agent 是否真的更好这一问题提供可量化、可复现的答案。【免费下载链接】generative-aiSample code and notebooks for Generative AI on Google Cloud, with Gemini Enterprise Agent Platform项目地址: https://gitcode.com/GitHub_Trending/ge/generative-ai创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考