Perplexity 混合计算:本地 PII 路由如何重画 Agent 的隐私边界
💡 工具推荐:正则测试器、AI Token 计数器、JSON 格式化
2026 年 9 月 1 日,Perplexity 把混合计算带到了 Mac 应用:任务在云端开始,涉及敏感数据的步骤下移到你本机运行的模型,由开源 0.6B PII 分类器 PII-Tracer 把守边界。本文讲清架构、闸门背后的公开数字(字符 F1 0.629、重复提及召回 79.4%、长上下文召回 0.687 经滑窗恢复至 0.965),以及边界仍在何处泄漏。
云端优先,敏感步骤本地处理
一、发布了什么,用了哪些模型
混合计算面向 Perplexity Mac 应用的 Pro、Max 与 Enterprise 订阅用户,需 Apple 芯片与 macOS 15 及以上,统一内存最低 24 GB、推荐 32 GB。首批本地模型包括 Gemma 4 E4B、Qwen3.6 35B-A3B,以及一个 Perplexity 后训练的 Qwen 变体;设置流程指向一键下载的 PPLX Qwen 3.8 27B。云端工作仍走前沿模型;本地 token 不计费、无需 API Key,因为工作从未离开设备。24 GB 的门槛才是真正的约束:它把混合计算限定在 MacBook Pro、Mac Studio、Mac Pro 这一类机型,而非入门级 Apple 芯片,于是隐私保证悄悄变成了一个硬件问题。
from dataclasses import dataclass
@dataclass
class Decision:
outcome: str # local | mask | refuse | ask
model: str
payload: str
def route(step, gate):
verdict = gate.classify(step.text) # 0.6B PII classifier
if not verdict.contains_sensitive:
return Decision("local", "cloud-orchestrator", step.text)
if verdict.pii_types <= {"email", "phone"}:
return Decision("mask", "cloud-orchestrator", gate.mask(step.text))
if verdict.pii_types & {"medical", "financial", "legal"}:
return Decision("local", "pplx-qwen-3.8-27b", step.text)
return Decision("ask", "none", step.text)二、路由器才是产品
其架构主张是:Agent 可以在云端开始,并在任务中途切换到本地模型。这是一个路由问题,而隐私设计通常恰恰败在路由上。Perplexity 的答案是:一个掌握工具路由与界面的云端编排器,外加一个决定什么可以上行到云端的本地闸门。边界处定义了四种结果:该步留在本地、脱敏、拒绝,或询问用户。这套词汇比单个布尔值有用得多。许多真实任务并不需要完全本地执行,它们需要一次脱敏,然后对清洗后的文本做云端推理。代码示例 1 用显式结果勾勒了同样的路由器——这正是你在把 Agent 放到报税单或病历之上以前,应该先写下来的那份契约。
import httpx
GATE = "http://127.0.0.1:8090/classify" # on-device, no egress
def classify(text: str) -> dict:
r = httpx.post(GATE, json={"text": text}, timeout=5.0)
r.raise_for_status()
return r.json() # {contains_sensitive, pii_types, spans}三、PII 闸门,用数字说话
Perplexity 开源了边界背后的分类器。PII-Tracer 是一个基于 Qwen3 主干改造的 0.6B 双向编码器:它把因果掩码换成对 4096 token 窗口的、感知 padding 的双向注意力,并由线性标注头输出 37 个标签——一个 span 外标签,加上九种 PII 类型各自的 BIOES 位置标签,另有一个辅助头预测整段对话是否含敏感材料。它在约 71.4 万条样本上训练三个 epoch,推理时用受限 Viterbi 解码器确定标签序列。Perplexity 称它在字符 F1 上以 0.629、在「找出每一次重复提及」上以 79.4% 领先十二个检测器。选择发布一个小的、可审计的闸门模型而非点名某个前沿模型,才是有意思的决定:企业可以自行审查或扩展这条边界,而不必只信任厂商。
def mask(text: str, spans: list) -> str:
out, cursor = [], 0
for s in sorted(spans, key=lambda x: x["start"]):
out.append(text[cursor:s["start"]])
out.append("[" + s["type"].upper() + "]")
cursor = s["end"]
out.append(text[cursor:])
return "".join(out)四、长上下文才是隐私泄漏的地方
这次发布中最诚实的数字是一个失败模式:分类器的长上下文召回在超过 1 万字符后掉到 0.687。再读一遍——在一份长文档上,单遍闸门会漏掉约三分之一本应识别的敏感片段。Perplexity 的缓解手段是滑窗解码,可把召回恢复到 0.965。代码示例 4 展示了这一模式,而且它是可推广的:任何对长输入做单遍推理的分类器都存在召回悬崖,而带召回悬崖的隐私边界,恰恰会在最要紧的那些文档上失效。如果你要自建本地闸门,请按输入长度衡量召回,而不只看平均值,并在信任它处理法律或财务文件之前加上一趟窗口化推理。
WINDOW, STRIDE = 2048, 1024
def classify_long(text: str) -> list:
"""Single-pass recall collapses past ~10K chars; window it."""
spans, seen = [], set()
for start in range(0, max(len(text) - WINDOW, 0) + 1, STRIDE):
for s in classify(text[start:start + WINDOW])["spans"]:
key = (s["type"], start + s["start"])
if key not in seen:
seen.add(key)
spans.append({**s,
"start": start + s["start"],
"end": start + s["end"]})
return spans五、边界仍在何处泄漏
有三点必须讲清楚。第一,混合计算只覆盖路由器判定为敏感的步骤,它并不会让整个任务本地化,而且本地模型仍由 Perplexity 替你选择。第二,最低硬件门槛排除了大量机器,因此在任何真实机群里,隐私保证都是部分的。第三,也是最要紧的:闸门是分类器,不是证明——它可能脱敏过少或过多,而且除非你记录,它的错误是无声的。请把它当作强默认值,而不是合规控制。代码示例 5 把边界放进配置,使其可评审、可版本化、可测试,而不是埋在应用代码里——这是「可审计的设计」与「只能祈祷的设计」之间的差别。
hybrid_compute:
hardware_min_unified_memory_gb: 24
recommended_gb: 32
local_models: [gemma-4-e4b, qwen3.6-35b-a3b, pplx-qwen-3.8-27b]
gate:
model: pplx-pii-masking
window_tokens: 4096
on_sensitive: hand_to_local
outcomes: [keep_local, mask, refuse, ask]
log_decisions: true # silent gate errors are a compliance risk六、值得照抄的部分
照抄形状,而不是产品。在隐私边界处定义显式结果,而不是一个布尔值。发布一个小到可审查、可自行扩展的闸门模型。按输入长度衡量召回,并加一趟窗口化推理。把边界放进配置。并诚实地为这笔交易定价:本地推理不花 token,但要付出延迟与硬件门槛。Perplexity 在 2026 年 8 月 25 日于 NVIDIA DGX Spark 上演示了同一思路的完全本地版本——编排器、子 Agent 与 harness 全部在设备上运行,这正是下一步的方向。Agent 的隐私不会靠一张政策页面解决,而会靠一个带可度量闸门的路由器解决;如今这已经是一个任何团队都能研究的产品级设计。
闸门才是产品
按输入长度衡量召回
📌 常见问题 FAQ
Perplexity 混合计算是什么?
2026 年 9 月 1 日面向 Perplexity Mac 应用发布的功能:任务在云端开始,涉及私有文件或敏感数据的步骤则下移到本机运行的模型上。
需要什么硬件?
Apple 芯片、macOS 15 及以上,统一内存最低 24 GB、推荐 32 GB;仅限 Pro、Max 与 Enterprise 订阅用户。
有哪些本地模型可选?
首批包括 Gemma 4 E4B、Qwen3.6 35B-A3B,以及一个 Perplexity 后训练的 Qwen 变体;设置流程指向一键下载的 PPLX Qwen 3.8 27B。
PII 闸门是开源的吗?
是的。Perplexity 开源了闸门背后的 0.6B 分词分类模型 pplx-pii-masking,并发布了 PII-TRACE 研究,企业 IT 团队可据此审计或扩展隐私边界。
最需要了解的局限是什么?
分类器在超过 1 万字符后长上下文召回降至 0.687,滑窗解码可恢复到 0.965。请务必按输入长度衡量召回,而不只看平均值。