mcpField
A
ae-kb-discovery

ae-kb-discovery

github.com/thinkingaiagenticengine生产力21593 次安装6 天前更新
代码仓库

关于 ae-kb-discovery

ae-kb-discovery 用于判断任务是否需要查询内部知识库,并筛选值得搜索的知识库,适合处理需要组织专属背景的 Agent。它负责发现与选择,具体检索交由 ae-kb 技能执行。

主要功能

  1. 01判断是否需要知识库
  2. 02列出可访问的知识库
  3. 03按上下文和相关性筛选
  4. 04将检索交给 ae-kb
  5. 05规定证据与覆盖评估标准

适用场景

  1. 01查找用户请求所需的内部政策
  2. 02定位产品或发布背景
  3. 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. 对候选知识库排序

按以下顺序排列候选项:

  1. 优先选择用户明确指定的知识库。使用 +list 返回的确切名称和范围,无论是否存在匹配的绑定。
  2. 优先选择绑定与当前会话上下文完全匹配的候选项。将 targetType: project 与当前分析项目 ID 匹配,将 targetType: space 与当前社区空间 ID 匹配,将 targetType: dwSpace 与当前数字工作区代码匹配。
  3. 对其余候选项,根据用户的请求与知识库名称、描述和标签进行比较。仅在相关性相近的候选项之间将语言作为偏好;语言本身不能证明相关性。

先将 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 交接要求。优先尝试使用精确且语义适用的已保存资产。如果检查定义后证明该资产不适用,或执行无法得出所需结果,则继续进行常规分析以满足尚未覆盖的需求,同时保留已验证的知识库证据。知识库说明当前值需要通过执行获取,并不意味着必须运行一个已知不匹配的资产,也不意味着要用户重复数据请求。

使用内部背景信息解释数据分析结果、异常或趋势时:

  1. 首先说明分析本身表明了什么,包括指标变化、时间范围、受影响的实体以及变化幅度。
  2. 使用受影响的实体、指标、时间范围、活动或事件名称、产品领域以及发布或版本名称进行搜索。
  3. 验证检索到的证据是否:
    • 适用于同一实体、产品领域或业务范围。
    • 与分析涵盖的时间范围重叠。
    • 记录了实际生效的事件、规则、发布或变更。
    • 使用的版本和生效日期在分析期间仍然有效。
  4. 区分计划活动与已完成事件。除非检索到的内容确认活动或发布已执行,否则日历或路线图不能证明其已发生。
  5. 将分析事实与检索到的内部证据结合起来,并直接说明证据支持的内容。不要罗列缺乏证据的可能原因。
  6. 只有在现有证据能够确立因果关系时,才使用“导致”或“引发”等因果措辞。否则,应说明证据支持某因素是主要解释,或该因素与观察到的变化一致。
  7. 如果证据不足,应明确说明无法根据现有证据确定原因。不要用推测填补证据空白。
  8. 适当时,按以下顺序组织最终答案:
    • 结论。
    • 分析证据。
    • 知识库证据及相关页面路径。
    • 证据的必要局限性。

处理覆盖不完整或没有覆盖的情况

当知识库证据仅覆盖部分内容、完全缺失或检索失败时:

  1. 停止针对同一候选知识库重复搜索。
  2. 如果仍有其他候选项,则切换到下一个候选项。一次任务中最多搜索三个知识库。
  3. 如果所有候选项都无法提供相关内容,则回到用户的原始请求,不要继续停留在知识库检索子任务中。
  4. 重新评估当前可用的能力,并选择最适合完成原始任务的下一条路径。不要硬编码固定的回退方案。
  5. 在有用时保留已验证的背景证据,但绝不要将从其他来源得出的结论归因于知识库。
  6. 除非检索失败本身会影响用户决策,否则不要报告知识库搜索未成功。

知识库信息不能替代必需的业务操作。如果原始任务还要求实时数据或执行操作,则应通过适当的可用能力完成该部分。

安全边界

  • 仅使用只读检索原语访问知识库(+list、+index、+grep、+read,以及在问题需要跨页面综合或多跳推理时使用 +ask)。不要创建、上传、编译或删除知识库。
  • 遵守现有的范围、租户和成员权限。不要尝试绕过无法访问的知识库。
  • 不要暴露内部根路径、访问令牌或原始权限元数据。
  • 对于受保护的知识库,只提供当前权限允许的摘要和综合结论。不要导出完整源文本或大段原文摘录。

评论

支持 Markdown