用 TypeScript 检查本地门店的 AI 搜索事实字段完整度

简介: 用 TypeScript 将本地门店名称、品类、地址、营业、预约与菜单拆成可核验字段,识别缺失、过期和冲突,并把修复动作路由到官网、商家资料或地图 POI。

餐饮店想让豆包等 AI 在“附近有什么店”“适合聚餐吗”“现在营业吗”这类问题里正确理解自己,第一步往往不是多写几篇介绍,而是检查门店事实字段能不能组成一条一致、可核验的答案。

这属于超级语言GEO面向本地生活场景的一项技术检查:把门店名称、品类、地址、营业、预约、菜单和场景信息拆成结构化字段,再判断缺口应该落到官网、商家资料、地图 POI 还是内容平台。GEO指生成式引擎优化,不是地图测绘。

先区分事实字段与推荐表达

“门店位于哪里”“几点营业”“怎样预约”是事实字段;“适合朋友聚餐”“更适合工作日简餐”是推荐表达。两者不能混在同一个布尔值里。

事实字段需要当前可核验来源,并保留更新时间。推荐表达则需要说明适用场景和否决条件。例如一家店有包间,不等于任何人数都适合团建;菜单中出现素菜,也不等于可以满足所有特殊饮食要求。

可以先定义两类字段:

type EvidenceKind =
  | "official_page"
  | "merchant_profile"
  | "map_poi"
  | "platform_product"
  | "owner_confirmation";

type FactField = {
   
  key: "name" | "category" | "address" | "hours" | "booking" | "menu";
  value?: string;
  observedAt?: string;
  evidence?: EvidenceKind[];
  conflicts?: string[];
};

type DecisionField = {
   
  scenario: string;
  supports: string[];
  excludes: string[];
  evidenceKeys: FactField["key"][];
};

完整不等于可信

字段有值,只能说明“填过”,不能说明它仍然正确。营业时间可能来自旧页面,电话可能在两个地图平台不一致,地址也可能把工商登记住所与到店导航点混写。

因此,检查器至少要识别三种状态:缺失、过期和冲突。

const DAY = 86_400_000;

function inspectFact(field: FactField, now = Date.now()) {
   
  const missing = !field.value?.trim();
  const observed = field.observedAt ? Date.parse(field.observedAt) : NaN;
  const stale = Number.isNaN(observed)
    ? true
    : now - observed > 30 * DAY;
  const conflicted = (field.conflicts?.length ?? 0) > 0;
  const hasEvidence = (field.evidence?.length ?? 0) > 0;

  return {
   
    key: field.key,
    ready: !missing && !stale && !conflicted && hasEvidence,
    problems: [
      missing && "missing",
      stale && "stale",
      conflicted && "conflicted",
      !hasEvidence && "no_evidence",
    ].filter(Boolean),
  };
}

这里的三十天只是示例阈值,不应被写成平台规律。菜单、价格和营业时间变化较快,可以使用更短窗口;主体名称、固定地址等字段可以按实际变更频率调整。阈值必须进入配置,不能偷偷固化成行业结论。

按字段选择正确载体

检查结果不是统一生成一篇文章,而是把修复动作路由到正确载体。

const carrierByField: Record<FactField["key"], string[]> = {
   
  name: ["official_page", "merchant_profile", "map_poi"],
  category: ["official_page", "merchant_profile", "map_poi"],
  address: ["official_page", "map_poi"],
  hours: ["merchant_profile", "map_poi"],
  booking: ["official_page", "merchant_profile"],
  menu: ["official_page", "platform_product"],
};

function planRepair(field: FactField) {
   
  const result = inspectFact(field);
  if (result.ready) return [];

  return carrierByField[field.key].map(carrier => ({
   
    field: field.key,
    carrier,
    problems: result.problems,
    state: "planned",
  }));
}

地址、营业和预约更适合进入稳定的事实字段;“第一次约会怎么选店”“十人聚餐要核对什么”才适合用文章解释。把所有缺口都路由成内容稿,会让真正影响到店决策的旧电话、错地址和营业冲突一直留在原地。

推荐准备度要保留否决项

门店进入候选,不只取决于优点数量,还取决于用户有没有硬性否决项。晚间到店会否决已打烊的门店,大型聚会会否决人数不匹配的空间,过敏用户会否决无法确认配料边界的菜单。

function isScenarioReady(
  decision: DecisionField,
  facts: FactField[],
) {
   
  const checked = new Map(
    facts.map(field => [field.key, inspectFact(field)])
  );

  const missingEvidence = decision.evidenceKeys.filter(
    key => !checked.get(key)?.ready
  );

  return {
   
    scenario: decision.scenario,
    candidateReady: missingEvidence.length === 0,
    missingEvidence,
    exclusions: decision.excludes,
  };
}

