多智能体并行调研 + 五人评委打分,把"品牌影响力是怎么搭起来的"拆成可量化、可演化、可复盘的版本化报告。
/mba 文件夹下的核心 skill 名为 Metric Brand Auditor(MBA)—— 一条由 Lead 编排、子 agent 并行执行、人物评委 panel 独立打分的品牌影响力审计流水线。默认 panel 是 5 位评委,行业 panel 可替换或扩展。整个仓库就是这条流水线的源代码 + 角色资料 + 历史报告。
| 角色 | 成员 |
|---|---|
| 💡 创意 / Ideation | Jason |
| 🛠 实现 / Implementation | 清风 |
| 🧭 顾问 / Advisor | John |
🤖 协作 AI:Claude Opus 4.7(Anthropic)
网站 mbabrand.com
样例报告 Lenovo 0992.HK · PDF · BotLearn 一键安装
黑客松 5 分钟 Pitch 稿 · Markdown · HTML
传统"品牌分析报告"有三个老问题:
- 单线程单视角 —— 一个人看一切,容易陷入自家叙事或调研者偏好。
- 不可复盘 —— 报告是一次性的,六个月后再看不知道哪些结论已变。
- 打分主观、口径漂移 —— 没有固定维度和评委,跨品牌不可比,跨时间不可比。
MBA 用三个核心机制对应这三个问题:
| 老问题 | MBA 的应对 |
|---|---|
| 单线程单视角 | N 路并行 sub-agent 各调研一个维度 + 人物评委 panel 用各自世界观独立打分,Lead 只做合成 |
| 不可复盘 | 版本化目录(reports/<brand>/versions/v1_*.md/.html),每次 evolution 写新版本,canonical report.md 滚动更新 |
| 打分漂移 | 固定 5 镜头 × 7 维度(见下文),所有品牌、所有评委、所有时间点同口径打分 |
第二条 evolution 机制特别重要:Lead 在 Phase 0 路由器里会先看目标品牌的 report.md 是否存在 —— 存在就走 EVOLUTION 模式(只研究变了的维度、只重判变了的维度),不存在才走 FRESH 模式跑全流程。这让 MBA 能持续追踪一个品牌而不是只评一次。
仓库分四层,每一层对应流水线的一个阶段。
mba/
├── metric-brand-auditor/ ← 编排层:整个流水线的主 SKILL
│ ├── SKILL.md Lead 的工作手册:Phase 0 路由 → Phase 1-5 全流程
│ ├── references/ 复用的子模块
│ │ ├── dimensions.md 7 个默认维度的提示词模板(创始叙事/产品定位/分发/社区/视觉/竞品/情绪)
│ │ ├── judge-prompt-template.md 喂给评委的统一打分模板(5 镜头 × 1-10 分),judge 列表从 panel 读取
│ │ ├── wuying-browser.md 云浏览器 leg 的开会话/驱动/拆除规范
│ │ └── html-report-template.md 最终 HTML 报告的脚手架(Chart.js + Mermaid + Legal/IP)
│ ├── panels/ ← 评委编组层:命名 panel 的 yaml 配置
│ │ ├── default.yaml 默认上场阵容:傅盛 / Jobs / 李可佳 / 吴俊东 / 张一鸣
│ │ ├── tech-cn.yaml 示例:全中文科技评委
│ │ ├── vc-en.yaml 示例:英文 VC / 增长向评委
│ │ └── README.md panel yaml 字段说明 + 怎么写一个新 panel
│ └── reports/<brand-slug>/ 每个品牌一个文件夹(运行 /mba <brand> 后生成)
│ ├── report.md 当前 canonical 报告(滚动覆盖)
│ ├── report.html 自包含 HTML 报告(雷达图 + 异议热力图 + 影响力构造图 + 法律声明)
│ ├── panel.yaml 这个品牌锁定了哪一套 panel(首次运行写入,evolution 默认沿用)
│ ├── versions/v{n}_{date}.{md,html} 每次 evolution 的不可变快照
│ ├── _raw/ 过程文件:每个维度子 agent 的原始输出 + 云浏览器日志 + Lead 合成
│ └── reviews/ 评委独立打分卡(每位 judge-slug 一个 .md)
│
├── research/ ← 工具层:复用的"PRD 多代理深度调研" skill
│ └── SKILL.md MBA 内部当作搜索建块,自身也可独立 `/research` 调用
│
├── *-perspective/ ← 评委层:production 人物视角 skill
│ ├── fusheng-perspective/ 傅盛(猎豹/OpenClaw)
│ ├── jobs-perspective/ Steve Jobs
│ ├── likejia-perspective/ 李可佳(BotLearn/Aibrary)
│ ├── wu-jundong-perspective/ 吴俊东(Aibrary 联创、前 TAL 战投)
│ ├── zhang-yiming-perspective/ 张一鸣(字节跳动)
│ ├── leijun-perspective/ 雷军(小米)
│ ├── musk-perspective/ Elon Musk(Tesla / SpaceX)
│ ├── lixiang-perspective/ 李想(理想汽车)
│ ├── hexiaopeng-perspective/ 何小鹏(小鹏汽车)
│ └── libin-perspective/ 李斌(蔚来)
│ 每套 = 1 份 SKILL.md(含人格化触发规则、表达 DNA、anti-fabrication 约束)
│ + references/research/01-06.md(80% 一手来源的 6 路调研材料)
│ + 共享工具见 scripts/perspective-tools/
│
├── scripts/
│ ├── perspective-tools/ ← 字幕下载、研究合并、质量检查等 perspective 共用工具
│ └── wuying/ ← 阿里云无影 AgentBay helper + smoke test
├── assets/judges/ ← 评委插画头像
├── published/reports/ ← 已确认可公开发布的报告源
└── .env.example / .env WUYING_API_KEY 配置
Phase 0 Router Lead 检查 reports/<brand>/report.md 是否存在
→ 存在 + 没传 --refresh ⇒ EVOLUTION 模式
→ 否则 ⇒ FRESH 模式
│
Phase 1 Discovery Lead 起草 PRD(品牌一句话定位 / 7 默认维度 / 评委名单 / 是否走云浏览器)
│ GATE 1:用户确认或调整维度
│
Phase 2 Parallel Search 一条消息派发 N 个 general-purpose sub-agent(每维度 1 个,最多 5 个/批)
│ + 1 个 wuying 云浏览器 sub-agent(--quick 时跳过)
│ 每个 agent 把原始输出写到 _raw/dimension_n_*.md / wuying_browse.md
│
Phase 3 Synthesis Lead 读完所有 _raw/,产出 _raw/synthesis.md
│ (执行摘要 / 杠杆地图 / 脆弱边缘 / 跨维度矛盾 / 引用索引)
│
Phase 4 N-Judge Panel Lead 读取 panel.yaml (品牌已绑定 / CLI 覆盖 / 默认 default)
│ 并行派发 panel 里列出的 N 个评委 agent,每人 LOAD 自己的 perspective skill
│ 在 5 镜头(原创性 / 范畴命名 / 杠杆质量 / 身份一致性 / 真实信号)上各打 1-10 分
│ + 一句人格化金句 + 关键缺口 + 行动建议
│ 独立打分,互不可见,落到 reviews/<judge>.md
│
Phase 5 Lead Merge Lead 合并 synthesis + 5 份 reviews,产出:
• report.md(canonical Markdown)
• report.html(自包含 HTML,Chart.js 雷达 + 异议热力图 + Mermaid 影响力流程图 + Legal/IP/Disclaimer)
• versions/v{n}_<date>.{md,html}(冻结快照)
EVOLUTION 模式跳过 Phase 1 起草,改为 Phase 1E diff plan:列出"自上版以来可能变了什么",只重跑变了的维度 + 让评委只在受影响维度上重打分,然后 Phase 5 把版本号 +1 写新快照。
7 个调研维度(子 agent 跑的横向)
| # | 维度 | 关键问题 |
|---|---|---|
| 1 | 创始 & 起源叙事 | 谁讲的故事 / 创世神话省略了什么 / 一手 vs PR 复用 |
| 2 | 产品 & 定位 | 一句话定位 / 新品类宣称 / 主动比较与回避比较 |
| 3 | 分发 & 渠道 | 在哪里第一次被看到 / 自有 vs earned vs paid |
| 4 | 社区 & PR | 谁在站台 / 谁在攻击 / 各自利益 |
| 5 | 视觉 & 语言 | 命名 / slogan / 元符号(如 OpenClaw 的 🦞 ) |
| 6 | 竞品 & 格局 | 谁让出地盘 / 谁借用了它的语言 |
| 7 | 接收 & 情绪 | 搜索趋势 / 增长 / 媒体口径 |
5 个打分镜头(评委做的纵向)
- 原创性(Origin authenticity)—— 创始人/公司叙事是否站得住
- 范畴命名(Category coinage)—— 是否真的命名了一个新东西、且粘住了
- 杠杆质量(Leverage quality)—— 主导影响力渠道是否结构性可持续
- 身份一致性(Identity coherence)—— 视觉/语言/产品是否传递同一种感觉
- 真实信号(Real-world signal)—— 评委自己愿意为之下注的程度
7 维度 × 5 镜头不是矩阵相乘 —— 维度是"调研的输入",镜头是"评委的尺子",二者通过 _raw/synthesis.md 这个中间层耦合。
5 镜头是固定的尺子,坐在尺子后面打分的人是可换的。MBA 把"哪 N 位评委上场"这个决定从 SKILL.md 里抽出来,放进 metric-brand-auditor/panels/ 下的命名 yaml,一个 yaml = 一个 panel。
三件事各自独立:建一套 / 存一套 / 按品牌调用。
# metric-brand-auditor/panels/default.yaml
name: default
display_name: Default 5-Judge Panel
description: MBA 默认上场阵容;混合中英文 / 创始人视角 / VC 视角 / 字节系产品视角
judges:
- slug: fusheng # 必填,跟 ${PERSPECTIVES_PATH}/<slug>-perspective 对齐
display_name_cn: 傅盛
display_name_en: Fu Sheng
language: zh # zh / en — 决定该评委在 reviews/*.md 里用哪种语言落笔
portrait: 傅盛.jpg # 可选,相对 ${IMAGES_DIR};没有就走 emoji / monogram 兜底
weight: 1.0 # 可选,默认 1.0;Phase 5 算 mean 时的权重
- slug: jobs
display_name_cn: 乔布斯
display_name_en: Steve Jobs
language: en
portrait: jobs.jpg
- slug: likejia
display_name_cn: 李可佳
display_name_en: Ethan Li
language: zh
portrait: 李可佳.jpg
- slug: wu-jundong
display_name_cn: 吴俊东
display_name_en: Frank Wu
language: zh
portrait: 吴俊东.jpg
- slug: zhang-yiming
display_name_cn: 张一鸣
display_name_en: Zhang Yiming
language: zh
portrait: 张一鸣.jpg字段约束:
slug必须能在${PERSPECTIVES_PATH}(继承自 SKILL.md 的 Path resolution)里找到<slug>-perspective/SKILL.md,否则该评委MISSING,panel 自动降级为 N-of-M- panel 至少留 1 位评委,不强制 5 位 —— 3 人 panel / 7 人 panel 都合法
weight只在 Phase 5 的 mean 里生效,雷达图 / 异议热力图按 raw score 画,不被权重污染
假设你想加一个新评委
pmarca(Marc Andreessen)进 panel。
1. 复制视角 skill 模板
cp -r fusheng-perspective pmarca-perspective
2. 改 pmarca-perspective/SKILL.md frontmatter
- name: pmarca-perspective
- description: Marc Andreessen / a16z 创始合伙人 ...
- 显式触发:「用 pmarca 视角」「Andreessen 会怎么看」
- 不要激活:用户问 Netscape 浏览器代码细节 / pmarca 家庭隐私 ...
- anti-fabrication 段:不替本人编造未公开内容、不伪造私下场景
3. 跑 6 路并行调研,填 references/research/01-06.md
/research Marc Andreessen --persona-mode
(或手工:01 身份卡 / 02 表达 DNA / 03 心智模型 / 04 决策启发式 /
05 反共识立场 / 06 anti-fabrication 边界)
4. (可选)放一张插画头像
assets/judges/pmarca.jpg ← 插画 / 卡通 / monogram 都行,严禁真人照片
5. 单独跑一次,确认 perspective 自己可用
/pmarca-perspective 帮我看一眼龙虾这个事
6. 注册进一个 panel
编辑 metric-brand-auditor/panels/<panel-name>.yaml,在 judges: 下追加 pmarca 条目
第 3 步是大头 —— 评委之所以"像"靠的是 80% 一手访谈 / 文章 / 播客 transcript 的高密度调研材料,不是 SKILL.md 里的几句口令。research/ skill 已经把 6 路并行调研模板化了,新评委照着跑就行。
panel 没有"保存"动作 —— 写进 metric-brand-auditor/panels/<name>.yaml 就是保存了。Git 跟踪,跨机器同步。
常用模式:
metric-brand-auditor/panels/
├── default.yaml # 当前默认:傅盛 + Jobs + 李可佳 + 吴俊东 + 张一鸣
├── tech-cn.yaml # 全中文科技评委(如:张一鸣 + 傅盛 + 李可佳 + 王兴 + 黄峥)
├── vc-en.yaml # 英文 VC / 增长(如:Jobs + pmarca + naval + paulg)
├── consumer-cn.yaml # 消费品牌评委(如:江南春 + 钟睒睒 + 张鹏 + 罗永浩)
└── solo.yaml # 单视角速读;只放一位,等价于 /<persona>-perspective下次 --panel tech-cn 直接复用 —— 不需要改 SKILL.md,不需要 deploy。
每次 /mba <brand> 走以下顺序解析,先命中先用:
CLI flag (--panel <name>)
> CLI flag (--industry <name>) → industries.yaml → panel name
> reports/<brand-slug>/panel.yaml 里 panel: <name> 字段
> metric-brand-auditor/panels/default.yaml
具体规则:
| 场景 | 行为 |
|---|---|
/mba lenovo 首次跑 |
用 default panel,跑完把 panel: default 写进 reports/lenovo/panel.yaml |
/mba lenovo --panel vc-en 首次跑 |
用 vc-en,写进 reports/lenovo/panel.yaml(品牌从此默认绑定 vc-en) |
/mba lenovo(已有 v1) |
走 EVOLUTION,从 reports/lenovo/panel.yaml 读出绑定的 panel,不重选 |
/mba lenovo --panel consumer-cn(已有 v1) |
EVOLUTION 用新 panel —— 但 Lead 会 GATE 一次告诉你"评委换了,旧 reviews/ 不可直接 diff,会全员重打",等用户确认 |
/mba lenovo --no-judges |
跳过 Phase 4,panel 解析也跳过 |
reports/<brand>/panel.yaml 长这样:
# 由 Phase 0 router 在首次运行后写入
panel: default # 引用 panels/default.yaml
locked_at: 2026-05-17 # 首次绑定日期
mba_version: 0.2.24 # 当时的 mba 版本号(后续可观测兼容性)
overrides: # 可选 —— 在 panel 之上的局部调整
drop: [] # 跳过这次不出场的评委 slug
add: [] # 临时加挂的评委(不写回 panels/)为支持 panel,/mba 新增以下子命令(由 SKILL.md 在后续版本接入,本节先固化语义):
/mba panels # 列出 panels/ 下所有 panel,显示 judge 列表 + 用过的次数
/mba panels show <name> # 打印一个 panel 的完整 yaml 内容
/mba panels new <name> # 从 default.yaml 复制出一份新 panel 骨架到 panels/<name>.yaml
/mba <brand> --panel <name> # 该次运行用指定 panel(首次会写回品牌的 panel.yaml)
/mba <brand> --panel-add <slug> # 在本次运行临时追加一位评委,不改 panel 文件
/mba <brand> --panel-drop <slug> # 在本次运行临时跳过一位评委,不改 panel 文件--panel-add / --panel-drop 走 overrides,只影响本次输出,不修改 panels/<name>.yaml —— 用来做"这次想加 pmarca 试一下,但还不确定要不要进 tech-cn 常驻"这种探索。
写新 panel / 改品牌绑定时这几条不能踩:
- 改了 panel 后不要去改旧
versions/v{n}_*.md—— 那是当时 panel 给出的冻结快照,不该被新评委的分数污染。新 panel 重打分,在v{n+1}写新版本。 - 旧的
reviews/<judge-slug>.md留着 —— 哪怕 panel 里删掉了该 judge,它的历史打分仍在,EVOLUTION 模式可以 diff(v2 by pmarcavsv1 by zhang-yiming)。 - panel 切换会写进
versions/v{n+1}的 metadata —— Phase 5 报告头部必须显式列出Panel: tech-cn,不要让读者以为"分数变了"是品牌变了,实际上是评委换了。 - 判分语言跟随
judges[*].language,不要被品牌语种盖住 —— 给中文品牌找 Jobs 打分,他还是用英文,Lead 再翻译进合成报告。
/mba <brand> # 标准全流程(Lead 自动判断 FRESH / EVOLUTION,用 default panel 或品牌已绑定 panel)
/mba OpenClaw # 仓库内置的 demo case
/mba <brand> --quick # 跳过云浏览器 leg(只走开放网,WebFetch+WebSearch)
/mba <brand> --refresh # 强制 EVOLUTION 重跑(已有报告会归档到 versions/)
/mba <brand> --no-judges # 只做合成,跳过评委 panel
/mba <brand> --focus 1,3,7 # 只调研指定维度
/mba <brand> --panel <name> # 这次用指定 panel(首次会写回 reports/<brand>/panel.yaml)
/mba <brand> --panel-add <slug> # 本次临时加一位评委,不改 panel 文件
/mba <brand> --panel-drop <slug> # 本次临时跳过一位评委,不改 panel 文件
/mba list # 列出已审计的品牌 + 各自版本数 + 绑定的 panel
/mba panels # 列出所有 panel,显示 judge 列表
/mba panels show <name> # 打印一个 panel 的完整 yaml
/mba panels new <name> # 从 default.yaml 复制出骨架到 panels/<name>.yaml也可以单独调任何一个 perspective skill 做"一句话点评"(/fusheng-perspective ...)—— 那走的是单视角通道,不触发 MBA 流水线。
本项目使用阿里云无影 AgentBay 服务做云浏览器 leg(免费 Lite 层即可,不需要 Pro)。
cp .env.example .env
# 编辑 .env,填入 WUYING_API_KEY=akm-xxx
# API key 从 https://wuying.aliyun.com 控制台 → AgentBay 应用获取.env 已在 .gitignore 中,不会进版本库。本机调通后跑一次:
python3 scripts/wuying/smoke_test.py # 冒烟测试,自动创建 → 取 endpoint → 删除
python3 scripts/wuying/open.py # 创建会话并打印 SESSION_ID + RESOURCE_URL,会话保持活跃注意:免费 Lite 层 拿不到 CDP 的 wss URL(
get_endpoint_url()是 Pro/Ultra 独享)。 这意味着agent-browserCLI 无法直接附着到云浏览器。 Lite 层只能用 ResourceUrl 在本地浏览器里以"看画面 + 键鼠交互"的形式使用。 Pipeline 在 Lite 层运行时会自动降级为 WebFetch + WebSearch + 用户手动观察的混合策略。
- 想读流水线的人 →
metric-brand-auditor/SKILL.md(主手册,~600 行) - 想看一个报告长啥样 → 跑一次
/mba <你关注的品牌>,在reports/<slug>/report.html生成 - 想加一个新维度 →
metric-brand-auditor/references/dimensions.md - 想改评委的打分模板 →
metric-brand-auditor/references/judge-prompt-template.md - 想换 HTML 报告的图表样式 →
metric-brand-auditor/references/html-report-template.md - 想加一个新评委(persona) → 看本文§4.2 的 6 步;模板目录是任意
*-perspective/ - 想存 / 切 / 查 panel →
metric-brand-auditor/panels/下加减 yaml,字段定义见本文§4.1 - 想给某个品牌换一套评委 →
/mba <brand> --panel <name>(详见本文§4.4) - 想理解多代理调研本身怎么写的 →
research/SKILL.md(被 MBA 复用,也可独立/research调用)
- Production 人物视角 skill 都基于公开一手资料(访谈、文章、播客 transcript),每套 SKILL.md 顶部有明确的 anti-fabrication 红线 —— 不替本人编造未公开内容。
- 仓库不附任何品牌的样板报告;每次
/mba <brand>跑完的报告归用户所有,不入版本库,需自行管理隐私。
技术支持:marsdata.ai

