Skip to content
Release2 min read

Potato 2.4.0:网页智能体标注、实时评估与 HuggingFace 集成

Potato 2.4.0 带来网页智能体 trace 审查、实时智能体评估、LLM 聊天侧边栏、HuggingFace Hub 导出、Webhook、SSO/OAuth,以及五种主动学习策略。

Potato Team

注意: 本文中的各项数量反映的是 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,也可以边操作边录制新的。

yaml
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 辅助,这份数据很有用。

yaml
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: true

HuggingFace 生态集成

Potato 现在从几个方向接入了 HuggingFace。你可以把标注直接推送到 Hub 数据集,并自动生成 DatasetCard;可以不经中转直接把它们作为 datasets.Dataset 对象读回来;可以把一个 Potato 实例部署到 HuggingFace Spaces;还可以通过 LangChain 回调,在运行 LangChain 智能体时自动摄取 trace。

bash
pip install potato-annotation[huggingface]
python
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 管理。

yaml
webhooks:
  - url: https://your-system.example.com/potato-events
    secret: your-signing-secret
    events: [annotation.created, item.fully_annotated]

进阶主动学习:5 种策略 + LLM 冷启动

主动学习系统现在提供五种查询策略:

  1. 不确定性采样:挑出模型最没把握的实例
  2. 基于多样性的选择:最大化对输入空间的覆盖
  3. BADGE:Batch Active Learning by Diverse Gradient Embeddings
  4. BALD:Bayesian Active Learning by Disagreement
  5. 混合集成:把多种策略组合起来,让选择更稳健

另外还有 LLM 冷启动,它在还没有任何标签的时候就能挑实例。你把语言模型对准候选池,让它把有难度的或有代表性的条目挑出来,作为标注的种子。CoverICL 也是新增的,用于挑选多样化的上下文学习示例。

密码管理与 SSO/OAuth

两个大家反复要求的认证功能:

密码管理采用 PBKDF2-SHA256 哈希加每用户盐值,支持管理员通过 CLI 和 API 重置密码,还包含一套基于令牌的自助重置流程,后端可用 SQLite 或 PostgreSQL。

SSO/OAuth 通过 Authlib 支持 Google、GitHub 或任意通用 OIDC 提供方的单点登录。

bash
pip install potato-annotation[auth]

数量更新

能力2.32.4
标注类型2021
显示类型1517+
AI 端点711
示例项目1540+
主动学习策略15
Webhook 事件类型05
智能体示例项目014

安装

bash
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 评估任务,包含单选按钮、李克特量表、片段标注和自由文本备注:

试用在线演示 →

也可以在本地跑一个示例:

bash
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 仓库