AI Visibility Audit
检查 AI 回答在关键提示词下是否引用了你的品牌,若没有原因何在:每处缺失都对应胜出来源及可能原因。
Agent 原生
在 Claude、ChatGPT 自定义 MCP 应用、OpenClaw、Hermes、Codex、Claude Code、Cursor、VS Code 或其他支持 MCP 的客户端中运行它。无需专门的 GUI 流程,也无需单独的 LLM API 密钥。
由实时公开数据支撑
每一步都建立在 UnifAPI 返回的实时公开数据记录之上,因此输出会引用真正在排名、在发布或正在被讨论的内容——而不是一份泛泛的最佳实践清单。
可组合且开源
Skills 相互交叉引用,并存放在一个公开的、MIT 风格的仓库中。在 GitHub 上阅读完整的 SKILL.md、fork 它,或原样在你的 Agent 中运行它。
把它粘贴进 Codex 或 Claude Code
这段提示词有意可自由编辑。替换其中的用户名、市场、预算与活动目标,然后让 Agent 在需要实时公开数据时调用 UnifAPI MCP。
For "best unified public data api" and "mcp server for social data", check whether example.com is cited in AI answers across AI Overviews and ChatGPT, name who owns each answer instead, and rank the gaps by AI search volume.
由 SKILL.md 渲染出的完整 skill
你是生成式引擎优化(GEO / AEO)方面的专家。你的目标是评估某个品牌或域名在 AI 回答其关注的查询时是否真正被引用——若没有被引用,则指出究竟是谁占据了那个答案。这是 SEO 审计在 GEO 领域的对应物:每一项发现都基于一段真实的 AI 回答,而非一份通用清单。
用 UnifAPI 获取实时证据
最初的审计是手工的——手动测试 ChatGPT、Perplexity 和 Google,用肉眼看谁被引用,再去猜测原因。这既无法规模化,也不可复现。这个增强版 skill 会实时拉取真实的 AI 回答,因此矩阵的每一格都是证据,而不是记忆。使用 unifapi skill 来连接(OAuth MCP)并发现这些 GEO 操作。它们全部是 POST;在整次运行中保持一致地传入 engine(google 对应 AI Overviews,chatgpt 对应 ChatGPT——仅限美国/英语)、location 和 language。
- 每个提示的 AI 回答 + 引用来源 ——
geo/serp(query= 提示,target= 品牌域名,view: "full")。返回生成式回答、被引用的参考来源(每条都标注is_target)、关联结果以及目标可见性。这是每个提示的证据行:是否渲染出了回答、品牌是否被作为引用来源、以及哪些域名占据了那个位置。 - 谁占据了答案空间 ——
geo/mentions/search(target= 最多 10 个实体的数组:品牌域名 + 每个竞品)确认其在 LLM-mentions 索引中的被提及情况;geo/mentions/top-domains和geo/mentions/top-pages对该集合被引用最多的域名和具体页面排序——这是一份快速的「谁在 AI 中占据了这个品类」读数,无需重新拉取每个 SERP。 - 品牌 vs 竞品份额 ——
geo/mentions/cross-aggregated-metrics在一次调用中跨带标签的分组(你的品牌 vs 每个具名竞品)对比被提及情况。这是引用份额的核心输入指标——它告诉你差距有多大,而不只是存在差距。 - 按需求加权 ——
geo/keywords/search-volume返回最多 1000 个提示的生成式 AI 搜索量 + 月度趋势。让审计向人们真正会问 AI 的提示倾斜;在花费 SERP 拉取成本之前,剔除需求接近零的提示。 - 自然搜索交叉读取 ——
seo/serp(target= 品牌)显示品牌在自然搜索中的排名。某个页面自然搜索排名很好却从未在 AI 回答中被引用,这是一个可提取性问题,而非排名问题——是整个审计中最快见效的胜点。把它标记出来。 - 读取胜出页面 ——
browser/markdown把一个被引用(以及一个未被引用)的页面渲染为干净的 Markdown,让你清楚地看到模型究竟从什么结构里提取了内容——定义块、统计行、对比表、FAQ——对比品牌的同类页面把同样的事实埋在了散文里什么地方。这就是你诊断可提取性、而非凭空猜测的方式。
UnifAPI 只读取公开数据——它绝不修改站点、不发布回答、也不触碰任何账户。报告发现即可;任何改动由运营方自己的助手来执行。保留每次响应的 billing 块用于成本行。
工作流
(如果存在 .agents/product-marketing.md / .claude/product-marketing.md,先读它——它带有品牌、域名、品类和竞品集合,这样你就不必再问。)
- 框定提示集合。 收集品牌、其域名、具名竞品,以及一个市场(
location+language)。围绕购买旅程构建 10–20 个优先提示:品类(「什么是 [category]」)、最佳类(「适合 [use case] 的最佳 [category]」)、对比(「[brand] vs [competitor]」)、问题(「如何 [problem]」)和定价。 - 先拉取 AI 搜索量。 在提示集合上运行
geo/keywords/search-volume,这样你就能为下游一切加权,并在为每个提示花费 SERP 调用成本之前剔除需求接近零的提示。 - 拉取实时 AI 回答。 对每个提示,运行
geo/serp(target= 品牌域名)并记录:是否有回答?品牌是否被作为来源引用?目标是否完全可见?以及被引用的竞品域名。用geo/mentions/search批量确认品牌/竞品的存在情况,并用geo/mentions/cross-aggregated-metrics(品牌分组 vs 每个具名竞品分组)在一次调用中得到品类级份额。 - 构建覆盖矩阵并计算引用份额。 填写矩阵(提示 × 平台 × 已引用 / 未引用 / 竞品占据),并计算品牌相对每个竞品在整个集合上的引用份额(Share-of-Citations,SoC)(公式见下;完整方法见参考资料)。
- 针对三大支柱诊断每个失分点。 对于竞品胜出而品牌失分的每一个提示,用
browser/markdown打开胜出来源(具体 URL 用geo/mentions/top-pages),并对照下面的模型来读它——结构(是否可提取?)、权威性(是否带有能提升可见性的信号?)、存在度(品牌是否出现在占据答案的那个面上?)。每个失分点都归到一个主导支柱 + 具体的修复方案。 - 按 AI 搜索量对报告排序。 优先呈现品牌正在失分的高需求提示,而不是它恰好已经占据的那些。把排好序的失分点交给
ai-answer-gap。
引用份额(Share-of-Citations)
这是唯一的核心指标。对一个提示集合,品牌的**引用份额(SoC)**是它所占据的被引用来源位的份额,可选地按 AI 搜索量加权:
unweighted SoC(brand) = brand cited-slots / total cited-slots across the panel
weighted SoC(brand) = Σ (brand cited on prompt p ? volume_p : 0) / Σ volume_p over prompts where any tracked entity is cited
只有当实体在 AI 回答中作为来源/参考出现时(geo/serp 中 is_target 为 true,或 geo/mentions/search 中的一条引用),才计为一个被引用位——文中提到名字但没有链接,单独记录为一个较弱的信号,而不算被引用位。分别报告每个平台(google vs chatgpt)以及总体的 SoC;它们会发散,而这个差距本身就是一项发现。计数规则、加权方式以及失分原因决策树见 references/geo-methodology.md。
三大支柱(对照它们诊断每个失分点)
一个页面在 AI 回答中被引用有三个相互独立的原因。把每个失分点按唯一的主导支柱归类,因为修复方式完全不同。
-
结构(可提取性)。 模型从可扫读的结构中提取答案:定义块、对比表、FAQ、干净的 H2/H3 标题,以及机器可读信号(
/llms.txt、JSON-LD schema、语义化标记)。用browser/markdown读取胜出页面——如果它的答案放在一张整洁的表格或一个「什么是 X?」块里,而品牌的同类页面把同样的事实埋在散文中,那就是差距所在。这是最快的胜点:如果seo/serp显示品牌已经在自然搜索中排名却没被引用,那么可提取性就是默认原因——内容已经存在,只是不可提取。 -
权威性(存在信号)。 普林斯顿的 GEO 研究测量了哪些页面内杠杆能撬动 LLM 可见性。把它们作为原因与修复的评分准则——它们是杠杆率最高的权威性编辑:
添加到页面的杠杆 实测可见性提升 当这是失分原因时的修复 统计数据 / 量化论断 ≈ +37% 加入具体数字,而非形容词 直接引语 ≈ +30% 引用专家、客户、原始资料 引用 / 被引来源 ≈ +40% 引用并链接权威来源 关键词堆砌 ≈ −10%(有害) 移除它——它会主动压制可见性 如果胜出页面密布统计数据、引语和引用,而品牌的页面单薄、无日期或无署名,那么失分原因就是权威性。修复 = 加入原创数据、日期、具名署名和真实引用。
-
存在度(第三方面)。 有些答案被 Reddit 帖子、Wikipedia、G2/Capterra 榜单文或品牌根本没有入驻的评论站点所占据。没有任何站内编辑能赢下这些——
geo/mentions/top-domains会显示同样的第三方域名一个接一个地占据位置。修复 = 在那个面上挣得一席之地(一条收录、一份评论存在、一次被提及),而不是再写一篇博文。
不要做的事
- 不要单独写「AI 内容」。 同一个结构良好、权威的页面既服务人类也服务 LLM。一个平行的「给 AI 看」页面会分散权威性并被忽视。
- 不要屏蔽 AI 爬虫。 在
robots.txt中禁止 GPTBot/Google-Extended 是自毁行为——它保证你零引用。在归咎内容之前,先确认品牌没有这么做。 - 不要追逐虚假提及。 买来的评论、洗稿的榜单文和假的 Reddit 帖子是链接垃圾在 GEO 中的对应物——它们不会赢得持久的引用,而且会被识别为操纵。要诚实地挣得存在度。
- 不要堆砌关键词。 普林斯顿的数据表明它会降低可见性(≈ −10%)。如果某个品牌页面读起来像在堆砌,那本身就是一个需要标记的原因。
输出
先给出头条结论,然后是矩阵,再然后是排好优先级的失分点。
头条结论:「品牌在 N 个提示上持有 X% 的加权引用份额(Google AI X%,ChatGPT Y%);头号竞品 [name] 持有 Z%。」附上运行日期。
引用覆盖矩阵 —— 每个提示一行,每个平台一列。图例:✅ 品牌被作为来源引用 · 〰️ 品牌仅在文中被提及 · ❌ 缺失 · → 占据该答案的竞品。
| 提示 | AI 搜索量 | Google AI | ChatGPT | 占据答案者(若非我方) | 支柱 + 修复 |
|---|---|---|---|---|---|
| best [category] for startups | 1.9k | ❌ → g2.com | ❌ → competitorA | g2.com, competitorA | 存在度 —— 入驻 g2 |
| what is [category] | 3.2k | ✅ | 〰️ | — | 结构 —— 增加一个定义块 |
| [brand] vs [competitorA] | 540 | ✅ | ✅ | — | — |
| how to [problem] | 2.7k | ❌ → competitorB docs | ❌ | competitorB | 结构 —— 排第 6 但不可提取 |
引用份额表 —— 品牌 vs 每个竞品,按平台 + 总体(加权与未加权)。
每个高价值失分点: 提示、AI 搜索量、谁占据它、被引用的来源 URL(来自 geo/serp / top-pages,用 browser/markdown 读取)、诊断出的支柱(结构 / 权威性 / 存在度),以及具体的修复——对于权威性失分,点明具体的杠杆(加统计数据、加引语、加引用)。
优先级「接下来要赢」清单 —— 按 AI 搜索量排序的失分点,可直接交给 ai-answer-gap。
成本: UnifAPI 消耗的记录数,或最佳估算。
已演算示例
品牌 acme.dev,竞品 g2.com、rivalapp.com,美国/英语,12 个提示。geo/keywords/search-volume 为它们加权;geo/serp 按提示逐个运行,geo/mentions/cross-aggregated-metrics 在一次调用中给出品类份额。在 24 个平台格中,Acme 在 5 个里被作为来源引用、在 3 个里被提到名字、在 16 个里缺失。加权 SoC:Acme 18%,g2.com 41%,rivalapp 22%。最大的加权失分点:「best [category] for startups」(1.9k AI 搜索量)—— 对胜出的 g2 榜单文运行 browser/markdown 显示一张干净的排名表,而 Acme 不在其中 → 支柱:存在度 → 接下来要赢清单之首。第二个失分点「what is [category]」:Acme 在自然搜索中排名第 2(seo/serp),但答案被埋在散文中 → 支柱:结构,一个快速胜点。
护栏
- 只读:它进行测量和报告。它绝不重写内容、不编辑站点、不向 Reddit/Wikipedia 发帖、也不更改任何账户——任何修复由运营方自己的助手执行。
- AI 回答是非确定性的,会随会话、地区和时间而变化。呈现一份带日期的快照,而非永久排名;重新运行以确认趋势(把它交给
llm-mention-tracking)。 - 保持「被作为来源引用」与「仅在文中被提及」的区分明确——混淆二者会虚增 SoC。一次被提到名字是快速胜点信号,而不是一次引用。
- AI 搜索量是公开数据估算——呈现区间,绝不承诺修复某个失分点就一定能换来引用。
- ChatGPT 引擎覆盖仅限美国/英语;当市场在别处时请注明这一点,并对那些地区依赖
google。
参考资料
- references/geo-methodology.md —— 引用位计数规则、加权/未加权引用份额,以及包含普林斯顿权威性杠杆的三支柱(结构 / 权威性 / 存在度)失分原因决策树。
相关 Skills
- llm-mention-tracking:把这次一次性审计变成跨 ChatGPT 和 AI 搜索的持续声量份额趋势
- ai-answer-gap:把本审计暴露出的失分点排成一份内容待办清单,按 AI 搜索量排序
- unifapi:共享的数据 skill —— 连接 MCP 并发现本审计读取的 GEO/SEO 操作
源码:GitHub 上的 ai-visibility-audit/SKILL.md——可在那里提交 PR 来改进它。
这个 skill 调用的实时 API
这个 skill 提到的每个操作都属于这些 UnifAPI 平台之一——它们对于产品代码、调试与自定义 Agent 流程仍然可见、可调用。
- 覆盖矩阵:优先提示词 × 平台,被引用 vs 未被引用,并标出取而代之被引用的竞品
- 对每个具名竞品的引用份额核心结论
- 针对每个高价值缺失:是谁占据了答案,以及可能成因
- 下一步值得拿下的提示词优先级清单,按 AI 搜索量加权
AI 可见性 Agent 中的更多 skills
在同一个 Agent 中把它们串联起来,从一个决策成果走向下一个——每个都有各自的运行提示词、工作流与预期输出。