← 返回专栏
· 2 分钟阅读

Query Fan-Out 内容规划:先把 AI 搜索的子问题画出来,再决定写什么

你在 AI 搜索里问一个问题,引擎背后其实拆出了十几个子问题分别去搜,再把答案拼起来。这意味着内容竞争的单位变了:不是抢一个主词,而是接住每一个分支。这篇讲一个零依赖的 Python CLI,怎么把任意种子词的子查询树完整生成出来,用真实的自动补全校验哪些分支有真实搜索需求,再从里面挑出高商业意图、低竞争的金矿分支。全部命令和输出都是真实跑出来的,工具的启发式哪里会骗人也一并说清楚。

TL;DR

TL;DR:AI 搜索回答你之前,先把你的问题拆成 8 到 12 个子问题(价格分支、替代品分支、场景分支、疑虑分支),并行检索后合成一个答案。只回答主词的文章,只在十几个分支里竞争了一个。zens-ink 包里的 geo_fanout 是一个零依赖 CLI,输入种子词就能生成完整子查询树:7 个意图维度、每个种子 55 条子查询、用免费的自动补全接口校验真实需求、给每条打金矿分。真实跑一次 ai seo tools:55 条子查询、23 条金矿、38 条通过需求校验。竞争度估算是词数代理,别当真实难度用,写之前再过一道 SERP 难度评分。整个报告里被低估的是「意外发现」那一段:模板生成不出来、只有真实需求才能给出的查询,内容缺口真正藏在那里。

你在 Perplexity 或 ChatGPT 里问一句话,背后发生的事比看起来多。系统先把你的问题拆成一串子问题:多少钱、有什么替代品、适不适合你的行业、靠不靠谱、怎么入门,每个子问题分别去搜,最后把这些答案拼成一段回复给你。Google 给这个机制起了名字,叫 query fan-out,AI Mode 和 AI Overviews 都在用。

这个机制改变了内容竞争的单位。传统 SEO 抢一个主词,谁的页面排第一谁拿流量。AI 搜索不是这样:一次提问扇出十几个分支,引擎从每个分支里挑最好的段落来引用。你的文章只回答了主词,就只在十几个分支里竞争了一个。排第一也未必被引用,因为合成答案时引擎看的是分支覆盖,不是主词排名。

所以写内容之前,应该先把这棵子查询树画出来,再决定哪些分支值得单独成文。这篇讲一个干这件事的 CLI 工具,命令和输出全部真实。

工具生成什么

工具是 zens-ink 包里的 geo_fanout,纯标准库,零依赖,不需要任何 key。方法论基础来自 Span 的 AI 引用排名因子研究和 GEO 论文(arxiv:2311.09735),核心结论是 AI 引擎偏好能直接回答具体子问题、结构上可摘录的内容。

它把种子词沿七个意图维度展开,每个维度带商业意图权重:

  • 人群 {关键词} for developers、for small business、for agencies(高)
  • 场景 {关键词} workflow、use cases、examples(中)
  • 价格 {关键词} pricing、cost、free alternative、roi(极高)
  • 功能 {关键词} api、integrations、open source(中)
  • 竞品 {关键词} alternatives、best {关键词}、review(极高)
  • 疑虑 {关键词} safe、worth it、is {关键词} legit(中)
  • 入门 what is {关键词}、how does {关键词} work(低)

每个种子 55 条候选子查询。生成本身是即时的、离线的。有意思的是下一步:每条子查询会拿去查 Google 自动补全,十个节流请求打公开接口,不要 key,看真人是不是真的在搜它。生成出来但补全里毫无踪迹的查询只是一个假设,补全里有确认的才是需求。

每条子查询再算一个金矿分:商业意图权重加倍,减去竞争度惩罚,通过真实需求校验的再加一分。4 分以上进金矿列表。

真实跑一次

种子词 ai seo tools,人群 solo developers:

python3 -m zens_ink.geo_fanout "ai seo tools" --icp "solo developers"

报告开头:

GEO Fan-out Report: "ai seo tools"

ICP: solo developers
Total sub-queries generated: 55
Gold mine opportunities: 23
Live search demand validated: 38 queries

GOLD MINE QUERIES (high intent + low competition)

Query                              Intent       Comp     Live
----------------------------------------------------------------
ai seo tools free alternative      very_high    low      ✓
ai seo tools vs free               very_high    low      ✓
ai seo tools vs competitors        very_high    low      ✓
ai seo tools pricing               very_high    medium   ✓
ai seo tools cost                  very_high    medium   ✓
cheapest ai seo tools              very_high    medium   ✓
ai seo tools roi                   very_high    medium   ✓
ai seo tools for solo developers   high         low      ✓
ai seo tools for small business    high         low      ✓
...

再往下是从头部金矿推导的支柱加集群内容计划,10 篇集群文章各有意图和竞争度标注。

对比一下 --no-live(纯离线生成,零请求):同样 55 条子查询,金矿只剩 15 条。差的那 8 条全靠真实需求校验捞回来,这一步就是内容日历和愿望清单的区别。

真正该看的那一段

