跳转到主要内容
对比

Proof of Actor vs Mixpanel: 产品分析与 actor 证据,并列比较

Mixpanel 帮助团队了解用户如何采用并留存其产品。Proof of Actor 告诉你的应用每次交互中是谁或什么在行动,并给出背后的证据,然后让你的代码决定接下来怎么做。下面是它们的比较,以及它们如何协同工作。

Toshendra Sharma

作者 Toshendra Sharma创始人兼 CEO,AgentCredia · Updated November 13, 2026

Mixpanel 是一个产品分析平台。团队用它来看哪些功能被采用、用户在哪个漏斗步骤流失,以及谁会在下周回来。它非常擅长这项工作,而且对于许多产品团队来说,它是回答用户行为问题的地方。

如今,一个新问题已经出现在旁边。你产品中的一些事件不再只是由人点击产生。它们来自代表真实客户行动的 AI agent,来自与 AI 助手协作的人,以及来自你暂时还无法解释的自动化。在你读取漏斗之前,你越来越需要知道是谁或什么生成了其中的事件,而你的应用也需要在当下知道同样的信息,以便做出响应。这就是 AgentCredia 的 Proof of Actor 所要解决的问题。

本页会公平地比较两者。下面关于 Mixpanel 的事实来自其截至 2026 年 11 月的官方文档。

简要结论

Mixpanel Proof of Actor
核心问题 用户如何采用、转化和留存? 这次交互中是谁或什么在行动,证据是什么?
收集位置 客户端和服务端 SDK 以及摄取 API; 在可行时,Mixpanel 建议优先使用 server-side tracking 服务端中间件、edge、HTTP API、MCP servers,以及一个已批准的浏览器采集器
agent 和 bot 标签 $mp_actor_type 为 agent、bot 或 none,根据 user agent 分类 Human、Human + AI、Agent 或 Unknown,并带有明确 basis
已验证的 agent 身份 Mixpanel 的 bot 流量文档中未描述 当请求签名与已发布的 key 验证通过时,为 Verified basis
AI 辅助的人 未作为单独类别描述 一等结果: Human + AI
不明确的流量 当 user agent 不匹配任何 agent 或 bot 时标记为 none 记录为 Unknown,并由你选择回退方式
是否对流量执行动作 否,它只分析事件 在观察之后,按你的策略由你自己的代码逐 route 路由

本页其余部分会解释每一行。

Mixpanel 的事件模型是为此而生的

Mixpanel 围绕事件及其附加属性构建。你会给诸如注册、创建项目或邀请同事这样的动作埋点,添加 plan 或 platform 等属性,然后按这些属性拆分事件来构建漏斗、留存曲线、流、和 cohort。在 Mixpanel 中,所有分析问题最终都会变成: 哪些事件发生了,发生在谁身上,以及带着哪些属性值。

这正是 actor 上下文如此适合放入其中的原因。actor 标签只是另一个属性,一旦它进入你的事件,所有漏斗和留存图表都可以按它拆分。Mixpanel 已经通过自己的 actor 标记朝这个方向前进。真正的问题是,这个属性的依据是什么,以及当请求仍在处理时,你的应用是否能使用同样的答案。

Proof of Actor 在请求路径中生成这个答案。每次交互都会得到四个类别之一: 当信号表明是人时为 Human,当有人在已声明或通过受支持集成观察到的 AI 辅助下行动时为 Human + AI,当是自动化或 agent 来源的交互时为 Agent,当证据不足以做出可靠判断时为 Unknown。每个结果都会说明其 evidence basis: Verified、Declared、Inferred 或 Unknown,这会把这个属性从一个标签变成一个带有明确强度的标签。

它们各自运行在什么位置

Mixpanel 同时提供客户端和服务端跟踪。其关于 选择跟踪方式 的文档建议尽可能从服务器侧进行跟踪,并在必要时补充客户端跟踪,同时指出客户端跟踪会受到广告拦截器影响。

Proof of Actor 也运行在服务端,但位置不同。它位于你应用的请求路径中: Node.js middleware、Next.js、你控制的 edge 层、通用 HTTP API 或你的 MCP server,并可在已批准页面上使用可选的浏览器采集器。这样它就能在请求发生的当下看到信号,例如客户端是否提供了签名、客户端是否自声明,以及你自己的助手是否执行了该动作。完整列表见 integrations 页面。

Mixpanel 如何处理 bot 和 AI agent

