私域 Agentic Search 设计¶
核心定位¶
OrgReOrg / Harness 需要把组织私域数据做成可被 Agent 主动检索、深度阅读和引用的搜索基础设施。
它不是传统的一次性 RAG Pipeline,而是:
text
文档解析与业务数据接入
-> BM25 全文检索 / 向量检索
-> RRF 融合 / Rerank 重排序
-> MCP Search Server
-> Agent 多轮检索、阅读、验证、回答
参考 /home/ai/workspace/data_engineering 的实现,第一版可以采用 Elasticsearch 作为统一检索底座:BM25 负责精确关键词、术语、编号和人名匹配,向量检索负责语义相似和模糊表达,Rerank 负责把候选结果按问题相关性重新排序。
为什么不是只做 RAG¶
传统 RAG 常见流程是:
text
文档切片 -> Embedding -> 向量库 -> 单次 top-k 检索 -> 塞进 prompt -> 生成回答
这条链路的问题是反馈回路太弱。复杂组织问题经常需要多次查询、换关键词、查不同系统、阅读完整上下文、比较多个证据源,而不是一次检索定生死。
OrgReOrg 更适合采用搜索引擎模式:
- 搜索结果可解释,能返回标题、来源、路径、时间、权限标签和片段。
- Agent 可以先搜宽,再搜窄,再读原文。
- 对复杂问题可以拆成多个搜索子问题。
- 检索不到时,Agent 能识别知识缺口并触发主动收集。
- 搜索工具通过 MCP 暴露,便于 Claude Code、Codex、内部 Agent 或网页端统一调用。
Agentic Search Loop¶
text
Trigger: 用户提出问题或 workflow 需要上下文
Plan: Agent 拆分检索意图,选择系统和关键词
Search: 调用私域搜索 MCP,返回候选结果
Read: 读取文档详情、章节、业务对象或原始记录
Verify: 交叉验证来源、时间、权限和事实一致性
Synthesize: 生成带证据引用的答案或行动建议
Gap: 标记缺失数据、过期数据或权限不足
Persist: 写入检索记录、引用、知识缺口和后续任务
这个 loop 的重点不是“模型一次答对”,而是让 Agent 像研究员一样持续搜索、阅读和校验。
检索对象¶
第一阶段先覆盖结构化程度较高的信息:
docs/和vault/中的组织知识。- GitHub Issue、PR、Commit、CI 日志和技术文档。
- 项目管理系统中的任务、里程碑、负责人和状态。
- 文档系统中的制度、方案、会议纪要、合同摘要和培训材料。
- CRM、财务、BI 等系统中经过授权的只读查询结果。
企业微信和飞书只作为统一交互入口与通知入口,不应被描述为组织信息的完整来源。真实业务信息分散在各部门业务系统中,搜索层必须围绕这些系统建立连接器和权限视图。
MCP 工具设计¶
最小工具集:
```text private_search.search 输入:query, source, filters, top_k, use_rerank 输出:候选结果、证据片段、来源、权限标签、score
private_search.get_document 输入:doc_id, section 输出:目录、章节正文、来源元数据
private_search.search_and_read 输入:query, source, top_k 输出:搜索结果与可阅读摘要
private_search.list_sources 输入:无或权限上下文 输出:当前用户可检索的数据源和覆盖范围
private_search.report_gap 输入:问题、缺失信息、建议连接器或负责人 输出:知识缺口记录 ```
所有工具返回都必须包含证据元数据:来源系统、对象 ID、更新时间、访问权限、检索得分、是否经过 Rerank、可引用路径。
证据引用¶
回答组织问题时,Agent 必须尽量引用具体证据,而不是只给结论。
推荐引用粒度:
- 文档:文件路径、标题、章节、版本、更新时间。
- GitHub:repo、issue/PR 编号、commit、CI run。
- 财务:报销单、预算项、合同编号、发票编号,但要按权限脱敏。
- CRM:客户、商机、合同、回款记录,同样按权限裁剪。
- BI:看板、指标、查询时间、过滤条件。
用户没有权限查看的证据,不应在回答中泄露内容。系统可以说明“存在相关记录但当前角色不可见”,并给出申请授权路径。
知识缺口识别¶
Agentic Search 的一个关键产物是知识缺口,而不是只有答案。
常见缺口包括:
- 搜不到相关资料。
- 找到资料但明显过期。
- 只有结论,没有原始证据。
- 需要访问某个业务系统但没有连接器。
- 有连接器但当前用户没有权限。
- 多个系统信息互相冲突。
这些缺口应该进入主动收集和知识维护流程,由 Agent 识别部门、系统、负责人,发起授权或资料补充请求。
Anthropic 方向的工程启发¶
Anthropic 的 Claude Projects 提供了“围绕项目注入知识和指令”的产品形态;MCP Connector 提供了通过远程 MCP Server 接入工具的工程边界;连接器权限可以按工具动作做 allow、approval 或 block;Claude Code hooks 展示了在 agent loop 的不同生命周期插入治理逻辑的方式。
OrgReOrg 不应照搬任何单一产品形态,而应吸收这些工程启发:
- Project Knowledge 对应组织上下文包。
- Connectors / MCP 对应部门系统工具层。
- Connector Permissions 对应工具动作权限。
- Skills / Plugins 对应可复用任务模板和领域操作手册。
- Hooks 对应权限、审计、质量和上下文维护的触发点。
参考资料:
- Anthropic MCP Connector 文档:https://docs.anthropic.com/en/docs/agents-and-tools/mcp-connector
- Anthropic Connectors 帮助文档:https://support.anthropic.com/en/articles/11176164-pre-built-web-connectors-using-remote-mcp
- Anthropic Projects 发布说明:https://www.anthropic.com/news/projects
- Claude Code Hooks 文档:https://docs.anthropic.com/en/docs/claude-code/hooks