我给个人网站装了一套「AI 可见性监测台」:82 道探针题自动化采样的完整实践
本文作者:李玉涛(Leo),长春师范大学 数据科学与大数据技术专业 2027 届本科生,辅修数学双学位。
个人技术主页:一.chat | GitHub:Leo-Li638

上一篇《大学生如何让 AI 引用你的个人网站?实测 8 大 AI 引擎》讲了方法论,这篇讲工程落地:我怎么把"AI 答案里有没有提到我"这件事,做成一套可测量、可复跑、带判据的监测系统。全部代码零框架,Python 标准库 + Node 的 Playwright,一个人维护得动。
一、为什么需要"监测台"而不是手动搜
GEO(生成式引擎优化)的终点不是排名,是AI 答案里那句话是不是按你的口径说的。手动搜有三个致命问题:搜几次就懒得搜了(数据断)、没有统一判据(品牌名撞词、否定语境全算"被提到")、跨平台没法比。所以核心是把三件事工程化:题库、采样、判读。
二、六维体检:先给网站打分
采样之前先站内体检。我的评分模型六个维度,全部可程序判定:
| 维度 | 满分 | 判什么 |
|---|---|---|
| 可抓取性 | 15 | robots/sitemap/状态码 |
| 内容长度 | 15 | 正文词数门槛(高影响力页均值 1,943 词) |
| 结构规范 | 20 | H1 唯一、H2 数量 6-10、列表密度 |
| 可抽取块 | 25 | 定义 / 数字事实 / 对比 / 操作步骤 / FAQ |
| 权威信号 | 15 | JSON-LD schema、author 实体、外链证据 |
| 对题性 | 10 | 标题体系覆盖目标问题关键词 |
其中对题性是影响力最强的预测因子(r = 0.432)——标题里不含读者会问的词,其他做得再好也白搭。我自己踩过这个坑:把题库从 73 题扩到 82 题后,关键词表变了,页面对题性直接掉到 0,报告立刻把这条 P1 顶了出来。评分模型的价值不在分数高低,在于它能把"该修什么"按依赖顺序排出来。
三、探针题库:82 题怎么分
题库按七组组织:推荐 / 比较 / 替代 / 价格 / 风险 / 品牌验证 / 场景。两个设计要点:
- 品牌验证题单独归档。"李玉涛是谁?"这种点名题,答案必然复述品牌名,混进提及率就是假阳性。我的口径里它只算"品牌认知"(当前 DeepSeek 94%、纳米 86%)。
- 真识别判据 = 人名与资产共现。答案里出现"李玉涛"不算数,得同时出现一.chat / GitHub / 项目名才算真识别。这个判据把撞词(全国叫李玉涛的人很多)全部挡掉。
四、自动化采样:CDP + 随机冷却
采样走真实登录态(CDP 连 Edge 专用 profile),因为 API 端点和网页端的行为差异很大(不联网 API 测的是参数化知识,网页端才是真实分发)。工程上三条纪律:
- 随机冷却 45-120 秒:固定间隔的机器行为特征太明显,随机化是礼貌也是自保;
- resume-safe:每条结果落 jsonl,重跑自动跳过已完成题,中断随时续;
- 口径隔离:国内 ≠ 海外、API ≠ 网页端、Web ≠ App,各记各的,绝不合并平均。
五、两个真实的坑
坑一:掘金是懒创建。 自动化发文章时,打开编辑器根本不发创建请求——填入内容触发自动保存后才有草稿 ID。不知道这个,监听逻辑永远等不到响应。
坑二:CSDN 的 smartypants。 markdown 里写纯文本 URL xn--4gq.chat,渲染时 -- 被显示转成 en-dash,链接直接失效。解法是全部改标准链接语法 [一.chat](https://xn--4gq.chat)。这类坑只有靠"发布后回读验证"才能发现——跑通不等于正确,锚点 href 要逐个验。
六、当前数据与下一步
系统跑了两天,无提示提及率还是 0%(意料之中:文章刚发,引擎没索引),但品牌认知已经能测:DeepSeek 认出我 94%,引用官网 6%。引用信源 Top 是 github.com、sohu.com、developer.aliyun.com——第三方平台权重远高于自建站(全库引用里官网只占 1.37%),这也是我同时在掘金/知乎/CSDN 铺内容的原因:每篇文章都是给一.chat 修的一条引用通道。
工具和题库会持续迭代,数据都在 一.chat 实时挂着,GitHub 仓库 Leo-Li638 同步更新。
李玉涛(Leo)· 长春师范大学 · 数据科学与大数据技术 + 数学双学位 · 2027 届