Mixpanel 在这里已经提供了实质支持,这一点值得肯定。根据其 bot 流量文档:

  • Mixpanel JavaScript 库默认会过滤一小部分已知爬虫,包括 Googlebot 和 Bingbot。
  • 任何设置了 $ignore 属性的事件都会在摄取时被丢弃,因此你可以编写自己的过滤逻辑。
  • Mixpanel 的摄取 API 会对每个事件的 user agent 进行分类,并将 $mp_actor_type (Actor Type) 设置为 agent,用于代表某个 LLM 代替人类用户发出的请求,设置为 bot,用于诸如爬虫和搜索索引器之类的通用自动化流量,或者在两者都不适用时设置为 none。当类型为 agent 或 bot 时,$mp_actor_name (Actor Name) 会保存被分类出的身份,例如 GPTBot 或 ClaudeBot。
  • 在 server-side tracking 中,分类使用的是到达 Mixpanel 的请求所携带的 user agent,也就是你服务器的 HTTP 库所报告的值,除非你转发终端用户的 user agent,例如在 $mp_raw_user_agent 中。Mixpanel 指出,否则分类可能不准确。
  • Mixpanel 中的事件是不可变的,因此已经记录的 bot 事件会通过在分析中将其过滤掉来处理,而不是删除它们。

这是一个有用的报表标签。它同样也是, 按设计, 一个从 user agent 字符串派生出来的标签。user agent 字符串是自报的,而且很容易伪造,这个问题在 user agent spoofing 条目中有说明。而且这份文档并未描述一个专门针对与 AI 协作的人类的类别,也没有描述一种方法来说明证据太弱,无法下结论。

$mp_actor_type 与 Proof of Actor 类别,并列比较

因为这两种结果都可以放在同一个 Mixpanel 事件上,所以看看它们如何对应会很有帮助:

$mp_actor_type 它的依据是什么 Proof of Actor 类别可以补充什么
agent 代表用户执行的 LLM 的 user agent 匹配 当请求携带有效签名时为带 Verified basis 的 Agent,否则为 Declared 或 Inferred basis
bot 爬虫和索引器的 user agent 匹配 当证据足够支持时为 Agent,或者当只有爬虫式 user agent 而没有其他支撑时为 Unknown
none 在 user agent 中既没有 agent 也没有 bot 的匹配 Human、Human + AI 或 Unknown,因此接受辅助的人和无法解释的流量不会都躲在同一个桶里

主要差异来自每个答案的生成位置。

超越 user agent 字符串的证据。 $mp_actor_type 来自 user agent,而 user agent 是自报的,并且很容易伪造,正如 user agent spoofing 条目所解释的那样。一个经过验证的 Proof of Actor 结果意味着请求签名已经使用 HTTP Message Signatures 按 RFC 9421 的定义并由 Web Bot Auth 使用的方式,对照已发布的 key 完成检查。

为 AI 辅助的人提供一个类别。 在 $mp_actor_type 下,使用助手撰写内容的人会和其他所有用户一起落入 none。当辅助是通过受支持集成被声明或被观察到时,Proof of Actor 会报告 Human + AI,因此 Mixpanel 漏斗可以显示 AI 辅助用户是否更快激活,或是否在不同位置停滞。

Unknown 而不是 none。 none 表示没有找到匹配项。Unknown 表示证据不足以作出结论,这是一个不同且更有用的陈述。你可以按 route 跟踪 Unknown 比例,而关于 handling Unknown traffic 的指南会介绍回退模式。

从未经过你的跟踪系统的事件。 agent 往往会调用 API 和 MCP servers,而不是通过 UI 点击。Proof of Actor 会在这些交互发生的地方对它们进行分类,包括 MCP tool calls; 参见 MCP servers use case。

在请求时做出决定。 Mixpanel 事件是不可变的,并且在事后分析,这对分析来说是正确的。Proof of Actor 还允许你的应用针对每个 route、类别和 basis 执行 allow、adapt、challenge、send to review 或 rate-limit。它从 observation mode 开始,因此在你选择 enforce 之前,任何事情都不会改变。

