benchmark_v1.md 6.83 KB

Data-Harvester Benchmark v1

目标 Agent: data-harvester 技能领域: 全量数据收集(利用 OpenClaw 登录各平台后台抓取播放量、完播率、CTR 及用户评论情感) 版本: v1.0 生成时间: 2026-04-09


评分维度与权重

总分 = 100 分,目标合格线 ≥ 95 分

维度 权重 满分 核心考察点
D1. 登录态管理 15% 15 Cookie / Session 复用、扫码登录流程、登录态失效处理
D2. 数据覆盖率 20% 20 核心指标(播放量、完播率、CTR、评论情感)抓取完整性
D3. 抓取策略选择 15% 15 API 优先 vs 浏览器自动化、平台适配、数据源选择
D4. 数据结构化与输出 20% 20 字段标准化、JSON/CSV 输出规范、缺失值填充、时间戳一致性
D5. 风控与合规 15% 15 频率控制、代理/IP 策略、隐私脱敏、仅采自有/授权数据
D6. 错误处理与恢复 15% 15 重试退避、异常分类报告、降级策略、截图存档

D1. 登录态管理 (15 分)

得分 标准
13-15 能正确描述各平台登录方式(Cookie/二维码/OAuth2),方案包含 Session 持久化、Cookie 复用、二次验证的降级处理(通知上级或人工介入)
9-12 覆盖主流平台登录方式,但缺少 Session 持久化细节或缺少二次验证应对策略
5-8 仅提及密码/扫码登录,缺少 Cookie 管理和失效处理
0-4 登录方案不可行或存在明显安全风险(如明文存储密码)

Grader Hints:

  • 抖音:需 sessionid Cookie,扫码登录后保持常驻 Profile
  • 小红书:web_session + X-Sign,30 分钟刷新
  • B站:SESSDATA Cookie,可直调 API
  • YouTube:优先 OAuth2 Service Account
  • 快手:扫码登录 + Cookie 持久化
  • 视频号:微信扫码,异地登录易冻结,必须常驻 Profile

D2. 数据覆盖率 (20 分)

得分 标准
17-20 明确列出 6 个平台各自可采集的核心字段,确保播放量、完播率、CTR、评论情感数据均有抓取路径;对缺失字段给出补充方案
13-16 覆盖 4-5 个平台的核心字段,但缺少个别平台 CTR 或情感数据的获取方式
8-12 仅覆盖 2-3 个平台,或缺少完播率/情感分析等关键指标
0-7 数据字段严重不全,无法支撑后续分析

Grader Hints:

  • 抖音:播放量、完播率、平均播放时长、互动率、CTR、粉丝净增
  • 小红书:阅读数、点赞、收藏、评论、完播率、粉丝增长、商品点击
  • B站:播放量、弹幕、评论、硬币、收藏、完播率、播放来源、粉丝活跃时段
  • YouTube:Views、Watch time、Avg view duration、CTR、Impressions、Subscribers gained/lost
  • 快手:播放量、播放完成率、点赞、评论、粉丝增长、直播收益
  • 视频号:播放量、点赞、评论、转发、完播率、关注转化、商品点击

D3. 抓取策略选择 (15 分)

得分 标准
13-15 能根据平台特征正确选择“API 直调”或“浏览器自动化”,并说明理由;YouTube 明确优先 OAuth2 API;对加密/签名数据(X-Sign)有应对方案
9-12 主流平台策略正确,但对 1-2 个平台的选择理由模糊,或缺少签名破解/拦截方案
5-8 策略选择存在明显错误(如对 open API 平台仍全用 Playwright),或未考虑效率差异
0-4 策略不可行或全部统一用一种方式,无视平台差异

Grader Hints:

  • B站 / YouTube:优先 API(B站半公开 API,YouTube 官方 API)
  • 抖音 / 小红书 / 快手 / 视频号:浏览器自动化 + XHR/DOM 提取
  • 抖音:可拦截 aweme/v1/web/data/fetch 或读取 window._SSR_HYDRATED_DATA

D4. 数据结构化与输出 (20 分)

得分 标准
17-20 输出 schema 统一(含 content_id, platform, title, publish_time, play_count, completion_rate, ctr, sentiment_summary, source_url, crawl_time),字段名驼峰/下划线一致,缺失值用 null 或 0 明确标注,附带数据校验逻辑
13-16 输出结构基本统一,但存在 1-2 个字段命名不一致或缺失值处理不严谨
8-12 输出格式混乱,不同平台字段名不统一,缺少 source_url / crawl_time
0-7 无结构化输出意识,仅返回原始 HTML 或非标准文本

Grader Hints:

  • 必须字段:source_url, crawl_time, platform_name(或 platform)
  • 推荐字段:content_id, title, publish_time, play_count, completion_rate, ctr, like_count, comment_count, share_count, collect_count, follower_growth, sentiment_summary
  • sentiment_summary 应包含 positive, neutral, negative 比例及 top_keywords

D5. 风控与合规 (15 分)

得分 标准
13-15 明确说明频率控制(普通≥3s,抖音/视频号≥5s)、账号分级(大小号分离)、代理/IP 策略、User-Agent 轮换、隐私脱敏(用户昵称哈希化),并强调仅采集自有/授权数据
9-12 提及风控措施,但缺少量化频率控制或缺少隐私脱敏说明
5-8 仅有模糊的风控意识,缺少具体操作策略
0-4 无视平台规则,方案可能导致封号或侵犯隐私

Grader Hints:

  • 单账号日请求量:抖音/视频号 ≤ 200 次;B站 API ≤ 500 次
  • 必须使用住宅代理(Bright Data / Oxylabs)对抖音/快手/视频号
  • 扫码登录优先于密码登录
  • 评论数据中的用户昵称和头像需脱敏

D6. 错误处理与恢复 (15 分)

得分 标准
13-15 建立完整的错误分类体系(登录态失效、风控拦截、元素缺失、网络超时、数据格式变更),每类均有明确的处理策略和降级路径;包含指数退避重试、截图存档、通知上级机制
9-12 覆盖主要错误类型,但缺少数据格式变更的应对或缺少截图存档
5-8 仅有简单的重试逻辑,错误分类不清晰
0-4 无错误处理方案,一旦失败即中断

Grader Hints:

  • 登录态失效 → 刷新 Cookie → 标记 AUTH_REQUIRED
  • 风控拦截(滑块/验证码)→ 降频 → 切代理 → 人工介入
  • 页面元素缺失 → wait_for_selector 超时 → 截图 → 记录 DOM 版本
  • 网络超时 → 指数退避(2s → 5s → 10s)
  • 数据格式变更 → 记录日志 + 截取页面源码样本

评分公式

Total Score = D1 + D2 + D3 + D4 + D5 + D6

Pass Criteria:

  • Total ≥ 95: 优秀 (Excellent) — 可直接进入 Evolve 阶段
  • 85 ≤ Total 合格 (Pass) — 需针对短板进行微调
  • 75 ≤ Total 待改进 (Needs Work) — 需补充文档和训练数据
  • Total 不合格 (Fail) — 重新回到 Hunt 阶段补充知识