NiubiGEO架构深度解析:一条AI回答如何变成可测量的数据点
【免费下载链接】niubigeoOpen-source AI brand visibility and competitor reports. Official website: https://niubigeo.ai/ | Paid services: AI testing by real people and GEO optimization. Pricing: https://niubigeo.ai/pricing项目地址: https://gitcode.com/gh_mirrors/ni/niubigeo
NiubiGEO 是一个开源的 AI 品牌可见度监测工具,它的核心使命只有一句话:把 AI 回答变成可测量的数据点。当你想知道"用户问 AI 时,我的品牌是否会被提到",NiubiGEO 会用固定的协议向多个模型提问,把每次回答完整归档、解析,再聚合成带分子、分母的指标点,最终画成可对比的可见度曲线。这篇文章带你沿着一条真实回答的生命周期,拆解这套 GEO 测量引擎的完整架构。
4个阶段:从一次提问到一张图表
整条链路可以用 4 个阶段概括:
① 冻结测试条件 → ② 先归档后解析 → ③ 结构化提取 → ④ 聚合成指标点对应源码主目录在 src/product/,完整的模块职责表见 docs/ARCHITECTURE.md。
阶段一:冻结条件,让每次回答"可比"
测量的前提是条件可控。NiubiGEO 会先把模型选择、语言、联网模式(离线 / Provider 原生搜索)、协议版本打包成一个不可变的Baseline 快照,之后每次运行都引用它。
提问时,发送给模型的只有规范化域名、语言和固定协议指令——不注入品牌名、别名、竞品名单或官网正文。这样得到的回答才是"模型自己怎么看你",而不是被提示词引导的结果。参数默认temperature=0、maxTokens=900,详见 docs/how-it-works.md。
这里设计了两种探针:
| 探针 | 发送内容 | 回答什么 |
|---|---|---|
| D(域名认知) | 只发域名 | 模型认识你吗?描述你什么?提到哪些竞品和关键词? |
| K(关键词选型) | 只发一个中性词 | 不点名你的品牌时,回答里出现谁? |
阶段二:先归档,后解析
这是整套架构里最值得新手注意的设计:回答原文永远先落盘,再做任何解析。
服务收到模型响应后,先写入一个带完整原文的response_saved尝试记录(Attempt),然后才尝试解析结构化内容。请求失败、响应截断、字段缺失、解析失败,是被严格区分的不同状态——解析失败不会丢弃原文,而是保留失败归档。
实现见 src/product/recognition/recognition-service.ts。这意味着你看到的任何结论,背后都有一份可复核的原始回答,而不是一个"算出来就完了"的黑盒分数。
阶段三:结构化提取,每个字段都带定位
归档之后,本地解析器把回答拆成结构化字段:
- 域名识别声明:recognized / not_recognized / unknown
- 业务描述、产品类别:模型眼中的你是做什么的
- 竞品与逐竞品关键词:模型把谁当成你的对手
- 引用与 URL:Provider 返回的引用、回答正文中出现的普通链接——三类来源严格分开记录
- UTF-16 偏移定位:每个字段证据都记录了它在原文中的精确位置(如
[173, 726)),可用"切出原文该片段是否等于引用文字"来机器复核
这套规则完整定义在 docs/evidence-model.md,字段状态表(如"合法空数组 ≠ 现实中不存在")对新手理解"AI 报告该怎么读"非常有帮助。
阶段四:一条回答如何变成数据点
单次回答只是"观察",变成测量靠的是重复与聚合。每次测量运行按固定链路展开:
MeasurementRun → MeasurementModelRun → ProbeRun(计划观察) → ProbeAttempt(执行尝试)→ 指标点统计服务 src/product/measurements/measurement-stats.ts不调用任何模型,它只读取已归档的探针结果,按公式生成指标点:
| 字段 | 含义 |
|---|---|
planned/denominator | 计划样本数 / 有效样本数 |
numerator | 命中数(如"确实被提及"的回答数) |
value | 百分比 = 分子 / 分母 × 100 |
pointState | no_data/partial/complete |
samples | 每个样本都能沿probeRunId打开对应原文 |
两个关键细节值得记住:
- 重试不增加样本——同一探针只取第一次尝试,保证曲线不被"刷出来";
- 0% 与 null 是两回事——真实未命中是有效分母下的 0%,无法计算才是 null。完整公式见 docs/measurement-methodology.md。
最终,工作台把指标点按模型、对象、关键词、时间画成图表(界面代码在 src/ui/product-phase5-app.ts),你可以点开任一个数据点,一路回溯到那几条原始回答。
亲自验证:20个公开案例
不用安装也能看到这套架构的完整产物。仓库内置 20 个真实域名的双语研究案例(含原文、引用、费用与失败状态),每个案例的result-summary.json里就存着可重算的指标点:
- 案例入口:examples/README.md
- 推荐从 R04 · posthog.com 读起:它保留了三轮测量(含一次真实定时触发)、原始回答与来源分类
- 研究计划与输入冻结在 examples/study-plan.json
小结
NiubiGEO 的架构可以浓缩为一句话:条件冻结 → 原文优先归档 → 带定位的结构化解析 → 可回溯的指标聚合。它不承诺"AI 内部在想什么",只承诺你看到的每个数字都能沿证据链回到某一条原始回答——这正是开源 GEO 测量工具与黑盒 SaaS 报告的最大区别。想继续深入,可以从 docs/ARCHITECTURE.md 的数据关系图和 docs/measurement-methodology.md 的指标定义读起。
【免费下载链接】niubigeoOpen-source AI brand visibility and competitor reports. Official website: https://niubigeo.ai/ | Paid services: AI testing by real people and GEO optimization. Pricing: https://niubigeo.ai/pricing项目地址: https://gitcode.com/gh_mirrors/ni/niubigeo
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考