Influencer Vetting Agent
本页说明 Influencer Vetting Agent 如何通过公开网页检索核查候选 creator 的公开资料、历史内容和品牌安全风险,生成待人决策的尽调报告。读完本页,你能理解这个场景需要哪些模块、什么时候才需要交互式确认,以及风险规则和尽调结论为什么应该放在版本化审查系统而不是 Memory。
适用场景
Marketing 团队需要评估 creator 的受众匹配、历史内容、品牌安全风险和合作适配度。候选名单动辄数十人,人工翻查各平台历史内容既慢又难留证;而尽调结论如果没有来源支撑,品牌安全风险的判断就无法复核。
典型触发时机:
- 新 campaign 建立候选名单后,需要在建联前完成批量尽调。
- 已合作 creator 出现争议内容传闻,需要复核其近期公开内容。
- 品牌安全规则更新后,需要重新筛查在库候选人。
工程挑战
- 公开信息分散且时效性强:候选人的争议线索散落在社媒、新闻和视频平台,检索遗漏会漏掉真实风险,引用过期报道又会造成误判——覆盖面和时效都要留痕才能复核。
- 风险结论必须可复核:一句无来源的"该候选人有品牌安全风险"既无法支撑合作决策,也无法在结论被质疑或候选人申诉时自证;每条风险都要落到具体公开来源。
- 人物数据的边界敏感:尽调处理的是自然人公开信息,结论只能服务本次评估——把人物风险画像长期沉淀成通用数据,本身就是新的合规风险。
模块组合
| 模块 | 角色 | 说明 |
|---|---|---|
| GenAuth | 核心 | 运行时以静默委托签发短时效凭证(所有产品调用必需);本场景默认无需交互式确认,接入登录态或写动作时才升级 interactive。凭证短时效、可撤销。 |
| Web Agent | 核心 | 通过 WebSearch 检索候选人公开社媒主页、个人网站和媒体报道,每条线索保留来源链接。 |
| GUMem | 不使用 | 品牌安全规则和禁用类别是版本化规则,放在规则库(policy store)按版本注入;尽调结论按版本归档在你的审查系统。人物风险画像不沉淀进通用 Memory。 |
何时需要交互式确认
所有产品调用都需要 GenAuth 委托令牌;公开只读场景用静默委托即可。这个场景只读候选人的公开资料,静默委托 products: ['webSearch'] 即可覆盖,不涉及任何站点登录;凭证短时效、可随时撤销。只有以下情况需要升级为交互式确认,由用户在 Qoni Console 确认:
- 需要登录 marketplace 或 CRM 读取报价、合作历史等授权资料。
- 需要受控浏览器会话打开需登录的平台页面补充取证。
注意:SDK 示例申请的是产品级委托(webSearch)。候选名单范围和检索边界这类细粒度约束由 GenAuth 的 Agent Profile 或策略层配置强制执行,不由任务 prompt 承担;本页示例未展示该配置。完整语义见 Delegate Token 与缩权。
工作流程
用户选择 campaign 和候选 creator 名单。
GenAuth 为本次任务签发静默委托凭证,只覆盖
webSearch产品。应用从版本化审查系统读取当前版本的品牌安全规则、目标受众和禁用类别,注入检索任务。
Web Agent 通过 WebSearch 逐人检索公开社媒主页、个人网站和媒体报道,每条线索保留来源链接。
检查点:无来源链接的线索直接丢弃;WebSearch 只读公开网页,不登录、不建联。
应用对照规则整理每位候选人的风险项和受众匹配度,每条结论附公开来源。
Agent 输出尽调报告:匹配摘要、风险项、来源列表和待人确认问题,附规则版本号与 audit id;结论按版本归档到审查系统,不写入通用 Memory。
检查点:每条风险结论都应能回溯到具体公开来源;无来源支撑的判断不应进入交付物。
示例代码
下面的示例使用官方 Qoni SDK(@qoniai/qoni)把这个场景接到你的服务端:静默委托(仅 webSearch 产品)→ 从审查系统读取品牌安全规则 → webSearch.run() 逐人检索公开资料 → 解析并校验线索 → 结论按版本归档。
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 负责解析与校验,任何缺少 sourceUrl 或 ruleId 的条目被直接丢弃。SDK 顶层只返回通用的 RunResult(runId、status、output 等)。
数据与记忆边界
这个场景涉及四类数据,都不需要进入 GUMem:
- 版本化规则:品牌安全规则、目标受众定义、禁用类别——放在规则库(policy store)里按版本管理,每条风险结论引用规则版本号。
- 业务状态:尽调报告、风险线索与来源列表——按规则版本归档到你的审查系统,供复核与申诉处理。
- 审计记录:
grantId与auditId构成的委托与行为链——由 GenAuth 维护。 - 用户 Memory(可选):这个场景默认不召回也不写回;明确不把人物风险画像长期沉淀进通用 Memory——候选人公开信息只服务本次尽调,评估结束后按你的数据保留策略处理。
失败处理
| 情况 | 推荐处理 |
|---|---|
| 检索结果缺少来源链接 | 应用侧校验直接丢弃该线索;风险结论宁缺毋滥。 |
| 公开来源页面已删除或不可达 | 保留失效记录,相关风险项标注为依据不完整,不引用缓存内容替代。 |
| WebSearch 无法覆盖某候选人 | 标注为资料不足,交人工补查,不用推测填充结论。 |
| 检索结果指向重名人物 | 标注为身份待确认,交人工核对后再进入报告。 |
生产注意点
不要推断敏感属性或做自动拒绝决策。最终合作判断应由人工完成。Agent 只读公开网页,不私信、评论或向 creator 发起建联;候选人个人数据只处理公开可见信息,仅限本次尽调用途,不得沉淀为通用画像。检索行为应遵守来源站点的服务条款。
下一步
- 阅读 快速开始 跑通 Agent 身份与委托的最短路径。
- 阅读 授权与浏览器沙盒 了解受控会话的安全边界。
- 继续查看 评论洞察 Agent 了解相邻场景。