Skip to content

Influencer Vetting Agent

本页说明 Influencer Vetting Agent 如何通过公开网页检索核查候选 creator 的公开资料、历史内容和品牌安全风险,生成待人决策的尽调报告。读完本页,你能理解这个场景需要哪些模块、什么时候才需要交互式确认,以及风险规则和尽调结论为什么应该放在版本化审查系统而不是 Memory。

适用场景

Marketing 团队需要评估 creator 的受众匹配、历史内容、品牌安全风险和合作适配度。候选名单动辄数十人,人工翻查各平台历史内容既慢又难留证;而尽调结论如果没有来源支撑,品牌安全风险的判断就无法复核。

典型触发时机:

  • 新 campaign 建立候选名单后,需要在建联前完成批量尽调。
  • 已合作 creator 出现争议内容传闻,需要复核其近期公开内容。
  • 品牌安全规则更新后,需要重新筛查在库候选人。

工程挑战

  • 公开信息分散且时效性强:候选人的争议线索散落在社媒、新闻和视频平台,检索遗漏会漏掉真实风险,引用过期报道又会造成误判——覆盖面和时效都要留痕才能复核。
  • 风险结论必须可复核:一句无来源的"该候选人有品牌安全风险"既无法支撑合作决策,也无法在结论被质疑或候选人申诉时自证;每条风险都要落到具体公开来源。
  • 人物数据的边界敏感:尽调处理的是自然人公开信息,结论只能服务本次评估——把人物风险画像长期沉淀成通用数据,本身就是新的合规风险。

模块组合

模块角色说明
GenAuth核心运行时以静默委托签发短时效凭证(所有产品调用必需);本场景默认无需交互式确认,接入登录态或写动作时才升级 interactive。凭证短时效、可撤销。
Web Agent核心通过 WebSearch 检索候选人公开社媒主页、个人网站和媒体报道,每条线索保留来源链接。
GUMem不使用品牌安全规则和禁用类别是版本化规则,放在规则库(policy store)按版本注入;尽调结论按版本归档在你的审查系统。人物风险画像不沉淀进通用 Memory。

Influencer Vetting Agent 场景架构

何时需要交互式确认

所有产品调用都需要 GenAuth 委托令牌;公开只读场景用静默委托即可。这个场景只读候选人的公开资料,静默委托 products: ['webSearch'] 即可覆盖,不涉及任何站点登录;凭证短时效、可随时撤销。只有以下情况需要升级为交互式确认,由用户在 Qoni Console 确认:

  • 需要登录 marketplace 或 CRM 读取报价、合作历史等授权资料。
  • 需要受控浏览器会话打开需登录的平台页面补充取证。

注意:SDK 示例申请的是产品级委托(webSearch)。候选名单范围和检索边界这类细粒度约束由 GenAuth 的 Agent Profile 或策略层配置强制执行,不由任务 prompt 承担;本页示例未展示该配置。完整语义见 Delegate Token 与缩权

工作流程

Influencer Vetting Agent 工作流程

  1. 用户选择 campaign 和候选 creator 名单。

  2. GenAuth 为本次任务签发静默委托凭证,只覆盖 webSearch 产品。

  3. 应用从版本化审查系统读取当前版本的品牌安全规则、目标受众和禁用类别,注入检索任务。

  4. Web Agent 通过 WebSearch 逐人检索公开社媒主页、个人网站和媒体报道,每条线索保留来源链接。

    检查点:无来源链接的线索直接丢弃;WebSearch 只读公开网页,不登录、不建联。

  5. 应用对照规则整理每位候选人的风险项和受众匹配度,每条结论附公开来源。

  6. Agent 输出尽调报告:匹配摘要、风险项、来源列表和待人确认问题,附规则版本号与 audit id;结论按版本归档到审查系统,不写入通用 Memory。

    检查点:每条风险结论都应能回溯到具体公开来源;无来源支撑的判断不应进入交付物。

示例代码

