Potato 2.4.0:网页智能体标注、实时评估与 HuggingFace 集成
Potato 2.4.0 带来网页智能体 trace 审查、实时智能体评估、LLM 聊天侧边栏、HuggingFace Hub 导出、Webhook、SSO/OAuth,以及五种主动学习策略。
注意: 本文中的各项数量反映的是 v2.4.0 发布时的状态。Potato 现在支持 50 多种标注类型,完整列表见标注类型文档。
Potato 2.4.0 发布了。这是自 2.3 引入智能体标注以来最大的一次更新,加入了大家一直在要的智能体评估功能,还有一批面向企业场景和外部集成的工作。
网页智能体标注
评估网页浏览智能体不容易。你得看到智能体看到了什么、点在哪里、怎么滚动,以及每一步是否合理。Potato 2.4 为此加入了网页智能体 Trace 查看器。
审查模式(Review Mode)用胶片条的形式把预先录制的截图呈现给标注者。SVG 覆盖层标出点击目标、边界框、鼠标路径和滚动位置,评估者看到的就是智能体看到的,标注控件也内联在旁边。
创建模式(Creation Mode)把界面反过来用。标注者在 iframe 里浏览真实网站,Potato 把每一次交互记录成可直接标注的 trace。你可以导入 WebArena、Mind2Web 和 Anthropic Computer Use 格式的已有 trace,也可以边操作边录制新的。
display:
type: web_agent_trace
mode: review # or "creation"
show_overlays: true
keyboard_shortcuts: true实时智能体评估
有时候你需要在智能体运行过程中评估它,而不是事后再看。新的实时智能体评估系统让标注者实时观看 AI 智能体执行任务,并在执行过程中就对其行为做标注。
Potato 通过 Agent Runner Manager 并行运行智能体,用 webhook 接收器捕获陆续到来的 trace,并给标注者一个实时评估界面。步骤级的标注者间一致性会被自动统计。
LLM 聊天侧边栏
难判断的标注适合听听第二种意见。新的 LLM 聊天侧边栏给标注者一个 AI 助手面板,不用离开界面就能在标注过程中随时咨询。
侧边栏支持多轮对话,并会自动注入完整的任务上下文。它可以对接 OpenAI、Anthropic 和 Ollama 端点,并把每一次对话作为行为数据记录下来,如果你想研究标注者如何依赖 AI 辅助,这份数据很有用。
llm_sidebar:
enabled: true
provider: anthropic
model: claude-3-5-sonnet-20241022
system_prompt: "You are a helpful annotation assistant for this {task_name} task."
collapsible: trueHuggingFace 生态集成
Potato 现在从几个方向接入了 HuggingFace。你可以把标注直接推送到 Hub 数据集,并自动生成 DatasetCard;可以不经中转直接把它们作为 datasets.Dataset 对象读回来;可以把一个 Potato 实例部署到 HuggingFace Spaces;还可以通过 LangChain 回调,在运行 LangChain 智能体时自动摄取 trace。
pip install potato-annotation[huggingface]from potato import PotatoDataset
ds = PotatoDataset.from_output("annotations/")
ds.push_to_hub("my-org/my-annotation-dataset")Webhook 系统
Potato 2.4 带来了一套完整的 webhook 系统,用于事件驱动的集成。共五种事件类型,按 Standard Webhooks 规范用 HMAC-SHA256 签名:
| 事件 | 触发时机 |
|---|---|
annotation.created | 标注者提交了一个标签 |
item.fully_annotated | 某个条目达到了要求的重叠数 |
task.completed | 一个任务中的所有条目都已标注完 |
user.phase_completed | 某个用户完成了一个阶段(Solo 模式) |
quality.attention_check_failed | 某个标注者没通过注意力检查 |
Webhook 以非阻塞方式投递,重试策略可配置,并通过管理员 API 管理。
webhooks:
- url: https://your-system.example.com/potato-events
secret: your-signing-secret
events: [annotation.created, item.fully_annotated]进阶主动学习:5 种策略 + LLM 冷启动
主动学习系统现在提供五种查询策略:
- 不确定性采样:挑出模型最没把握的实例
- 基于多样性的选择:最大化对输入空间的覆盖
- BADGE:Batch Active Learning by Diverse Gradient Embeddings
- BALD:Bayesian Active Learning by Disagreement
- 混合集成:把多种策略组合起来,让选择更稳健
另外还有 LLM 冷启动,它在还没有任何标签的时候就能挑实例。你把语言模型对准候选池,让它把有难度的或有代表性的条目挑出来,作为标注的种子。CoverICL 也是新增的,用于挑选多样化的上下文学习示例。
密码管理与 SSO/OAuth
两个大家反复要求的认证功能:
密码管理采用 PBKDF2-SHA256 哈希加每用户盐值,支持管理员通过 CLI 和 API 重置密码,还包含一套基于令牌的自助重置流程,后端可用 SQLite 或 PostgreSQL。
SSO/OAuth 通过 Authlib 支持 Google、GitHub 或任意通用 OIDC 提供方的单点登录。
pip install potato-annotation[auth]数量更新
| 能力 | 2.3 | 2.4 |
|---|---|---|
| 标注类型 | 20 | 21 |
| 显示类型 | 15 | 17+ |
| AI 端点 | 7 | 11 |
| 示例项目 | 15 | 40+ |
| 主动学习策略 | 1 | 5 |
| Webhook 事件类型 | 0 | 5 |
| 智能体示例项目 | 0 | 14 |
安装
pip install potato-annotation # core
pip install potato-annotation[ai] # OpenAI, Ollama
pip install potato-annotation[huggingface] # HF Hub + Spaces
pip install potato-annotation[langchain] # LangChain callback
pip install potato-annotation[auth] # SSO/OAuth
pip install potato-annotation[all] # everything试一试
想最快看到 2.4 的效果,就去 HuggingFace Spaces 上的在线演示,不用安装任何东西。它跑的是一个智能体 trace 评估任务,包含单选按钮、李克特量表、片段标注和自由文本备注:
也可以在本地跑一个示例:
git clone https://github.com/davidjurgens/potato.git
cd potato
pip install -e .
python potato/flask_server.py start examples/agent-traces/complex-annotation/config.yaml -p 8000完整变更日志见 v2.4.0 发布说明,其余文档见 GitHub 仓库。