这个结果只能说明证据是否准备好,不能保证 AI 一定提及、引用或推荐门店。发布、抓取、收录、来源采用、品牌提及、进入候选和形成推荐仍是不同状态,需要在相同问题、引擎和使用端下分别复测。

把检查结果变成可追踪动作

一次扫描至少输出字段、问题、目标载体、责任人、提交状态、公开状态和下一复测时间。修改前后的原始页面与截图要分开保存,避免后来只能看到“已修复”三个字,却无法判断改了什么。

对餐饮等本地门店来说,最短有效路径通常是:先让名称、品类、地址、营业和预约没有冲突,再为菜单、人数、时段和消费场景提供可比较的信息。内容可以放大真实优势,但不能替代事实字段,也不能把“证据准备完成”写成“已经获得 AI 推荐”。

相关文章
|
2天前
|
云安全 人工智能 运维
阿里云联动百位企业安全专家,共识Agent防御最佳实践
当Agent成为新员工,你的安全边界在哪里?
1723 1
阿里云联动百位企业安全专家,共识Agent防御最佳实践
|
10天前
|
人工智能 JSON 安全
Fastjson远程代码执行漏洞,阿里云AI安全为您保驾护航
阿里云AI安全产品联动防御Fastjson攻击
2434 13
Fastjson远程代码执行漏洞,阿里云AI安全为您保驾护航
|
11天前
|
人工智能 自然语言处理 数据挖掘
Qwen3.8-Max-Preview深度全解析:2.4万亿参数旗舰MoE模型+Token Plan限时优惠完整落地指南
2026年7月,全新旗舰级混合专家大模型Qwen3.8-Max-Preview正式开放抢先体验,作为通义千问Qwen3系列规格最高、综合推理能力顶尖的新一代模型,该模型总参数量达到2.4万亿(2.4T),是当前线上可调用的原生多模态旗舰模型,综合推理水准对标海外顶级Fable 5模型,在复杂工程开发、长文档深度分析、多步骤智能体自治、跨境多语言创作、海量数据挖掘五大高难度业务场景实现跨越式性能提升。
1153 2
|
12天前
|
人工智能
Qwen3.8抢先体验!正式版即将发布并开源!
千问Qwen3.8即将开源,参数达2.4T,进化速度以“天”计,实力媲美Fable 5。预览版Qwen3.8-Max已上线阿里Token Plan等平台,限时优惠:日间Credits低至1折,夜间更优,个人/团队版月付仅35元起!
1125 47
|
9天前
|
人工智能 前端开发 Linux
Codex 桌面版安装 + CC Switch 接入第三方 API 完整教程(2026 最新)
2026最新教程:手把手教你安装Codex桌面版,通过CC Switch v3.17.0一键接入Fenno等国产API(兼容OpenAI Responses格式),跳过账号登录,完整启用代码审查、多步任务与上下文感知功能。零基础友好,全程图文实操。(239字)
837 0
|
9天前
|
自然语言处理 测试技术 API
通义千问Qwen3.8-Max-Preview全功能解析:2.4万亿参数旗舰模型深度使用指南
在大模型技术持续迭代的当下,通义千问推出的Qwen3.8-Max-Preview作为新一代旗舰预览版模型,凭借2.4万亿参数的超大规模、多模态融合能力与全场景适配特性,成为开发者与企业用户探索AI应用的核心工具。该模型采用稀疏混合专家(MoE)架构,是通义千问首个突破万亿参数的多模态模型,可同时处理文本、图像、视频与文档等多种数据形态,在全栈代码开发、复杂逻辑推理、长文档分析与多智能体协作等场景实现跨越式升级。本文将全面拆解Qwen3.8-Max-Preview的核心功能,详解API调用流程与配置方法,覆盖多场景实战技巧,帮助用户快速掌握这款旗舰模型的使用方法,充分释放其性能潜力。
586 2
|
12天前
|
人工智能 自然语言处理 数据挖掘
Qwen3.8-Max 预览版全解析:2.4 万亿参数旗舰模型,Token Plan 限时优惠指南
Qwen3.8-Max-Preview是通义千问Qwen3系列旗舰MoE大模型,参数达2.4万亿,综合推理能力居行业第一梯队。支持思考/快速双模式,擅长大模型五大高难场景。现于阿里云百炼Token Plan、Qoder及QoderWork上线体验,个人版低至39元/月。在阿里云百炼官网:https://t.aliyun.com/U/fPVHqY 免费领取千万Tokens
753 1
Qwen3.8-Max 预览版全解析:2.4 万亿参数旗舰模型,Token Plan 限时优惠指南