将 Mixpanel 与 Proof of Actor 一起使用

  1. 在请求时分类。 Proof of Actor 会为你应用、API 或 MCP server 中的每次交互返回一个 class 和 basis。
  2. 添加两个事件属性。 将 class 和 basis 作为属性附加到你已经发送的 Mixpanel 事件上,例如命名为 actor_class 和 actor_basis。由于应用持有结果,server-side tracking 会让这件事变得很简单。
  3. 也保留 $mp_actor_type。 转发终端用户的 user agent,使 Mixpanel 自己的标签保持准确,并比较这两个属性。当它们不一致时,Proof of Actor 的 basis 会告诉你应信任哪种证据。
  4. 按你已经在使用的报表拆分。 按 actor class 拆分漏斗、留存和流,以查看由 agent 驱动的注册是否像人类注册一样留存,或 AI 辅助用户是否更早达到激活。 SaaS apps use case 展示了这在何处最重要。
  5. 在重要的地方采取行动。 为 actor class 应该改变体验的 route 编写策略。关于 rolling out actor-aware policies safely 的指南介绍了这一过程。

何时选择哪一个

当你的问题是产品行为时,选择 Mixpanel: 激活、转化、留存、功能采用,以及用户走过的路径。它的 $mp_actor_type 标签是将分析中的 agent 和 bot 初步分开的好方法。

当你需要这个标签带有证据、当 AI 辅助用户对你的产品很重要、当你的大部分 agent 流量通过 API 或 MCP servers 到达,或者当你的应用需要在请求时而不是在报表中做出响应时,就添加 Proof of Actor。Mixpanel 告诉你产品是如何被使用的。Proof of Actor 告诉你每次交互中是谁在使用它,并给出证据,同时让你的代码能够据此行动。

开始使用

Proof of Actor 目前处于 private beta。通过 founding developer program,被选中的团队可在约定的使用限制内获得最长 12 个月的免费访问权限,且不会自动计费。申请 early access,并告诉我们你的产品以及你想要了解的交互。

Mixpanel 是 Mixpanel, Inc. 的商标。

面向开发者

What your code receives

Every interaction resolves to one result record. Your application reads the class and the basis and applies its own policy.

Result record
{
  "route": "GET /api/v1/catalog",
  "class": "agent",
  "basis": "verified",
  "evidence": [
    { "signal": "http_message_signature", "result": "valid", "keyid": "assistant.example" },
    { "signal": "client_declaration", "value": "assistant.example" }
  ],
  "observed_at": "2026-11-13T10:42:07Z"
}
class
Human、Human + AI、Agent 或 Unknown。
basis
证据有多强:Verified、Declared、Inferred 或 Unknown。
evidence
结果背后的信号,让您的团队看清原因。

从观察模式开始: 将结果记录在日志旁边,在您选择 policy 之前不做任何更改。 阅读 Node.js 集成指南

常见问题

我需要用 Proof of Actor 替换 Mixpanel 吗?

不需要。Mixpanel 仍然是漏斗、留存和产品事件分析的合适工具。Proof of Actor 增加了按交互的 actor 分类,并提供 evidence basis,还能让你的应用据此路由。大多数团队会保留 Mixpanel,同时添加 Proof of Actor。

我可以把 actor 类别发送到 Mixpanel 吗?

可以。你的应用会接收每个 Proof of Actor 结果,因此你可以把 actor class 和 basis 作为事件属性或用户属性,附加到你已经在跟踪的事件上。然后你就可以按 Human、Human + AI、Agent 和 Unknown 拆分 Mixpanel 的漏斗和留存。

Mixpanel 已经在标记 agent 了。为什么还要加 Proof of Actor?

根据 Mixpanel 的文档,截至 2026 年 11 月,其 Actor Type 属性是从 user agent 分类而来。Proof of Actor 会说明每个结果的 basis,可以使用 HTTP Message Signatures 验证 agent 身份,把 AI 辅助的人报告为 Human + AI,在证据不足时返回 Unknown,并让你的代码对结果执行策略。

Mixpanel 会默认过滤 bot 吗?

根据 Mixpanel 的文档,其 JavaScript 库会默认过滤一小部分已知爬虫,而你可以通过设置 $ignore 属性丢弃其他事件。其摄取 API 还会为事件添加 Actor Type,值可以是 agent、bot 或 none,你可以在报表中据此筛选。

Proof of Actor 会阻止任何东西吗?

不会。它从 observation mode 开始,安装后不会改变任何行为。你可以用真实流量预览策略,并在你自己的代码中按 route 逐步 enforce。

Proof of Actor 适用于 server-side tracking 吗?

适用。Proof of Actor 可运行在 Node.js 中间件、Next.js、edge、通用 HTTP API 以及 MCP servers 中,因此它可以对从未接触浏览器的交互进行分类。

了解谁在使用您的 app。

面向少数 founding developers 的私有 beta。

想先聊聊? 联系创始人