site logo

Marico's space

先覆盖、后置信:面向创作者分析Agent的证据账本设计

AI技术与应用 2026-08-13 14:49:19 9

最近折腾小红书创作者分析智能体(Agent),踩了几个坑才明白一个道理:Agent 写出来的报告看着挺流畅,但能不能这么写才是关键问题。

如果 Agent 读取了三篇可见的帖子,然后悄悄把它们描述成"完整的账号策略",问题不在于文字功底,而在于隐蔽的范围扩张。

做开源技能的过程中,我发现最有效的设计改进是把"覆盖账本"放在每个结论之前。

覆盖账本记录什么

账本把四个计数明确下来:

  • 发现的条目数
  • 成功解析的条目数
  • 内容完整到足以分析的条目数
  • 被选中做深度分析的条目数

同时还记录停止条件、重复项、低信息量条目、失败或跳过的条目,以及仍未覆盖的素材。

这个区分很重要——一次成功的 HTTP 响应不等于一篇可读的帖子,可读的样本也不等于完整的账号。

三种输入模式,三种不同的声明

工作流使用三种模式,作用域刻意不同:

  1. QUICK_SET:深度分析用户提供的 3-8 篇帖子。不访问网络,提供的内容全部纳入分析。
  2. PUBLIC_SAMPLE:仅检查公开可读内容,清点有限范围,透明地选择样本。绝不能把它呈现为完整账号覆盖。
  3. ACCOUNT_PACKAGE:先清点用户提供的导出包或压缩包,再选择 3-8 条目做深度分析。这里的声明范围仅限于该包,不是有平台背书的独立导出。

模式不仅仅是实现选择,它定义了最终报告被允许说什么。

Evidence IDs 让结论可审计

工作流分离了三层证据:

  • Sxxx:标识在账号或包清点过程中发现的条目。
  • Nxx:标识被选中深度分析的完整条目。
  • Axx:标识从成功解析的清点字段计算出的聚合值,包含分子、分母和排除项。

这防止了一个常见偷懒:用标题、时间戳或互动数来"证明"写作风格、作者意图或受众反应。

对于内容机制类的结论,中等或高置信度的声明必须回溯到多个独立的 Nxx 条目。冲突和反例保持可见,而不是被平均掉。

HOLD 是有效结果

系统只暴露两种顶层状态:

  • PASS:报告在声明的覆盖范围内是可支撑的。
  • HOLD:缺失内容、身份模糊、访问限制、不安全输入或证据不足导致无法给出完整报告。

HOLD 不是要隐藏的错误。当继续下去需要猜测或绕过访问控制时,HOLD 是正确答案。

举个例子,一次真实的小红书短链边界测试到达了一个通用页面,但产生了:

  • 零个唯一确认的账号
  • 零条可识别的帖子
  • 零个完整的帖子正文
  • 零个深度分析的条目

预期和实际结果都是 HOLD。Agent 没有登录、没有用 cookie、没有绕过边界,也没有声称完成了成功的账号分析。

v0.2.1 测试了什么

仓库目前包含:

  • 13 个合成行为测试用例,覆盖提示词注入、风格仿冒、冲突证据、不安全归档、多语言输出、账号采样和范围越界
  • 五个离线验证器回归测试,覆盖基线、未批准 URL、凭证形头部、原始网页标记和符号链接
  • 一个维护者运行的一致性测试,使用来自同一作者的五篇公开 CC BY-SA 文章
  • 一份针对 X 和小红书入口点的隔离现实访问边界记录

五篇文章测试通过了每个适用的评分项,包括证据可追溯性、范围诚实性、不确定性、用抽象而非模仿、以及数据安全。

局限性同样重要:这些是维护者的自我测试。不是独立采用案例,不是正向的小红书端到端结果,也不能证明跨模型语义质量。语义评估仍然是手动的或由独立智能体执行的。

为什么这个模式可以泛化

覆盖账本不只对创作者分析有用。当智能体总结部分可见的语料时,同样的模式都适用:

  • 截断了历史记录的工单
  • 有论文访问不到的研究综述
  • 排除了生成文件的仓库审计
  • 跨不完整导出的客户反馈分析
  • 有分页或登录边界的公开账号研究

在问"智能体发现了什么模式?"之前,值得先问:

  1. 到底有什么是可发现的?
  2. 实际解析了什么?
  3. 什么完整到足以分析?
  4. 什么被选中、排除了、或仍未知?

没有这四个事实,置信的答案难以审计。

开源实现

实现以 MIT 许可证发布在 xhs-creator-distill 仓库。真实世界的测试产物与合成示例刻意分开,标注了第三方归属和离线策略门控。

目前正在决定先做哪个确定性导出适配器。如果有人愿意在两点上给技术反馈会很感兴趣:

  • 覆盖账本带来的信任提升是否值得额外的输出重量?
  • 哪个创作者导出格式最适合做第一个适配器:JSON、CSV 还是 Markdown 目录?