下面的示例使用官方 Qoni SDK@qoniai/qoni)把这个场景接到你的服务端:静默委托(仅 webSearch 产品)→ 从审查系统读取品牌安全规则 → webSearch.run() 逐人检索公开资料 → 解析并校验线索 → 结论按版本归档。

ts
import { Qoni } from '@qoniai/qoni'

const qoni = new Qoni({
  accessKey: process.env.QONI_ACCESS_KEY!,
  secretKey: process.env.QONI_SECRET_KEY!,
})

export async function vetCandidates(userId: string, candidates: string[]) {
  // 1. 静默委托:只读公开资料,只申请 webSearch 产品,不涉及站点登录
  const { data: grant } = await qoni.delegateToken({
    user: { id: userId },
    agent: 'influencer-vetting',
    products: ['webSearch'],
  })

  // 2. 任务前:从版本化审查系统读取品牌安全规则与禁用类别(不是 Memory)
  const policy = await loadVettingPolicy() // 例如 { version: '2026-08', riskRules: [...], forbiddenCategories: [...] }

  // 3. WebSearch 逐人检索公开资料与争议线索,每条带来源链接
  const search = await qoni.webSearch.run({
    token: grant.token,
    prompt: `
      For each creator candidate (${candidates.join(', ')}), find public social
      profiles, personal sites and press coverage. Summarize risk-relevant
      signals against the vetting policy below, and return findings as a JSON
      array of { candidate, signal, ruleId, sourceUrl } objects — one source
      link per finding. Public information only; never infer sensitive
      attributes or make rejection decisions.

      Vetting policy (version ${policy.version}):
      ${JSON.stringify(policy)}
    `,
    maxResultsPerQuery: 5,
  })

  const result = await search.wait()

  // 4. 应用侧校验输出契约:无来源链接的线索直接丢弃
  const findings = parseFindings(result.output).filter(
    (f) => f.sourceUrl && f.ruleId,
  )

  // 5. 尽调结论按规则版本归档到你的审查系统——不写入通用 Memory
  await archiveVettingReport(candidates, findings, policy.version)

  return {
    findings, // 待人决策:最终合作判断由人完成
    policyVersion: policy.version,
    audit: { auditId: grant.auditId, permissionBoundary: grant.grantedScopes },
  }
}

输出结构由任务描述约定:这里约定返回 { candidate, signal, ruleId, sourceUrl } 数组,应用侧 parseFindings 负责解析与校验,任何缺少 sourceUrlruleId 的条目被直接丢弃。SDK 顶层只返回通用的 RunResultrunIdstatusoutput 等)。

数据与记忆边界

这个场景涉及四类数据,都不需要进入 GUMem:

  • 版本化规则:品牌安全规则、目标受众定义、禁用类别——放在规则库(policy store)里按版本管理,每条风险结论引用规则版本号。
  • 业务状态:尽调报告、风险线索与来源列表——按规则版本归档到你的审查系统,供复核与申诉处理。
  • 审计记录:grantIdauditId 构成的委托与行为链——由 GenAuth 维护。
  • 用户 Memory(可选):这个场景默认不召回也不写回;明确不把人物风险画像长期沉淀进通用 Memory——候选人公开信息只服务本次尽调,评估结束后按你的数据保留策略处理。

失败处理

情况推荐处理
检索结果缺少来源链接应用侧校验直接丢弃该线索;风险结论宁缺毋滥。
公开来源页面已删除或不可达保留失效记录,相关风险项标注为依据不完整,不引用缓存内容替代。
WebSearch 无法覆盖某候选人标注为资料不足,交人工补查,不用推测填充结论。
检索结果指向重名人物标注为身份待确认,交人工核对后再进入报告。

生产注意点

不要推断敏感属性或做自动拒绝决策。最终合作判断应由人工完成。Agent 只读公开网页,不私信、评论或向 creator 发起建联;候选人个人数据只处理公开可见信息,仅限本次尽调用途,不得沉淀为通用画像。检索行为应遵守来源站点的服务条款。

下一步