金矿表看起来是报告的精华,其实只是及格线。价格和替代品查询,任何内容规划工具都会生成。报告里信号密度最高的部分在最底下,很容易漏看:意外发现查询:自动补全里真实出现、但不匹配任何模板的查询。

那次真实运行的产出:

SERENDIPITOUS QUERIES (from live search, not in templates)

• ai seo tools 2026
• ai seo tools for marketing agencies
• ai seo tools for shopify
• ai seo tools for wordpress
• ai seo tools for youtube
• ai seo tools hostinger
• ai seo tools reddit
• best ai seo tools for early stage startups
• best ai seo tools for saas
• best ai seo tools for solo founders
• best ai seo tools reddit

ai seo tools hostinger 这种查询,模板永远生成不出来,只有需求能。平台修饰词(for shopify、for wordpress、for youtube)和人群修饰词(for solo founders、for early stage startups)正是 AI 合成引擎奖励的具体性信号,而且它们来自真实接口,不是猜测。一份扇出报告如果只带走一样东西,带走这一段。reddit 后缀出现两次本身也是一个信号:搜索者在这个话题上更信论坛而不是厂商,这是引用来源层面的洞察,不只是个关键词。要系统性地挖这一层,配合 Reddit 关键词研究管线。

启发式哪里会骗你

两个诚实的局限,naive 使用会白白烧掉写作预算。

竞争度估算是词数代理。五词以上判低、三四词判中、更短判高。长尾方向上没问题,但 best project management software for construction 是五个词的 DR 90 血战。金矿分只用来在报告内部排序,永远不要当难度结论。入围的集群文章动笔前,跑真实的 SERP 难度评分,按页面类型和品牌指纹对实际 SERP 打分,那才是值得拿来规划的竞争度数字。

需求校验是子串匹配。模板 ai seo tools free 会匹配任何包含或被包含于这个字符串的补全建议,所以校验打勾的含义是「存在相关的补全面」,不是「这个精确串被建议过」。信号是真的,但是粗的。终选清单要精确需求量的话,过一遍 Bing Webmaster 搜索量管线。整个工作流就是:扇出时放开撒,校验时收窄。

在管线里的位置

扇出规划插在发现和聚类之间:

  1. 发现种子词,来源是自动补全和 GSC 挖掘管线
  2. 扇出,把每个种子展开成子查询树(这个工具),生成式,包含还没有内容的分支
  3. 聚类,合并后的关键词集做主题分组,回顾式归并已观察需求,见关键词聚类方法
  4. 难度校验,入围清单跑真实 SERP 难度
  5. 发布,按扇出结构写:每节自带 BLUF 答案、对比表、FAQ 结构化数据

第 2 步和第 3 步经常被混为一谈,它们方向相反。聚类压缩你见过的需求,扇出扩展 AI 引擎会去找的需求。两步都要,先扇出后聚类。

覆盖分支的目的既然是被合成引擎引用,发布后的另一半循环也得有:GEO 得分方法审计已发布页面是否真的可摘录,见 GEO 得分方法论;定期的 AI 搜索可见度审计告诉你这一切有没有起效,见 AI 搜索可见度审计。扇出规划是循环的输入侧,审计是反馈。

工具本身在 开源 SEO 工具 里,pip install zens-ink,纯标准库,可离线跑,自动补全校验的成本只是一秒钟的礼貌请求。

FAQ

什么是 query fan-out(查询扇出)?

AI 搜索引擎在回答之前做的查询扩展步骤。系统不直接拿你输入的原话去检索,而是生成 8 到 12 个相关子问题,覆盖不同意图维度(价格、替代品、使用场景、疑虑、入门),每个子问题各自检索排序,最后合成一个带引用的答案。Google 的 AI Mode、Perplexity、ChatGPT 搜索都是这个架构。对内容策略的含义是:竞争单位从主词变成了扇出树的每个分支。

扇出规划和关键词聚类有什么区别?

聚类是把已有的关键词(GSC 导出、自动补全、竞品数据)按语义分组,是回顾式的,基于已观察到的需求。扇出规划是生成式的:枚举 AI 引擎会把种子词扩展成哪些子问题,包括还没有人写过内容的分支。两者是上下游关系,先用扇出生成子查询树,再对产出聚类排优先级,落成支柱加集群的内容计划。

这个工具需要 API key 或付费数据源吗?

不需要。geo_fanout 是纯 Python 标准库实现。模板生成完全离线可用(--no-live 参数)。真实需求校验用的是 Google 公开自动补全接口,不需要 key,和关键词挖掘管线用的是同一个免费端点,每个种子约十次节流请求,一秒左右跑完。

报告里的竞争度估算准吗?

它是刻意的代理指标:按词数算。五个词以上判低竞争,三四个词判中,更短判高。方向上符合长尾规律,但它不是难度分。一个五词查询如果 SERP 前排全是 DR 90 的对比页,它一点也不容易。正确用法是拿金矿分在报告内部排优先级,入围的查询写之前再跑真实 SERP 难度评分。

想给自己的站点做同样的分析?

ZensInk Pro 把这个流程自动化了。一条命令,从种子词到内容计划。

查看 Pro →