How it works — 信息源 → 7 维度 × 5 镜头 → N 评委独立打分 → 异议聚合 → 版本化报告
一句话:先把品牌拆成可引用的事实,再让多位评委用同一把尺子独立打分,最后由 Lead 把"共识"和"分歧"合成成版本化报告。 下面拆开讲每一步 —— 数据从哪来、怎么变成分数、怎么变成报告。
A Lead agent orchestrates parallel research sub-agents and an independent multi-judge panel, then synthesizes consensus and dissent into a versioned, replayable report.
MBA 不是"一次大模型调用总结一下品牌",而是一条由 Lead 编排、子智能体并行执行、评委独立打分的流水线。Router 先判断是首次审计(FRESH)还是已有报告的增量更新(EVOLUTION)。
flowchart TD IN["品牌名 / 主页 URL"] --> R0["Phase 0 · Router
查 report.md 是否存在 → FRESH or EVOLUTION"] R0 --> P1["Phase 1 · Discovery
Lead 起草 PRD,用户在 GATE 确认维度 / 评委"] P1 --> P2["Phase 2 · 并行采集
每个维度 1 个 sub-agent + 可选云浏览器 leg"] P2 --> RAW["_raw/ 原始材料
每条结论带引用 · 区分一手/三方 · 标注矛盾"] RAW --> P3["Phase 3 · Synthesis
Lead 合成 synthesis.md · 评委唯一输入"] P3 --> P4["Phase 4 · N 评委独立打分
5 镜头 × 1-10 分,互不可见"] P4 --> REV["reviews/ 打分卡 × N"] REV --> P5["Phase 5 · Merge
Lead 合并 → report.md + report.html"] P3 --> P5 P5 --> OUT["版本化报告
滚动 canonical + 不可变 versions/v_n"]
图 1 · 五阶段流水线。评委只读 synthesis.md 这一个中间层,既看不到 7 份原始维度文件,也看不到彼此的打分卡。
所有结论都建立在公开可访问来源上,每条 finding 在 _raw/ 里都带 URL 引用,可逐条回溯。采集分四路:
| 信息源 | 采集方式 | 覆盖什么 | 缺失时 |
|---|---|---|---|
| 开放网 sub-agent (每维度 1 个) | WebSearch 中英各 4-6 条 + WebFetch top 3 实质 URL | 官网 / 新闻 / 行业媒体 / 公开社媒 / 产品页 / 公开投诉样本 | 维度标 INCOMPLETE,合成时注明 |
| 云浏览器 leg (无影 AgentBay,可选, --quick 跳过) | 真实浏览器会话驱动 | X/Twitter · 小红书 · Bilibili · 36kr/虎嗅/钛媒体 · 应用商店等 JS 重 / 登录墙 / 反爬站 | 自动降级 web-only,报告标 N/A,不伪造 |
research skill(可选 building block) | PRD 驱动的多代理深度调研 | 某维度需要更深时复用 | 退回直接 WebSearch + WebFetch |
| 评委 perspective 资料 | 每位评委 LOAD 自己的 *-perspective,基于 80% 一手访谈/文章/播客 transcript 的 6 路调研材料 | 评委"怎么看"的世界观 / 决策启发式 / 表达 DNA | 找不到则该评委 MISSING,panel 降级 N-of-M |
N/A 而非编造;评委对自己强关联的公司 / 产品默认 --panel-drop,保留则只作"创始人自检",不计入中立横评。7 个调研维度是信息的输入面,由 sub-agent 横向采集:
5 个打分镜头是评判的尺子,由评委纵向投射 —— 评委不逐维度打分,而是从 synthesis 里抽取自己看重的信号:
5 镜头是固定坐标系 —— 所有品牌、所有评委、所有时间点同一口径,因此跨品牌可比、跨时间可比。坐在尺子后面的评委(panel)则可替换:目前有 10 套内置 panel、43 位评委 —— default(傅盛 / Jobs / 李可佳 / 吴俊东 / 张一鸣)、auto(汽车 5 人)、security-cn-global(安全 6 人)、ai-app-cn、edu-cn、vc-en、vc-cn、consumer-cn、cross-border、luxury-en,用 --panel / --industry 按品牌 / 行业切换,也可自定义。
flowchart LR S["synthesis.md
评委的唯一输入"] --> J1["评委 A · in-character"] S --> J2["评委 B · in-character"] S --> J3["评委 …N"] J1 --> M["每镜头聚合
mean 可加权 + σ 异议强度"] J2 --> M J3 --> M M --> H["异议热力图
低 σ = 共识 / 高 σ = 撕扯"] M --> L["Lead 合成
共识 / 分歧 / 杠杆地图 / 90 天行动"]
图 2 · N 位评委从同一份 synthesis 独立打分 → 每镜头聚合出均值与异议强度 σ。
DO NOT read other judges' files),防止趋同。mean(可按 weight 加权)与 σ(跨评委标准差 = 异议强度)。雷达图 / 异议热力图按 raw score 画,不被权重污染。异议是产品,不是噪声 —— 质量阈值会强制把分歧顶到台面:
| 触发条件 | Lead 必须做 |
|---|---|
| 某镜头 σ > 2.0 | 写一段专门段落,引用打分最高与最低评委的原话,不许用均值糊过去 |
| 单评委偏离镜头均值 > 2.5σ | 把该评委推理原文呈现,不平滑进均值 |
| 评委总分极差(max−min)> 8 | 在 TL;DR 直接写"这个品牌两极分化"——分歧本身就是头条 |
| 出现"私下了解 / 内部消息"等编造红旗 | 拒收该打分卡,重跑该评委(anti-fabrication 触发) |
Lead 做的是只有"全局视角"才能做的判断 —— 这部分不是任何一位评委的声音:
Where judges agree 给方向,Where judges disagree(报告最有价值的一节)给"哪里有故事"。异议热力图(5 镜头 × N 评委 + σ 列)是 HTML 报告里信息密度最高的"扫一眼"界面:读者扫 σ 列,σ 低的行是共识,σ 高的行是评委在撕 —— 再点开评委卡片看原话。
每次标准运行产出 report.md(canonical Markdown,给工具 / LLM 消费)+ report.html(自包含单文件,给人看,只引 Chart.js / Mermaid CDN,离线可读)。HTML 自上而下的可视化块:
report.md 滚动覆盖为最新版,每次 evolution 冻结一份 versions/v{n}_<date>。再次跑同一品牌走 EVOLUTION 模式 —— 只重研究 / 重打分"变了的维度",版本号 +1,于是六个月的品牌影响力演化变成一条可对比的时间线。想看真实产物?读两份已发布报告: 联想集团 · 橙仕汽车, 或读 GitHub 源码(含完整 SKILL.md 与 docs/)。