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:
- 抖音:需
sessionidCookie,扫码登录后保持常驻 Profile - 小红书:
web_session+ X-Sign,30 分钟刷新 - B站:
SESSDATACookie,可直调 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 阶段补充知识