关于 ae-kb-discovery
ae-kb-discovery 用于判断任务是否需要查询内部知识库,并筛选值得搜索的知识库,适合处理需要组织专属背景的 Agent。它负责发现与选择,具体检索交由 ae-kb 技能执行。
主要功能
- 01判断是否需要知识库
- 02列出可访问的知识库
- 03按上下文和相关性筛选
- 04将检索交给 ae-kb
- 05规定证据与覆盖评估标准
适用场景
- 01查找用户请求所需的内部政策
- 02定位产品或发布背景
- 03用内部证据辅助分析
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ thinkingaiagenticengine/ ae-cli --skill ae-kb-discovery安装后在 Claude Code 中输入/ae-kb-discovery确认已加载。
附带文件references/collaboration.md
详细介绍
知识库发现
跨技能协作
当剩余工作超出此技能的范围,或所需的前置条件需要其他能力时,请遵循协作协议。根据能力,从本次运行中可用的技能里进行选择,保留已验证的上下文,并继续完成剩余任务。如果已加载此协议,请重复使用。
将知识库视为可选的内部事实和业务背景来源。保持用户的原始目标不变;检索知识库是辅助工作流,而非任务本身。
此技能负责判断是否使用知识库,以及值得搜索哪个知识库。检索过程本身——检查索引、grep、阅读章节以及可选的 LLM 综合——由 ae-kb 技能(references/query-workflow.md)负责。在此处发现知识库,然后交由 ae-kb 执行。
判断是否使用此技能
在以下情况下使用此技能:
- 用户明确要求搜索知识库、内部文档或公司资料。
- 任务需要组织专属的事实或背景,例如产品设计与规则、活动、营销或运营日历、发布与迭代记录、工作流、政策或术语。
- 需要内部背景来解释数据分析结果、异常或趋势,并形成有证据支持的结论。
- 当前可用的知识库背景无法涵盖问题,且发现其他可访问来源具有明确价值。
ae-analysis在选择项目范围的查询路径前,从ae-cli config show读取了data.routing.knowledge_base: auto,并且知识库可能显著改善答案或资源选择。
在以下情况下不要使用此技能:
- 用户明确要求不要使用知识库。
- 任务只需查询实时状态或执行操作,不需要文档背景或已启用的项目语义知识库资源路由。
- 通用知识足以提供可靠答案,且内部证据不会显著改善答案。
发现工作流
1. 获取可访问知识库列表
首先,获取当前用户可访问的轻量级知识库列表:
ae-cli kb +list
使用命令返回的确切 scope 和知识库名称,并参考描述、标签、语言和 bindings 等可用元数据。绑定通过 targetType、targetId 和可选的 targetName 标识关联的上下文。不要猜测名称、范围或绑定。仅将 +list 返回的元数据作为候选项选择的依据,不要将其视为知识库内容的证据。
如果 +list 不可用或执行失败,不要猜测存在哪些知识库。如果用户明确要求搜索知识库,请说明当前无法完成发现。否则,返回原始任务,并重新评估当前可用的能力。
2. 对候选知识库排序
按以下顺序排列候选项:
- 优先选择用户明确指定的知识库。使用
+list返回的确切名称和范围,无论是否存在匹配的绑定。 - 优先选择绑定与当前会话上下文完全匹配的候选项。将
targetType: project与当前分析项目 ID 匹配,将targetType: space与当前社区空间 ID 匹配,将targetType: dwSpace与当前数字工作区代码匹配。 - 对其余候选项,根据用户的请求与知识库名称、描述和标签进行比较。仅在相关性相近的候选项之间将语言作为偏好;语言本身不能证明相关性。
先将 targetId 与对应的当前 ID 或代码进行比较。仅当 ID 或代码不可用时,才将 targetName 作为次要依据;不要用名称匹配替代相冲突的 ID 匹配。没有绑定或与当前上下文不匹配的候选项仍可参与语义排序。绑定到其他项目或空间会降低其隐含优先级,但不会将其排除;用户的明确选择仍具有优先权。
默认选择一个优先知识库。当多个候选项高度相关时,最多保留三个,并按优先级逐个尝试。不要预先读取所有候选项的索引。绑定、名称、描述、标签或语言匹配仅表明值得搜索该知识库;这不证明其中存在匹配内容、不代表已获得访问权限,也不能作为知识库证据。
3. 移交给检索流程
选定优先知识库后,将任务移交给 ae-kb 技能,并遵循其 references/query-workflow.md 中的完整检索流程,包括何时适合使用 +ask。
如果检索到的源页面将用于指导项目范围内的业务数据分析,在运行数据查询前,还要阅读并遵循 ae-kb 技能的 references/analysis-workflow.md。它会将已保存资源的精确标识、定义、参数、时间规则、冲突和决策边界转化为执行约定;不要从命中知识库直接跳到临时分析或 SQL 重建。
评估覆盖情况
- 完全覆盖:已读取的页面内容支持信息请求或分析所需的关键结论。
- 部分覆盖:已读取的页面内容仅提供背景、定义或部分相关事实,无法独立支持所需结论。
- 无覆盖:不存在合适的候选知识库,或
+grep和+read未返回任何可支持结论的内容。
+list 返回的候选项、+index 返回的导航、成功的命令、工具调用或元数据匹配,都不算作知识库命中。只有实际读取过的相关页面内容才能作为知识库证据。
在分析中使用知识库证据
对于项目范围内的业务数据分析,读取相关源页面后,必须遵循上述 analysis-workflow.md 交接要求。优先尝试使用精确且语义适用的已保存资产。如果检查定义后证明该资产不适用,或执行无法得出所需结果,则继续进行常规分析以满足尚未覆盖的需求,同时保留已验证的知识库证据。知识库说明当前值需要通过执行获取,并不意味着必须运行一个已知不匹配的资产,也不意味着要用户重复数据请求。
使用内部背景信息解释数据分析结果、异常或趋势时:
- 首先说明分析本身表明了什么,包括指标变化、时间范围、受影响的实体以及变化幅度。
- 使用受影响的实体、指标、时间范围、活动或事件名称、产品领域以及发布或版本名称进行搜索。
- 验证检索到的证据是否:
- 适用于同一实体、产品领域或业务范围。
- 与分析涵盖的时间范围重叠。
- 记录了实际生效的事件、规则、发布或变更。
- 使用的版本和生效日期在分析期间仍然有效。
- 区分计划活动与已完成事件。除非检索到的内容确认活动或发布已执行,否则日历或路线图不能证明其已发生。
- 将分析事实与检索到的内部证据结合起来,并直接说明证据支持的内容。不要罗列缺乏证据的可能原因。
- 只有在现有证据能够确立因果关系时,才使用“导致”或“引发”等因果措辞。否则,应说明证据支持某因素是主要解释,或该因素与观察到的变化一致。
- 如果证据不足,应明确说明无法根据现有证据确定原因。不要用推测填补证据空白。
- 适当时,按以下顺序组织最终答案:
- 结论。
- 分析证据。
- 知识库证据及相关页面路径。
- 证据的必要局限性。
处理覆盖不完整或没有覆盖的情况
当知识库证据仅覆盖部分内容、完全缺失或检索失败时:
- 停止针对同一候选知识库重复搜索。
- 如果仍有其他候选项,则切换到下一个候选项。一次任务中最多搜索三个知识库。
- 如果所有候选项都无法提供相关内容,则回到用户的原始请求,不要继续停留在知识库检索子任务中。
- 重新评估当前可用的能力,并选择最适合完成原始任务的下一条路径。不要硬编码固定的回退方案。
- 在有用时保留已验证的背景证据,但绝不要将从其他来源得出的结论归因于知识库。
- 除非检索失败本身会影响用户决策,否则不要报告知识库搜索未成功。
知识库信息不能替代必需的业务操作。如果原始任务还要求实时数据或执行操作,则应通过适当的可用能力完成该部分。
安全边界
- 仅使用只读检索原语访问知识库(
+list、+index、+grep、+read,以及在问题需要跨页面综合或多跳推理时使用+ask)。不要创建、上传、编译或删除知识库。 - 遵守现有的范围、租户和成员权限。不要尝试绕过无法访问的知识库。
- 不要暴露内部根路径、访问令牌或原始权限元数据。
- 对于受保护的知识库,只提供当前权限允许的摘要和综合结论。不要导出完整源文本或大段原文摘录。