ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

GEO工程实践:从提示词解析到模型引用追踪的优化闭环

GEO工程实践:从提示词解析到模型引用追踪的优化闭环 1. 这个项目为什么值得做GEO不是SEO的进阶版是另一套游戏先说个题外话。市面上搜GEO这个词大概率会先跳出来几类完全不相关的结果传统GEO卫星36000公里轨道那种延迟大几百毫秒、LEO低轨卫星星座、基因表达数据库GEO甚至还有“用Python读取GEO单细胞数据”这种生信教程。我自己第一次遇到这个需求的时候也差点被这些搜索结果带偏。我要说的GEO是Generative Engine Optimization翻译过来就是“生成式引擎优化”。它的含义很直接你做的内容不是给人看的搜索快照做排名而是给大模型、给AI搜索去“读”、去“引用”、去“复述”的。换句话说AI搜索会直接把你的内容当成“事实来源”在回答用户问题时引用出来。以前咱们做SEO是争取在Google、百度搜索结果页排第一现在GEO追求的是“AI在生成回答时把你当成引用源”。这个项目的背景是在上海甲方是一个垂直行业的内容平台手握大量结构化问答数据和行业知识库但面临一个尴尬问题用户用AI搜索比如新兴的深度搜索型引擎、大模型内置联网搜索问行业问题时模型的回答里基本没有他们平台的内容来源。流量被截胡了数据躺在库里毫无存在感。整个项目从启动到形成闭环差不多用了三个月。核心不是搞一套花架子而是解决四件事模型到底怎么理解我们的提示词语境知识库里哪些内容能被模型有效调用内容在模型侧的分发占比能不能提升被引用之后怎么追踪和迭代这篇文章我会把这套工程实践完整拆开把提示词解析、知识库治理、内容分发、模型引用追踪、周期复测这几块怎么串成优化闭环讲透同时把实际操作中会踩的坑一并交代清楚。适合正在做内容平台、企业知识库、AI搜索优化方向的产品经理、算法工程师、运营和SEO从业者尤其是那些已经感受到“传统SEO不灵了”的人。2. 闭环的整体设计五环相扣不是五件事各干各的先看整体思路。GEO优化如果只是发内容、改页面、等收录那这条路基本走不通。AI搜索的逻辑和传统爬虫完全不同它通过大模型语义理解、意图判断、源头信息偏好来生成答案。所以整个工程必须围绕“模型如何理解你、信任你、引用你”来设计。闭环一共五个环节提示词解析搞清楚目标用户会怎么向AI提问模型如何拆解这些提问。知识库治理把底层内容状态理清楚让机器能“读得懂、读得对”。内容分发把治理好的内容以模型友好、标准明确的方式露出去。模型引用追踪搞清楚哪些内容被哪类模型引用了追踪到具体查询和位置。周期复测持续用固定问题集和模型组合做回归测试看优化是否真的生效。这五步单独抽出来每步都不难难的是形成闭环。比如你做了知识库治理但没做引用追踪就不知道治理方向对不对你做了提示词解析但没有把结果反馈到知识库清洗规则里那解析就只是纸面分析。整个项目里我们最看重的是两个衔接点提示词解析到知识库治理的衔接以及模型引用追踪到周期复测的衔接。前者解决“知道用户怎么问、模型怎么想”后者解决“知道优化有没有用、怎么调”。这两个衔接打通了闭环才算真正跑起来。闭环的推进用的是一个朴素的PDCA循环逻辑解析用户意图Plan— 治理内容与分发Do— 追踪模型引用数据Check— 复测调整Act。合作方里好几个是原先做传统SEO的团队最不适应的就是以前优化看排名现在排名不见了只剩“被引用”这种摸不着的数据。后面第三部分我会具体讲怎么把“摸不着”变成可衡量。3. 提示词解析先搞清楚“模型怎么看待你的问题”再谈优化3.1 提示词解析到底解析什么提示词解析不是简单统计用户搜索了什么词而是去分析“用户完整提问的表达结构”以及“模型对这个问题的理解路径”。传统SEO看关键词热度GEO看的是意图-语境-实体-关系四件套。举个例子。传统SEO时期用户搜索“上海 居住证 办理条件”我们只要做好这个词的标题、关键词密度、外链就有机会进前三。但在AI搜索场景下用户可能这样问“我在上海工作想办居住证需要满足什么条件要准备哪些材料”这句话里有几个要素实体上海、居住证、我意图办事指南类需要条件和材料清单隐含语境用户是在职人员不是应届生关系居住证办理 → 条件 → 材料之间的因果关系模型解析这句话时不会像搜索引擎那样做词频匹配而是把整句编码成语义向量然后去知识库里找语义最接近的内容块。如果咱们的内容只写了“办理条件”没有写“材料清单”或者内容和用户隐含的“在职人员”场景不匹配模型就很难把它当作最优答案引用。这个环节如果做得糙后面全白搭。因为提示词解析直接决定了你知识库按什么策略去治理、内容按什么结构去重构。3.2 我们实际怎么做的提示词聚类与意图映射实操上我们分三步走第一步采集提示词语料。从三个渠道拿到了初始数据平台站内搜索日志约60万条、行业社群里用户真实提问整理后约3万条、以及大模型开放性回答时带出的问题样例。站内搜索日志是金子因为它是真实的、未被用户修饰过的表达方式。第二步聚类和抽取。用大模型API对这批提示词做批量聚类按“意图类别实体清单问题模板”三个字段输出。比如“居住证 上海 怎么办”和“上海办理居住证需要什么材料”会被归到同一个意图类但一个模板是“XX怎么办”一个模板是“XX需要什么材料”实体都是“上海居住证”。第三步做意图-内容映射矩阵。这是最见功力的地方。把聚好的提示词类型映射到知识库里的内容模块看哪些内容能覆盖到这些意图哪些覆盖不到。我们用了一张简化的矩阵表来梳理提示词意图类常见表达模板对应内容模块当前覆盖状态条件查询XX需要什么条件政策条件说明已覆盖材料查询办XX要准备哪些材料材料清单未覆盖只有一句概话流程时效XX流程要多久办理周期说明部分覆盖常见失败XX为什么被拒驳回原因解析缺失这张表做出来之后知识库治理就不用“凭感觉”了缺什么补什么优先级也一目了然。这里有一条实操心得千万别只在“关键词”层面做提示词解析。大模型的语义泛化能力很强“办居住证麻烦吗”这种口语化问题和“居住证办理难度”在模型视角下可能是同一类意图但在传统关键词层面根本匹配不上。所以解析必须做到意图语义层而不是字面层。另一个坑是不要忽略否定式提问和假设式提问。比如“不满足社保条件还能办居住证吗”“如果离职了居住证还有效吗”这些带条件分支的提示词对内容结构的要求很高。普通说明文很难应对这种问题需要把内容拆成“分支结构”来组织。这个在下一节知识库治理里会细说。3.3 提示词解析的输出物这个环节的最终输出不是报告而是一份动态提示词意图库大概包含意图ID和意图名称典型表达样例至少5-8条/意图对应内容模块清单内容结构要求需要包含哪些字段优先级评分高/中/低这份动态库要持续更新。我们当时每两周就跑一次增量聚类把新出现的提问方式补充进去。这也是闭环里“周期复测”的重要输入之一。4. 知识库治理模型吃的是向量你喂的却是页面4.1 为什么知识库治理是GEO的命门如果你做过RAG检索增强生成就会知道一个残酷的事实大模型的回答质量锚定在检索到的内容块质量上。即使模型本身再强如果检索到的文档是矛盾的、过时的、结构混乱的融合生成的结果就是一团糟。AI搜索的原理类似它不是把整个网页喂给模型而是把网页切块、向量化、检索、再生成。所以内容平台和知识库往GEO走第一步就是让“切块”这个动作能切出高质量的语义单元。我们接手的知识库大概有800万条内容包括政策条文、办事指南、FAQ、论坛帖子混在一起。直接用现成页面去做GEO优化模型切块之后大概率会切成这样的碎片切割点落在半句话上一个问答对的“问”和“答”被切到两个不同的块列表项被切断模型只看到一半时效性信息如“2023年调整”和正文分离这种知识库喂给AI搜索不亚于让模型拼图却丢了三分之一拼块。4.2 内容切块与结构重构从“页面思维”到“块思维”这个环节花的时间最长我们前后迭代了三版。第一版纯文本按字数切。每512个token一刀结果惨不忍睹模型回答经常引用到一半结论。这个方案只跑了一周就废了。第二版按Markdown标题结构切。有改进但仍然不理想因为原有内容里很多标题写得过于口语化且一个标题下的内容块太长。模型检索时召回结果相关性不稳定。第三版按“语义完整性”重构后再切。这是我们最终用的策略。做法是先对每篇内容做语义分段识别“定义/条件/材料/流程/时效/常见问题”等语义标签按语义标签拆块每个块控制在300-800字块与块之间保留元数据链接比如“条件块”关联“材料块”每个块自动生成一个“简短摘要”字段用于后续索引和检索。举个例子。原来一篇标题为“上海居住证办理指南”的页面切块后变成了块A类型适用对象“非沪籍人员在上海稳定就业并缴纳社保满6个月可申请居住证”块B类型条件清单3项具体条件每项含说明块C类型材料清单7类材料每类附注意事项块D类型流程时效线上申请-线下提交-审核-制证总时限约15个工作日每个块还配了元数据类型、标题、来源页面、更新时间、适用人群。这时候再喂给模型检索召回的相关块在语义上就“又清又专”引用准确率直接上了一个台阶。4.3 事实性与时效性治理让模型敢引用你知识库里最怕的就是“看起来对但经不起追问”的内容。AI搜索有一个特点它会生成一段完整回答然后标注引用来源。一旦它引用了你但内容里有事实性错误用户追问后模型发现兜不住就会在下一轮回答里悄悄替换掉你的来源。所以引用率上升之后紧接着来的就是事实性和时效性的审核高压。这里我们立了几个规范供参考每类内容必须有“最后核实日期”字段超过12个月自动标记为需复核AI搜索对时效敏感的问题政策类、价格类、规则类会优先选更新时间近的内容。数值类信息单独存放不要藏在长段落里。比如“社保满6个月”“材料包括身份证原件”这些抽出来作为结构化字段降低模型复述时“自由发挥”的概率。矛盾内容标记处理。如果同一平台内新旧政策表述有冲突必须在旧内容上增加一条醒目提示如“该政策已被2024年新规替代”否则模型如果同时检索到新旧两版内容极大概率会把矛盾文本一起编进回答这个体验就很糟糕了。这块没有捷径。我们当时组织了一个3人小组专做事实核查优先处理与“条件、时间、金额、流程”相关的top意图内容。原则是宁可少覆盖不要错覆盖。AI搜索对一个错来源的容忍度极低。4.4 工程量评估与人力配置知识库治理这部分最容易翻车的地方是想一次性治理全库。800万条内容靠人工根本不可能全自动清洗又不现实。我们最后采用的是“按意图分桶优先级治理”的策略高优先级覆盖搜索量top20意图的内容约2万条人工逐条审查结构中优先级top50-100意图的内容约15万条半自动治理自动切块人工抽检低优先级剩下内容暂不处理等前两轮闭环跑通再滚动治理这个策略很实在。GEO优化不是内容平台的全部内容都要优化而是优先让模型在关键问题上能找到你、引用你。逐步放大覆盖范围比一次性把战线铺开安全得多。5. 内容分发别只盯着网页结构化输出和实体可见性是分发的两条腿5.1 从站点架构到“模型可读”的结构化输出内容治理好之后接下来的问题是怎么让AI搜索的爬虫和模型能有效获取到这些内容传统SEO关注sitemap、robots.txt、内链结构GEO当然也关注这些基础设施但重心变了——模型更愿意读取结构清晰的、语义完整的内容块而且对“实体关系”极其敏感。我们在分发侧做了四件事页面按语义块输出而不是按段落输出。实现了让每个语义块有独立的HTML块级元素并用Schema.org的JSON-LD标注类型。比如条件块用“additionalProperty”、材料块用“ItemList”、流程块用“HowTo”让模型能直接识别“这是一个流程说明”而不是“一段文本”。生成独立于页面渲染的纯文本/纯Markdown版本。很多AI搜索爬虫在抓取时并不执行复杂JS如果页面靠前端渲染模型大概率只能拿到空壳。实测下来加一个link relalternate typetext/markdown的出口对某些模型的召回效果帮助非常大。强化实体锚点。比如“上海市”“居住证”“社保”这些实体在内容里自然出现并做好链接指向站内的解释页或权威来源页。模型在构建知识图谱时实体关联会增强我们内容块的“可信度上下文”。保持URL稳定避免频繁变动。内容更新时优先在原页面增量更新而不是新建页面下旧页面。对模型来说同一个URL的稳定性其实是重要的信任信号——背后是平台内容的连续性。5.2 针对不同模型的分发测试同一个内容不同模型吃法不一样这块我们做了很多轮测试。主流AI搜索/大模型引擎大概分三类聊天型如ChatGPT、豆包、Kimi、文心一言用户直接提问模型联网检索获取来源。这类引擎对网页抓取质量要求高尤其看重内容的语义清晰度和事实一致性。搜索型如Perplexity、秘塔AI搜索、360AI搜索本质上还是搜索生成有明确的“引用来源列表”对URL的结构化标注更敏感。应用内AI如微信AI搜索、知乎直答在特定生态内检索偏爱平台自己的内容和用户正反馈信号。我们在分发测试时建了一个“内容分发兼容性检查清单”包括模型能否直接抓取到该URL用模拟抓取工具验证页面在无JS环境下是否能完整展现正文结构化标注是否能被正确解析正文是否含有明确的结论性语句模型偏好有明确主句的段落页面加载速度是否达标3秒以内移动端每测一轮就把不达标的内容拉回知识库治理环节重新加工。分发和治理不是上下游关系是一个互相反馈的循环。这里有一个容易被忽略的点摘要和首段要“结论先行”。模型在检索到内容块后有时只截取一段作为生成来源。如果开头是“长期以来居住证问题一直困扰着很多来沪人员”这种铺垫性文字模型很难抓到有效信息。正确做法是第一段就写明“非沪籍人员满足以下条件可申请上海居住证一、……二、……三、……”结论越靠前被引用的概率越高。5.3 开放图谱与可引用信息位还有一个分发技巧叫“可引用信息位”。这个概念不复杂模型在回答时会优先引用那些“看起来可以直接作为答案”的短文本片段。你可以在每个内容块里刻意安排一个“一句话结论”字段不超过80字这个字段就是可引用信息位。比如原文有300字说明居住证便利可以抽出一句话“持上海居住证可享受积分落户基础分、子女教育、医保参保等公共服务便利。”这句话如果独立成块被模型直接引用的概率远高于长段落。我们做内容分发的时候每个语义块都会配一个“一句话结论”凑不出来就说明这个块的核心信息还不够聚焦需要回头重构内容。这既是内容要求也是分发要求。6. 模型引用追踪从“不知道被引用”到“精细化归因”6.1 为什么追踪很难模型的黑盒特性与动态性模型引用追踪是整个工程里技术挑战最大的环节也是外界很少展开讲的部分。难点在于AI搜索不像传统搜索那样有公开的站长工具你无法看到“哪些查询展示了我排第几”。你只能通过“反向探测”的方式去感知模型是否引用了你。更要命的是大模型具有随机性和动态性。同样的提问10次回答可能引用5次A来源、3次B来源、2次没有引用。token温度参数稍微变一点结果也会漂移。所以你不能把单次回答当成可靠信号必须做多次采样和概率统计。6.2 我们搭的“引用追踪框架”五元组归因我们最终搭建了一套引用追踪框架核心是定义五元组归因查询、模型、日期、内容块、引用状态意思就是说对于某一条固定的测试查询在某天用某个模型去问模型中是否引用了我们某个内容块被引用时标记为1没被引用标记为0。然后对同一查询同一模型连续跑5-10次统计引用率。这套框架里有几个关键设计固定测试问题集。这个集子不是拍脑袋选的而是从提示词解析环节产出的意图库里抽样按优先级选了200条查询。涵盖条件查询、材料查询、流程查询、对比查询、故障排查等类型。多模型组合。同时测3-5个主流AI搜索/大模型产品因为不同模型的知识库结构和训练数据不一样对同一内容的接受度差异很大。引用归因不只看URL。还要看模型在回答中是否“复述”了我们的结论即使它没写具体来源链接只要表述和内容块高度重合也算一次有效引用。这里我们用语义相似度匹配设置阈值0.85避免漏判。引用位置分级。如果模型直接回答并开头引用权重最高如果答案是铺垫后再引用权重其次如果在“查看更多”或补充信息里出现来源权重最低。不同位置的商业价值和用户感知差异很大。6.3 引用数据怎么用反哺知识库和内容分发追踪不是目的用数据反哺优化才是。我们每轮引用追踪后会做三件事生成“未被引用内容清单”。高意图优先级但引用率为0的内容块直接列为下轮治理对象。分析被引用内容的共性。哪些类型的结构、篇幅、元数据更容易被模型引用比如我们通过数据分析发现带“可引用信息位”的内容块被引用率比普通块高1.8倍带结构化标签的内容块比纯文本块高2.3倍。这些数据有力支撑了内容治理的优先级判断。跟踪竞品/他源引用趋势。看同一条查询下除了我们之外模型还常引用谁。这些来源的内容结构、页面形态、更新频率是什么直接把它们的优点吸收到自己的治理标准里。实际跑下来引用追踪不是一次性工程而是一个持续运转的探针系统。我们最后搭成了一个简单的定时任务每周跑一轮测试问题集自动记录结果自动产出差异报告。这也是闭环循环里反馈信号的来源。7. 周期复测闭环能不能转起来全看这一步7.1 复测的三个层次查询覆盖、引用状态、内容健康度周期复测不是简单地再跑一遍测试就完事而是分了三个层次第一层查询覆盖复测。查看提示词意图库是否有新增意图之前的意图是否有表达方式升级。比如这周发现了很多用户问“居住证到期换证流程”但意图库里只有首次办理的意图类那就需要新增意图并安排内容补建。第二层引用状态复测。重新跑五元组归因对比上一轮数据看引用率是否提升、引用位置是否前移、新发布的内容是否开始被引用。第三层内容健康度复测。检查知识库里高优先级内容是否过期、外部政策是否有变化、内部是否有新旧内容冲突。这个检查和引用追踪结合在一起就能发现“之前被引用现在不引用了”的异常大概率是内容时效或事实性问题被模型识别后丢弃了。三层复测做完输出一份《GEO优化周期报告》核心指标包括指标定义目标高优先级内容引用率固定问题集中高优先级查询被引用的比例≥60%引用来源稳定度同一查询多次回答中本平台出现比例≥50%内容覆盖率高优先级意图库中有内容支撑的比例≥90%内容时效合格率高优先内容最后核实日期在12个月内的比例≥95%新内容发布时间到首次引用时长新发内容多久被模型引用目标≤7天这些指标不是拍脑袋定的而是根据项目初期基线和行业经验一步步调出来的。一开始我们的高优先级内容引用率只有10%上下内容覆盖率不到40%道理都懂但就是手忙脚乱。后来复测跑了三轮这些指标才慢慢变成可观测的、稳定的运营标准。7.2 复测节奏与人工介入的时机复测频率不建议太激进。AI搜索的模型更新周期和爬虫收录节奏不像传统搜索那么可控你天天测、天天调不仅累还可能因为样本量太小得出错误结论。我们最后采用的节奏是引用追踪每周一轮自动跑完整周期复测每两周一次覆盖全部高优先级问题深度人工审查每个月一次针对数据异常的意图类和内容块做定位人工介入的触发时机一般有两个一是某类查询连续两轮引用率下降超过20%需要人工排查是内容失效、模型更新还是竞品内容变强二是新发内容超过两周仍无一次引用需要人工评估是不是结构、时效或分发配置有问题。7.3 闭环效率的真实数据最后交代一下项目数据。三个月的工程实践后效果如下高优先级内容的AI搜索引用率从初始10%左右提升到57%引用来源稳定度同一查询多次采样中稳定出现本平台来源的比例稳定在50%以上内容覆盖率从不到40%提升到88%新发内容首次被引用时间从平均20天缩短到6天这个数据不算惊艳但在垂直行业里已经算是能在汇报时拿得出手的成绩。更重要的不是这几个数字而是团队从“不知道模型为什么引用别人不引用我”的状态变成了“每次调整都有数据反馈每次反馈都能指导下一步动作”的状态。这比任何单次优化都值钱。8. 避坑实录这几个问题我们踩过你们别再踩了8.1 把传统SEO外链那套搬到GEO基本无效项目早期合作方团队习惯性地想买外链、做“舆情热度”来推内容。实测下来AI搜索对低质外链的敏感度非常低甚至可能因为你的来源页质量不行而降低信任度。GEO世界里内容质量和结构化程度权重远远大于外部链接数量。这个思维方式转变花了我们大概两周时间。8.2 对同一内容反复“打补丁”不如重写结构我们曾对一个老页面反复修改“结论段”试图让模型重新引用。但模型不太识别这种零散打补丁因为页面里的历史版本、矛盾描述可能都还在。后来我们发现按语义块重构整个页面比反复微调有效得多。重构之后引用率提升了一个台阶。8.3 引用追踪必须保留原始快照否则复测会失真AI搜索模型随时可能更新你今天测的结果可能是模型旧版本给的反馈明天模型一更新同一查询的结果可能完全不同。如果没有保存原始快照你就无法判断引用率波动是因为自己内容变好还是模型变了。我们后来把每轮测试的原始回答、引用链接、时间戳全部存档波动时先看模型侧变化再看内容侧问题。8.4 别逮着一个模型锁死多模型分散测试项目初期我们重点优化了对某个头部大模型的效果引用率很漂亮。但后来另一个新兴AI搜索产品突然放量用户量上来之后我们发现自己的内容在那个产品里几乎不被引用。原因就是那个产品对结构化数据的要求和我们适配的模型完全不同。GEO优化在目前阶段不能只对单一模型做要尽量覆盖主流阵营做通用性和兼容性优化。9. 写在最后的实操体会这个项目做到中期的时候我最大的感受是GEO优化不是“技术活”而是“数据活内容活耐心活”的混合体。技术含量当然有提示词解析的语义聚类、引用追踪的数据框架都需要一定工程能力但真正拉开差距的是团队能不能把“我从模型侧感知到的反馈”和“我在内容侧做的调整”持续对齐。根据我个人经验如果只抽一条核心建议那就是先搭闭环再谈优化。任何单点的技术再强如果没有反馈回路很快就会被模型的变化甩在后面。反过来只要闭环的轮子转起来哪怕每个环节做的都很粗糙也会越跑越顺。另外再分享一个很多人忽略的小细节。在内容治理标注结构化数据时记得给每个内容块加上“更新时间戳”模型在对比多个候选来源时这个字段的权重有时候比你想象的高得多。很多内容平台的内容其实很扎实但因为没有显式声明更新时间模型会默认它的时效性可能不可靠从而更偏向那些明确标注时间的来源。这个是成本极低但收益明显的优化点。如果你正在做内容平台、企业知识库或者手头有大量优质内容但感觉在AI搜索时代“失联”了希望这套上海项目的GEO工程实践经验能给你一个参照。关键是别慌别急着追新概念先把闭环跑起来让数据带着你迭代。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进