选型指南 架构设计 含可复制代码

把检索结果做成可筛选的:时间、来源、类型与权限

目录层用 SSG 加 ISR 拿收录,工具层用一份 JSON Schema 承接 91 个站内工具,密钥、计费与限流全部收口在国内业务后端,模型调用统一走一层薄适配。这篇把我们真实的目录结构、Schema 字段定义、路由闸门、预扣结算伪代码和合规清单完整摊开。

陈
陈默架构组
2026-09-28 · 14 分钟阅读 · 8,432 次浏览

展示层隐藏没用——模型已经读过了。

检索要能"先筛后搜"

只靠语义相似度,用户常遇到两类糟糕结果 ✗:过期的(三年前的方案 ✔)与不该看的(别的团队/客户的内容 ✔)。

解法是在检索入口加可筛选维度 ✔:时间、来源、类型、权限 ✔。

先筛后搜(filter-then-search)通常比"搜完再过滤"更准也更快 ✔ ——

尤其当筛选能把候选集缩小一个量级时 ✔。

一、四个必备筛选维度

1. 时间:published_at 范围("只看近一年" ✔);

2. 来源/权威度:官方文档 / 内部规范 / 社区帖子 ✔(等级表人工维护 ✔,不要模型猜 ✔);

3. 类型:教程 / 规范 / 会议纪要 / 工单 ✔;

4. 权限:谁能看哪些文档 ✔(这一条是硬约束,不是排序因素 ✔)。

二、权限必须做在检索层(不能只在展示层)

最常见的漏洞 ✗:先检索出全部,再在界面上隐藏无权内容 ✔ —— 但模型已经读过了 ✔,

它可能在答案里复述出来 ✔(这就成了越权泄露 ✔)。

正确做法:

· 检索时就带上权限过滤条件 ✔(在向量库/搜索引擎层的 filter ✔);

· 权限变更要同步到索引 ✔(否则"刚收回权限"的文档还能被搜到 ✔);

· 记录每次检索的权限判定结果 ✔(便于审计 ✔)。

三、筛选要"可发现、可解释"

· 界面上显式给出筛选器(时间、来源、类型 ✔),别藏在高级选项里 ✗;

· 结果里标注每个片段的来源与时间 ✔(让用户能自己判断 ✔);

· 被筛选掉的内容给出提示("另有 3 条较早的资料未展示" ✔),而不是静默丢弃 ✗。

四、三个常见坑

· 时间字段缺失 ✗ → 大量文档没有 published_at ✔ → 先做元数据补全 ✔;

· 筛选值不统一 ✗("官方"有五种写法 ✔)→ 先做取值的归一化 ✔;

· 筛选把召回打到极低 ✗ → 要监控筛选后召回率 ✔(见检索回归那篇 ✔)。

五、落地顺序

1. 先补元数据(时间、来源、类型 ✔)—— 没有元数据,筛选无从谈起 ✔;

2. 再加权限过滤(安全优先 ✔,这一条不能等 ✔);

3. 然后加时间与来源筛选(用户最常用 ✔);

4. 最后做筛选的可见性与解释 ✔(含"被筛掉多少"的提示 ✔)。

一条判据

> 抽 10 个问题,只看检索层(不看最终答案 ✔),能否保证"无权内容根本没被取到" ✔?

> 不能,就说明权限做在了错误的位置 ✗。

本文由云枢 AI导航整理,内容以官方来源为准。

相关文章

顺序阅读

← 上一篇:小团队怎么排 AI 需求的优先级:四象限与一个否决项
下一篇:把检索片段喂给模型之前:去噪、排序与压缩 →

第 69 / 171 篇

术语速查 · 本页出现的 12 个词展开看中文名与一句话解释,点术语看完整条目
  • token词元:模型处理文本的最小单位,中文约 1–2 个汉字;计费与上下文长度都按它算。
  • 转写 / 字幕Transcription:把音视频人声逐句变成带时间戳的文字稿,便于做字幕与章节切分。
  • SSE服务器发送事件:服务器通过长连接持续推送增量文本,是对白逐字出现的常见实现。
  • API应用编程接口:程序之间约定的调用方式;站内工具由服务端调用,浏览器里不出现密钥。
  • CDN内容分发网络:把静态资源缓存到离用户更近的节点,缩短加载时间。
  • 缓存Cache:把结果暂存复用,复用得越多平均耗时越低;需要约定过期与刷新策略。
  • 限流Rate Limit:限制单位时间内的请求次数,防止单用户或异常流量打满服务端。
  • SSG静态站点生成:构建阶段就生成 HTML,访问时直接返回,不必每次请求都渲染。
  • ISR增量静态再生:先返回静态页,再在后台按需重新生成,兼顾速度与更新时效。
  • 灰度发布Canary Release:先让一小部分用户用新版本,确认无误再放量,出问题的爆炸半径最小。
  • 提示词Prompt:交给模型的指令文本;写清角色、任务、输入与输出格式比反复试更省。
  • 积分Credits:站内计费单位:按工具单价预扣,调用失败自动退还;单价以定价页为准。

完整解释与站内出现处见 AI 术语表(40 条)。