Token导航 LogoToken导航TokenDH.com
Usage Augmented Retrieval logo
搜索检索未说明官方级别未说明来源级核验

Usage Augmented Retrieval

MCP Server

一种基于使用反馈增强的检索系统,通过学习历史使用结果来动态改进检索效果,适用于知识管理和信息检索场景。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
PythonClaude搜索Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

jochiang

提供方

jochiang

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

使用增强检索

备注:这是一个概念验证,用克劳德编码的氛围。它有效,但预计会有粗糙的边缘。

Claude Code的使用增强检索(UAR)系统。与无状态的传统RAG不同,该系统从使用结果中学习,以随着时间的推移提高检索效率。

核心理念

传统RAG的问题

标准RAG是无状态的。它基于语义相似性检索内容,但不从结果中学习。一个一直让你误入歧途的块和一个救了你几十次的块一样容易被检索到——只要嵌入足够接近。

结果:讽刺的Reddit评论被视为事实陈述,过时的Stack Overflow答案与当前文档同等重要,并且没有“这个来源对于实用技巧来说很棒,但对于权威声明来说很糟糕”的感觉

UAR有什么不同

RAG询问: *“哪些内容在语义上与此查询相似?”*

UAR询问: *“哪些内容在语义上是相似的,并且实际上有助于完成像这样的任务?”*

每次检索和使用一条知识时,系统都会记录:

  • 你试图完成什么任务?(调试、事实查找、概念理解等)
  • 它是否有所帮助,部分帮助,完全错过,或积极误导?
  • 为什么?

这将为每个块创建使用历史记录。随着时间的推移,系统会学习每一条知识的实际用途——不是通过可靠性得分,而是通过 角色扮演:相同的内容可能对调试很好,但对理论理解毫无用处。

原始使用历史记录直接呈现给LLM,而不是预先计算这些信号中的分数。它看到“这个块在调试中赢得了3倍,在事实查找中错过了2倍”,以及是否信任它完成当前任务的原因。判断取决于推理系统。

与代理记忆系统的关系

UAR符合代理RAG和代理记忆系统的新兴格局:

概念UAR实施
情节记忆使用痕迹(带时间戳的结果和上下文)
语义记忆块+功能配置文件
记忆进化合并(痕迹→ 随时间变化的配置文件)
写入能力kb_ingest + kb_record
检索作为工具kb_search 由研究子代理调用

传统RAG的进步→ 代理式检索增强生成→ 代理内存是关于添加 写入能力 因此,系统可以从交互中学习。UAR更进一步 明确的结果归因:不仅仅是“发生了什么”,而是“它真的有帮助吗?用于什么样的任务?”

这类似于A-Mem(Zettelkasten启发的代理记忆)等模式,其中笔记随着新的相关记忆的到来而演变。我们的整合过程也有同样的目的——将偶发性使用痕迹转换为语义功能特征,为未来的检索提供信息。

反馈归因

学习系统中的一个关键挑战是归因:当多个来源对一个答案做出贡献时,哪些来源值得赞扬?

UAR通过以下方式解决了这个问题 自我评价:在合成响应后,子代理评估哪些块实际对摘要做出了贡献,哪些块被检索但未使用。用户提供一条反馈(“有用”/“无用”),并精确记录该反馈:

  • 贡献块 → 用户反馈(胜利/部分/失败/误导)
  • 非贡献块 → 自动“未命中”(已检索但没有用)

这提供了按源学习,而不会给用户带来按源反馈的负担。系统从一个竖起的大拇指中学习到“Neo4j文档非常适合实现”和“维基百科被检索到但没有帮助”。

特性

  • 多策略检索:关键字、语义(MiniLM嵌入)、概念、使用历史、近因
  • 使用情况跟踪:按任务类型记录结果(胜利/部分/失败/误导)
  • 角色扮演:相同的内容可能有利于调试,但不利于事实查找——单独跟踪
  • LLM在循环中:使用历史记录直接浮出水面,让LLM了解信任的原因
  • 本地嵌入:用途 all-MiniLM-L6-v2 通过语句转换器,不需要外部API
  • SQLite存储:具有WAL模式的单文件数据库,用于并发访问

安装

需要Python 3.10+和 紫外线.

cd knowledge_base
uv sync

使用Claude代码

添加到您的 ~/.claude.json 全球访问:

{
  "mcpServers": {
    "knowledge": {
      "type": "stdio",
      "command": "uv",
      "args": ["run", "--directory", "/path/to/knowledge_base", "python", "mcp_server.py"]
    }
  }
}

