Skip to content
Announcements2 min read

potato-skill:用 Claude Code 构建人工标注研究

potato-skill 让 Claude Code 根据一段简单的描述设计人工标注研究,再把它构建成带有独立界面和检查机制的 Potato 任务并运行起来。

Potato Team

potato-skill 是一个让人来标注数据的智能体技能(agent skill)。你向 Claude Code 描述研究,它会设计任务,在 Potato 中构建出带有独立标注界面的任务并启动,然后按你需要的格式导出标签。 它免费且开源,两条命令即可安装:

text
/plugin marketplace add davidjurgens/potato-skill
/plugin install potato-skill@potato

安装细节(包括其他智能体)见使用编程智能体快速入门页面。

编程智能体与一次性标注工具

想让几百条数据被标注,一种常见做法是让 Claude Code、Codex 或 Cursor 写一个简易标注工具:一个 Streamlit 或 Flask 页面,一次显示一条数据,把每个答案存进 CSV。一个人花一个下午标注一批数据,这样就够了。一旦研究需要以下任何一项,事情就变难了:

  • 每位标注者各自登录,这样你知道谁标了什么
  • 每条数据三名标注者,并把每条数据分给合适的人
  • 说明、培训环节和注意力检查
  • 标注者之间的一致性
  • Prolific 的完成码,或通过 MTurk 付款
  • 以下一个脚本所需的格式导出
  • 下个月的第二项研究也能照样运行

每一项都是需要有人编写、测试和调试的功能,而这个工具只服务于一项研究。Potato 已经具备所有这些功能。有了 potato-skill,智能体把精力花在研究设计上,并在 Potato 上构建任务。

结果也能供他人使用。手写的标注应用通常绑定在某个仓库里的某个数据集上。Potato 任务是一个包含配置和数据的文件夹,任何装了 Potato 的人都能启动它;展示页中收录了 400 多个这样的任务,大多取自已发表的论文。

该技能做出的设计决策

拿到一段关于待标注内容的描述后,potato-skill 会在写任何 YAML 之前先完成设计:问标注者什么、用什么量表、每条数据需要几名标注者、如何培训和检查他们。然后它在 Potato 中构建任务并启动,像标注者一样完整走一遍,再按下一步所需的格式导出结果。

它也能处理已在进行的研究:检查进度和一致性,以及在标注者开始工作后修改任务。

数据可以是文本、图像、音频、视频、对话或 AI 智能体轨迹。标注者可以是众包工作者、学生或领域专家。

它能搭建的六种研究

由 Prolific 众包工作者标注立场

一个研究团队希望由 Prolific 上的众包工作者为 2,000 条社交媒体帖子标注其对某项政策的立场。potato-skill 起草标签和说明,加入简短的培训环节和注意力检查,让每条帖子由三人标注,设置 Prolific 完成码,并在标签收齐后报告一致性。参见众包指南衡量标注者间一致性

比较两个聊天机器人的回答

一个机器学习团队希望让人比较两个聊天机器人对同一提示的回答,选出更有帮助的一个并说明原因。它会构建并排比较界面,配上偏好量表和自由文本理由栏,并导出判断结果供分析。参见成对模型比较RLHF 偏好数据

标出智能体轨迹中出错的步骤

一个实验室希望让专家阅读多步 AI 智能体轨迹,并标出智能体出错的那一步。每条轨迹逐步展示,任务会记录被标出的步骤和标注者的解释。参见智能体轨迹标注

继续一个 CVAT 边界框项目

一个计算机视觉小组有一个做到一半的 CVAT 项目,希望在新图像上画更多边界框。它导入现有的框,用相同的标签搭建绘制任务,并把全部结果以 COCO 格式导出。参见衡量边界框上的一致性

两名编码员和一本编码手册

一位社会科学家有一本用于开放式问卷回答的编码手册,希望两名编码员独立应用它,再解决两人意见不一的案例。编码手册成为编码界面,两名编码员都会被分配到每一条回答,由裁决步骤处理分歧。参见裁决与分歧

一致性看起来偏低的研究

一项研究已经进行了一周,研究者觉得一致性偏低。该技能会报告每位标注者的进度和每个问题的一致性,并说明哪些修改在标注者仍在工作时是安全的,哪些会破坏已经收集的数据。

针对 Potato 注册表的测试

potato-skill 的 CI 会检查其说明中提到的每种标注类型、配置键和示例配置在 Potato 中确实存在。示例 YAML 会经过 Potato 自带的验证器,完整示例会启动一个真实的 Potato 服务器。其中三份参考资料由 Potato 的注册表生成,所以智能体读到的标注类型和配置键就是服务器实际执行的那些。

参考资料发布在 davidjurgens.github.io/potato-skill,安装之前你就能读到这个技能会告诉智能体什么。

其他编程智能体

skills CLI 可以为 Codex、Cursor 和其他智能体安装 potato-skill:

bash
npx skills add davidjurgens/potato-skill --agent codex cursor

它会把技能复制到 .agents/skills/potato-skill/。Codex 和 Cursor 也能读取仓库根目录下的 AGENTS.md 文件。无论使用哪个智能体,Potato 都必须安装在它运行命令的地方(pip install potato-annotation),因为该技能的辅助脚本会导入 Potato 并调用 potato 命令。

常见问题

我需要先了解 Potato 吗?

不需要。你用平实的语言描述研究即可。Potato 需要安装在智能体运行的机器上。在标注者看到任务之前,先在浏览器中打开它,自己标几条数据。

我是否应该让编程智能体另写一个定制标注工具?

如果只有几百条数据、由一个人标注一次,一个小脚本可能就够了。一旦研究需要每条数据多名标注者、培训、注意力检查、一致性或众包平台,其中每一项都需要构建和测试。potato-skill 建立在已经具备这些功能的 Potato 之上,它生成的任务可以重新运行,也可以分享。

我能修改它构建出的内容吗?

可以。输出就是一个普通的 Potato 任务。你可以参照快速入门配置基础手动修改,也可以让智能体来改。

它能在 Codex 或 Cursor 中使用吗?

skills CLI 可以把它安装到这两者中,两者也都能读取仓库的 AGENTS.md。该技能是为 Claude Code 编写的。

它要花多少钱?

不花钱。Potato 免费且开源,potato-skill 以 GPL-3.0-or-later 许可发布。你需要支付的是你本来就在用的编程智能体的费用,以及招募标注者时的报酬。

Potato 是什么?

Potato 是密歇根大学开发的开源标注工具,相关介绍见 ACL 2026 系统演示论文。它支持 61 种标注类型,涵盖文本、图像、音频、视频、对话和智能体轨迹。

开始使用