ACE - Agentic Context Engine
ACE - Agentic Context Engine 使用说明
项目简介
ACE是一个基于Model Context Protocol (MCP) 规范构建的上下文引擎服务器,支持高效的代码和记忆检索、上下文管理及动态提示生成。它能托管多种资源和工具,允许大型语言模型(LLM)客户端通过标准接口调用,实现智能记忆存储、检索和上下文增强。ACE采用多种检索技术,包括向量搜索、BM25、交叉编码重排序和HyDE假设文档扩展,确保查询结果的精准和多样性。
主要功能点
- 统一记忆管理:支持用户偏好、任务策略和项目特定记忆的存储与检索,隔离不同上下文。
- 混合检索引擎:结合向量搜索、BM25稀疏搜索、多查询扩展及递归秩融合(RRF),支持高精度召回。
- 交叉编码排序:内嵌交叉编码reranker,提升检索结果的相关性排序。
- HyDE假设扩展:针对模糊或隐含查询自动生成假设文档,提高召回与泛化能力。
- 多传输协议支持:支持STDIO、SSE、WebSocket等多种传输方式,方便集成到不同客户端。
- 工作区自动识别与注册:无需复杂配置,自动侦测和索引工作区,支持动态环境适配。
- 轻量级易部署:支持Docker运行Qdrant向量数据库,及Python环境安装,灵活适配本地及云端部署。
- 高性能检索:多个测试证明召回率达到95%以上,响应时间快速。
安装步骤
-
安装Python 3.11及以上版本。
-
安装Docker,用于运行Qdrant向量数据库。
-
使用以下命令安装ACE框架:
pip install ace-framework -
运行脚本启动并配置Qdrant容器,或者手动安装Qdrant:
docker run -p 6333:6333 qdrant/qdrant -
配置API密钥(如OpenAI、Z.ai、Voyage AI等)于项目根目录下的'.env'文件中。
-
启动MCP服务器:
ACE提供'ace_mcp_server.py'作为MCP协议服务器主入口。
MCP服务器配置示例(JSON格式)
{ "mcp": { "servers": { "ace": { "command": "python3", "args": ["path/to/ace_mcp_server.py"] } } } }
- command:Python解释器执行路径
- args:ACE MCP服务器脚本的完整路径
请将'path/to/ace_mcp_server.py'替换为实际存放路径。
基本使用方法
- 启动ACE MCP服务器,使其在本地监听MCP客户端的请求。
- 在支持MCP协议的IDE、编辑器或应用(如VS Code Copilot、Claude Desktop、Cursor等)中,配置连接信息(参考上方JSON示例),启动客户端。
- 使用工具调用接口,例如:
- ace_retrieve:检索相关上下文或记忆
- ace_store:存储偏好、修正或任务策略
- ace_enhance_prompt:对用户提示进行结构化、增强
- ace_onboard:工作区自动注册与代码索引
- ACE自动管理会话状态、多命名空间隔离、上下文融合,助力智能问答和代码辅助等场景。