重新启动克劳德代码。知识工具将可用。

MCP工具

核心工具

工具说明
kb_search具有丰富使用历史的多策略搜索
kb_semantic_search纯嵌入相似性搜索
kb_ingest添加内容(自动分块和嵌入)
kb_record记录检索到的块的使用结果
kb_reflect对工作原理的全面分析
kb_quick_insights快速健康检查

实用工具(未向LLM宣传)

这些是可用的,但不包括在服务器说明中——对调试和管理很有用:

工具说明
kb_stats数据库统计
kb_get_chunk获取具有完整使用历史记录的块详细信息
kb_list_documents列出所有文件
kb_delete_document删除文档及其所有块
kb_consolidate将使用跟踪转换为功能配置文件

整合

整合将情景记忆(个人使用痕迹)转化为语义记忆(功能档案)。当块或源积累了足够的使用数据时,它就会运行:

  • :5+条记录→ 生成一个功能配置文件,描述块的优点/缺点
  • 来源:10+条记录→ 生成源代码级配置文件

何时运行它: kb_quick_insights 包括合并状态:

{
  "consolidation": {
    "status": "recommended",
    "chunks_ready_for_profiling": 3,
    "sources_ready_for_profiling": 1
  }
}

当状态为“推荐”时,运行 kb_consolidate 以生成配置文件。这些配置文件将在未来出现 kb_search 结果,帮助LLM推理是否信任每个块。

任务类型

记录使用情况时,请指定任务类型:

  • factual_lookup -检查事实、定义、规范
  • implementation_howto -如何构建/编写东西
  • conceptual_understanding -理解概念/理论
  • debugging -修复错误或问题
  • decision_support -在选项之间进行选择
  • exploratory_research -开放式探索

使用结果

  • win -直接解决了问题
  • partial -有帮助,但需要更多
  • miss -已检索但没有用
  • misleading -导致错误的结论

工作流示例

  1. 搜索 在回答问题之前了解相关知识
  2. 使用 检索到的内容以帮助完成任务
  3. 记录 任务类型和注释的结果
  4. 随着时间的推移,根据实际工作情况改进检索

推荐用法:研究子代理

为了获得最佳结果,请在研究任务中使用子代理模式:

┌─────────────────────────────────────────────────────────────┐
│                      MAIN CLAUDE                            │
│  - Focuses on user conversation                             │
│  - Spawns research agent when needed                        │
│  - Provides feedback on results                             │
└─────────────────────────────────────────────────────────────┘
        │                                   ▲
        │ query + context                   │ results + feedback request
        ▼                                   │
┌─────────────────────────────────────────────────────────────┐
│                    RESEARCH SUB-AGENT                       │
│  - Searches KB first                                        │
│  - Searches web if KB insufficient                          │
│  - Ingests valuable findings                                │
│  - Records outcome based on main Claude's feedback          │
└─────────────────────────────────────────────────────────────┘

此模式:

  • 保持主要对话的焦点
  • 确保反馈回路始终关闭
  • 让子代理处理知识库复杂性

MCP服务器指令包括一个用于生成研究子代理的模板。

建筑

┌─────────────────────────────────────────────────────────┐
│                     THE UAR LOOP                        │
├─────────────────────────────────────────────────────────┤
│                                                         │
│   RETRIEVE ──────► USE ──────► RECORD                   │
│       ▲                           │                     │
│       │                           │                     │
│       │         CONSOLIDATE ◄─────┘                     │
│       │              │                                  │
│       └──────────────┘                                  │
│                                                         │
│   Retrieval is augmented by usage history.              │
│   Usage history consolidates into functional profiles.  │
│   Profiles inform future retrieval.                     │
│                                                         │
└─────────────────────────────────────────────────────────┘

文件

  • schema.py -数据模型和SQLite数据库
  • harness.py -统一API
  • ingest.py -内容摄取管道
  • retrieve.py -多策略检索
  • record.py -使用情况跟踪
  • embeddings.py -本地MiniLM嵌入
  • context.py -LLM推理的块状档案汇编
  • consolidate.py -情景到语义整合
  • reflect.py -知识库分析
  • mcp_server.py -用于Claude Code集成的MCP服务器

许可证

麻省理工学院

目录标签

目录标签

PythonClaude搜索知识检索本地部署使用反馈语义搜索动态优化LLM集成

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP