AI Agent Retrieval Priority and Answer Path
Summary
人类与 AI Agent 查阅知识时,应从可追溯证据形成结论。模型内部记忆不能替代来源;下面给出按问题类型调整的检索路径。 核心原则是 freshness-qualified wiki first:先检查知识是否适用于当前问题,再复用;实时事实优先当前证据,有写入授权才回写。
以下 memory、skills 和历史检索只在宿主实际提供且与问题相关时使用;缺少能力直接跳过。顺序是知识检索参考,不覆盖用户请求、项目规则或工具权限。人类可通过编辑器的搜索与反向链接检查来源和关系;Agent 可使用下述只读脚本,核验范围相同。
Priority order
默认优先级如下:
- freshness-qualified
wiki memoryskillssessions / session_searchrawsources- external search / extract
- write-back to
wikionly when authorized, public-suitable and reusable
这个顺序适用于稳定知识。实时核验、项目权威性及下面的 Freshness Gate 优先于默认顺序。
Why this order
1. freshness-qualified wiki first
- wiki 是正式知识层
- 内容经过整理、结构化、可交叉链接
- 最适合作为稳定回答依据
2. memory second
- memory 提供用户偏好、稳定事实、环境约束
- 它负责修正回答方式和操作边界
- 但它不是长篇知识库
3. skills third
- skills 提供执行方法
- 当问题是“怎么做”而不是“是什么”时尤其重要
- 适合补充步骤、命令、验证方式
4. sessions fourth
- sessions 适合回忆过去做过什么
- 用于补历史上下文,而不是替代正式知识
5. raw fifth
- raw 是原始材料层
- 适合在 wiki 缺内容时回溯来源
- 不能直接替代整理后的知识页
6. external when required
- 外部检索用于补足当前知识缺口
- 不应成为每次都从零开始的默认路径
- 否则知识无法累积
Answer path
标准回答路径如下:
- 识别问题类型:知识解释、执行方法、历史回忆、实时事实
- 查相关 wiki 页面并执行 Freshness Gate,包括关系出边与入边
- 用
memory修正回答约束与用户偏好 - 若涉及具体操作,再加载相关
skills - 若用户引用“上次做过的事”,再查
sessions / session_search - 若 Wiki 不足、YELLOW/RED 或需要实时事实,回读
raw或权威/live 证据 - 给出答案
- 如果答案具有长期价值、适合公开且有写入授权,做最小 Wiki 补丁
Freshness Gate(canonical Agent 契约)
各类读者在消费 Wiki 结论前执行。GREEN/YELLOW/RED 是运行时判断,不写入页面 status;stable 不是 current truth,updated 不是 verified。
- 先限定问题的时间、版本、产品、环境和具体 claim/section。历史问题只评价当时适用范围,不自动偏爱最新来源;当前问题中的稳定方法也单独判断。
- 读取候选页 path、title、status、updated、sources、可选 volatility/verified_at/review_by、Relations 和相关局部标记。缺失 volatility 不等于 low;日期非法或未来 verified_at 不构成验证证据。来源须支持同一范围。
- 检查关系出边和正式页入边;人类可使用编辑器的反向链接,Agent 可在仓库根运行
python3 _meta/scripts/wiki_reverse_lookup.py --root "$WIKI_ROOT" --page <页面相对路径>查询入边;WIKI_ROOT由部署者配置。把替代页、冲突页加入候选,即使搜索只命中旧页。查询出错时报告缺口,不把失败当成空关系集,不直接宣称 GREEN。 - 同一范围内按
RED > YELLOW > GREEN判定;跨范围不机械传播。需要实时核验的版本、配置、进程、市场、政策、最新行为等优先使用当前项目/live/官方证据,日期未到期也不能豁免。下表 GREEN 表示 Wiki 范围内证据资格,不替代强制实时验证。
| 状态 | 条件(限定当前范围后) | 回答行为 |
|---|---|---|
| RED | 当前范围存在生效的 inbound supersedes;无法消解的双向 conflicts_with;来源明确撤回;版本不兼容;closed 历史结论被用于当前规则;高波动明显超窗且无法验证 | 不作为当前确定性事实。找替代或 live evidence;仍不足则 fail closed,明确无法确定;可用作历史背景 |
| YELLOW | review_by 早于今天;高波动缺有效 verified_at/review_by;日期非法/未来;当前外部事实无元数据;旧 medium/high 页当前适用性未知;环境版本未知;新来源触发待重审;来源范围可能变化 | Wiki 只作背景/线索,先核对 raw/官方/当前项目/live;未验证不写成当前事实 |
| GREEN | 无适用替代/未解冲突的稳定原理、方法或时间范围内历史知识;或 medium/high 易变结论具备匹配来源及 verified_at <= today <= review_by;或只依赖一个具备完整局部日期与来源的 claim | 使用合格范围,保留来源边界。当前事实仍服从实时核验要求 |
日期统一以 UTC 日历日为准;review_by 当天仍在窗口内,次日到期。没有固定“几天自动 stale”的阈值。年龄很旧或仅 Wiki 内缺少证据,初判仍是 YELLOW;“无法验证”要求实际核验失败或已确认权威/实时证据不可取得,不能仅凭未尝试核验就升为 RED。局部 volatile block 仅覆盖 block 内明确断言;As of 单独标记不足以让高波动 claim GREEN;复核一个 claim 不能提升整页,其余易变 claim 保持待验证。页面到期不自动阻塞与易变内容无关的稳定方法。
关系约束
- A supersedes B:读取 A 的范围、版本和生效日期。对问题生效时 B 为 RED,A 独立过门禁;A 到期为 YELLOW 不恢复 B 资格。历史查询可使用替代生效前的 B。
- conflicts_with 按双向约束处理,检查出边和入边。按 scope → applicable version → effective date → source authority → supersession → live evidence 消解;仍未解决为 RED,禁止模型自行拼出折中事实。
- 当前结论依赖的页面为 RED 时,本页至少 YELLOW;只有证据证明该依赖与问题无关才可豁免。入边 depends_on 用于发现受影响的其他页,不把所有依赖者一律判错。
- 关系 scope/理由写在声明页正文,Relations 值仍只用规范 wikilinks。脚本只发现边,读者负责适用性,不把 related/refines 当成替代。
答案与写回
回答区分 Wiki 直接结论、本地推论、实时核验结果及未解决缺口。只有当前任务已有写入授权且内容适合公开时才做最小 patch;真实复核后才更新验证日期。未授权只报告到期、冲突或待验证,不静默改 Wiki。
Path by question type
A. 概念 / 架构 / 方法论问题
默认路径:
wiki→ Freshness Gate →memory→external if needed→write-back if authorized and public-suitable
B. 怎么做 / 怎么配置 / 怎么排障
默认路径:
wiki→ Freshness Gate + version match →skills→memory→sessions if relevant→external if needed
C. “上次我们怎么做的”
默认路径:
sessions / session_search→wiki→skills
D. 当前事实 / 实时信息
默认路径:
- live tools / external search →
wikiwrite-back if durable, authorized and public-suitable
Relationship with boundaries
这条路径依赖 [[hermes-memory-skills-wiki-boundaries]] 的分工:
wiki负责正式知识memory负责约束和稳定事实skills负责执行流程sessions负责历史回忆
如果边界混乱,检索顺序也会混乱。
Write-back rule
先确认写入授权与公开准入,再在满足以下任一条件时考虑回写 wiki:
- 以后高概率还会再问
- 需要跨来源综合
- 对系统设计或工作流有长期价值
- 回答中形成了清晰的结构化结论
以下内容通常不回写:
- 一次性临时结果
- 纯执行日志
- 短期状态
- 没有复用价值的即时问答
Anti-patterns
- 每次都直接外部搜索,绕过 wiki
- 把 memory 当成知识页来用
- 有 skill 却不用,导致重复解释步骤
- 把 session 历史当作唯一可信来源
- 已授权维护且符合公共准入的可复用结论未并入现有知识页
Practical checklist
回答前快速过一遍:
- 这个问题能否先从
wiki找到? - 有没有相关
memory会影响答案格式或边界? - 有没有相关
skills能直接给出稳定做法? - 需不需要查
session_search回忆过去? - 有到期、冲突、当前适用性缺口或实时核验要求时,先补证据
- 这次答案值不值得回写
wiki?
Canonical loop
一句话概括: 先限定范围并执行 Freshness Gate;按 memory 校准,用 skills 执行,用 sessions 回忆,必要时实时核验,有授权再回写。