Octop(体系知识中枢,kb-rag.html,www/octop 双域)从单轮问答器起步:22 组触发词规则匹配 → 三池路由(图谱 /kg/query、数据湖 /lake/query、RAG /api/rag)→ 问答沉淀上报。它已能答,但有三项结构性短板:记忆只在本机(localStorage,换设备即丢失)、意图识别是硬触发词(等长命中、无语义强弱、多意图无排序)、答不出就结束(未命中问题无人记录,知识缺口不可见)。P2 进化把 Octop 从「问答器」推向「自进化 Agent」。
本次进化同时巡检发现并修复一个真实断点:nginx 反代中 /kg/ 与 /lake/ 的 location 被后续部署覆盖丢失(公网 404 返回 HTML),已恢复并验证——kg 无鉴权 401、带鉴权返回真实 JSON,lake 返回实时数据。
本地 localStorage 记忆升级为云端记忆:每次提问(图谱/数据湖/RAG 任一池命中)自动上报记忆网关(key: truth.kernel.octop-user-memory.*,value 含问题/命中池/设备 ID/时间戳);页面加载读回最近记录,按「本设备 / 其他设备」分组渲染,点击即复问。
链路(全链路实测): 提问 → POST /api/report/truth (octop-user-memory., 含 device) → 页面加载 GET /api/truth?key=octop-user-memory&limit=40 → 按 device 分组展示(本设备/其他设备 各最多 4 条) 实测:devA / devB 双设备样本上报 200,读回字段 results 确认
效果:换设备不丢提问史,跨设备复用知识查询轨迹。设备 ID 由 localStorage 随机生成(隐私最小化,不采集身份信息)。
22 组硬触发词升级为加权打分分类器:6 类意图(图谱统计 stats / 两跳关系 2hop / 三跳跨域 3hop / 命名空间 ns / 谓词 predicate / 类型分布 type),每类配关键词权重表,classify() 对问题逐词加权累加、排序输出意图列表(含置信度),多意图自动走 kgMulti 按分数降序组合查询。
| 意图 | 代表关键词(权重) | 查询动作 |
|---|---|---|
| stats | 图谱规模 .9 · 三元组 .9 · 图谱 .45 | /kg/query?type=stats(图谱规模/谓词/实体类型) |
| 2hop | 谁确权 .95 · 确权 .9 · 归属 .85 | 确权于→属于 两跳分布 |
| 3hop | 三跳 .95 · 跨域 .9 · 决策类 .9 | 确权于→属于 ns:truth→类型为 跨域聚合 |
| ns | 命名空间 .9 | KERNEL 命名空间样本 |
| predicate | 谓词 .9 · 关系类型 .9 | 确权于 谓词分布 |
| type | 类型分布 .9 · 类型为 .6 | 类型统计 |
示例:"决策类和规则类各有多少?" → classify 命中 3hop(.9)+stats(.45) → kgMulti 组合: ▍3hop:跨域分布 config 12 · decision 11 · data 3 · meta_law 2 · rule 1 ▍stats:图谱规模 4510 三元组 · 4842 实体 · 28355 属性 回答区标注:意图识别:3hop(0.9) · stats(0.45)
「答不出就结束」改为「答不出就登记」:三池(图谱/数据湖/RAG)全空时,自动上报知识缺口(key: truth.kernel.octop-gap-request.*,value 含问题/设备/时间),回答区提示已进入补全队列。构建端 build_kg4.py 新增第 8 算子扩展:每日重建时扫描缺口请求,从问题文本抽取命中已有实体的候选(组件词表/显式 key/ns/did 引用),生成待补于边——知识需求以图谱边形式显式化、可度量。
实测闭环(全链路):
模拟缺口 "体系目前有哪些对外协议" → POST gap-request (HTTP 200)
→ 重建 build_kg4.py → 新增边:gap-key —待补于→ comp:octop
→ 公网 /kg/query?type=predicate&p=待补于 → {"total":1,...}
→ 图谱增长:4480 → 4510 边 · 4833 → 4842 实体
意义:缺口从「不可见的一次性失败」变为「图谱上的显式节点与边」,可统计缺口 Top、可按缺口定向补知识,形成「问答驱动知识进化的闭环」。
| 验证项 | 结果 |
|---|---|
| 前端 JS 语法 | node --check 通过 |
| www / octop 双域 | HTTP 200 × 2 |
| kg/query 鉴权 | 无鉴权 401 · 带鉴权真实 JSON |
| 云端记忆读写 | 上报 200 · 读回 results 字段确认 |
| 第 8 算子缺口边 | 待补于 1 条 · 公网可查 |
| 魔搭同步 | knowledge-graph/ 目录上传完成(kg.duckdb V4 最新) |
| 项 | 值 |
|---|---|
| 前端备份 | /root/backups/kb-rag.html.bak-agent-p2-20261017 |
| 构建备份 | /root/backups/build_kg4.py.bak-agent-p2-20261017 |
| nginx 备份 | /root/backups/nginx.conf.bak-kg-restore-20261017-021710 |
| 真值固化 | octop-kg-lake-reverse-proxy-restored(seq 11730)· octop-p2-evolution(seq 11736) |
| 优先级 | 方向 | 说明 |
|---|---|---|
| P0 | 反代固化 | kg/lake location 拆独立 conf + include,纳入部署 SOP,防再被覆盖 |
| P1 | 统一查询网关 /api/qa | 三池路由/多意图编排从前端下沉后端,Worker/各页复用同一逻辑 |
| P1 | 缺口健康度报表 | 缺口 Top 清单 / 补全率统计,反哺 RAG 与图谱扩容 |
| P2 | 意图自学习 | 沉淀日志反哺分类器词表权重(问答即训练数据) |
| 出口 | 状态 |
|---|---|
| 官网白皮书 | 本页(第 79 篇,JSON-LD Article,sitemap 已索引) |
| Octop 智能问答 | kb-rag.html P2 版(云端记忆 + 分类器 + 缺口登记) |
| 魔搭数据集 | zongyuanroot/zongyuan-root-achievements · knowledge-graph/(含 kg.duckdb + build_kg4.py) |
| API | https://www.huodouai.com/kg/query · /lake/query(X-DID: DID-BR-000002) |