AI Agent 知识图谱教程:用 Semantica 构建可追溯记忆和决策链
AI AGENT · CONTEXT GRAPH2026.08
有聊天记录就能审计?
把每次决定
连回事实与来源
KNOWLEDGE GRAPH · PROVENANCE · AUDIT
SEMANTICA
GRAPHAGENT
12 PARTS + PRACTICE
PART 02
RAG 缺口
相似不等于关系
PART 06
决策链实战
记录与追溯
PART 10
落地成本
先做最小验证
很多 AI Agent 演示都很顺:读资料、调用工具、给出结论,一两分钟完成任务。
真正进入业务后,问题会变成另一种样子。三个月后有人追问“当时为什么批准”“依据来自哪份文件”“这次判断和以前是否冲突”,普通对话记录和向量检索很难给出稳定答案。
开源项目 Semantica 处理的就是这类问题。它把实体、关系、事实、来源和 Agent 决策放进一张可查询的图,再保留决策之间的因果链与数据来源。
这篇文章会带你理解它与 RAG 的区别,并用 Python 记录一条可以回查的 Agent 决策链。
01
PART
Semantica 是什么
OVERVIEW · AGENT INFRASTRUCTURE
Semantica 是一套面向 AI Agent 的上下文图和知识图谱基础设施,使用 Python 开发,采用 MIT 许可证,可以自行部署。
它位于 LLM、Agent 框架和数据存储之间。上层模型继续负责理解和生成,Semantica 负责保存结构化上下文、记录决策、建立关系、执行确定性规则,并回答“这条结论从哪里来”。
项目当前包含知识图谱构建、决策记录、来源追踪、规则推理、冲突检测、实体去重、图分析、可视化、REST API、MCP 服务和多种数据库连接器。
这不是一个安装后就能直接聊天的桌面应用。它更像开发组件,适合已经在搭建 Agent、RAG 或企业数据平台的团队。
02
PART
普通 RAG 缺少什么
RAG · RELATIONSHIP GAP
向量检索擅长寻找“语义上相似的内容”。用户询问一份合同,系统可以从文档库召回相关段落,再让 LLM 生成答案。
但相似度不能完整表达业务关系。例如:
谁批准了这份合同;
批准时引用了哪条政策;
安全审查是否发生在付款审批之前;
后续哪些决定受到了这次审批影响;
两份来源对同一个客户给出了什么冲突信息。
这些问题依赖明确的实体、关系、时间和来源。把所有内容切成文本块再做向量检索,能找回材料,却很难稳定重建完整决策过程。
Semantica 的思路是保留向量检索,同时增加一层 Context Graph。文本相似性继续负责“可能相关”,图遍历负责“明确连接”,来源记录负责“证据来自哪里”。
03
PART
Context Graph 如何工作
CONTEXT · STRUCTURED MEMORY
来源
Source
上下文
Graph
决策
Decision
审计
Audit
Context Graph 可以理解为 Agent 的结构化记忆。
人物、公司、合同、政策、事件和决策都可以成为节点。节点之间通过 works_for、party_to、approved_by、caused 等关系连接。每条事实还能附带时间、来源和其他属性。
一次业务操作结束后,系统留下的不只是最终答案,还包括:
1
Agent 看到了哪些事实;
2
这些事实来自哪里;
3
Agent 做出了什么决定;
4
决定之间有什么因果关系;
5
后续操作受到了哪些影响。
需要审计时,可以沿着图向上追溯证据,也可以向下查看影响范围。
04
PART
Semantica 能提供哪些能力
CAPABILITIES · FOUR LAYERS
仓库的模块很多,可以先按四层理解。
数据进入与清洗
支持文件、网页、数据库、API、Git、邮件、流式数据以及部分企业数据平台。数据进入后,可以进行规范化、切块、实体抽取、关系抽取、冲突检测和去重。
图谱与存储
可以构建知识图谱和上下文图,并连接 RDF 三元组存储、Neo4j、FalkorDB、Apache AGE、AWS Neptune 以及多种向量数据库。
本地小项目可以从嵌入式或内存方案开始,不必一上来部署完整图数据库集群。
决策与推理
每次 Agent 决策都能保存为独立节点,随后建立原因、影响和先例关系。规则层支持前向链、Rete、Datalog、SPARQL 和 SHACL 等方式。
图构建、来源追踪和规则推理可以使用确定性流程,不要求每一步都调用 LLM。处理非结构化材料时,实体与关系抽取仍可能需要 NLP 模型或 LLM,具体取决于你的管道设计。
查询与对外连接
结果可以通过 Python、命令行、REST API 或 MCP 提供给 Agent。系统还能导出 JSON、CSV、RDF、OWL、Parquet、Cypher 和 JSON-LD 等格式。
05
PART
用 uv 创建示例项目
SETUP · PYTHON PROJECT
安装提醒
默认依赖包含 PyTorch、Transformers、spaCy 和 FAISS,首次安装需要准备网络、磁盘和等待时间。
Semantica 当前的 Python 包名是 semantica,要求 Python 3.8 或更高版本。为了减少环境冲突,建议放进独立项目。
powershell
uv init semantica-demo
cd semantica-demo
uv add semantica
安装完成后,运行官方诊断命令:
powershell
uv run semantica doctor
诊断会检查 Python、Semantica、向量存储和配置文件等项目。
需要注意,Semantica 的默认依赖包含 PyTorch、Transformers、spaCy、FAISS、Pandas 和图分析组件,安装包不算轻。网络和磁盘空间都要留出余量。
不要为了体验一个决策链示例,就把所有数据库、LLM 和云平台扩展一次装齐。等工作流需要时再添加对应 extra。
06
PART
记录第一条 Agent 决策
TUTORIAL · DECISION CHAIN
在项目根目录新建 decision_demo.py,写入下面的代码:
python
from semantica.context import ContextGraph
graph = ContextGraph(advanced_analytics=True)
review_id = graph.record_decision(
category=“supplier_review”,
scenario=“审查供应商 A 的年度服务续约”,
reasoning=“过去 12 个月服务可用率达到合同要求,报价未超过预算”,
outcome=“进入安全复核”,
confidence=0.91,
)
security_id = graph.record_decision(
category=“security_review”,
scenario=“检查供应商 A 的数据处理与访问控制”,
reasoning=“审计报告有效,未发现未关闭的高危问题”,
outcome=“安全复核通过”,
confidence=0.88,
)
approval_id = graph.record_decision(
category=“contract_approval”,
scenario=“批准供应商 A 的年度续约”,
reasoning=“业务指标达标,预算合规,安全复核通过”,
outcome=“批准续约”,
confidence=0.94,
)
graph.add_causal_relationship(
review_id,
security_id,
relationship_type=“CAUSED”,
)
graph.add_causal_relationship(
security_id,
approval_id,
relationship_type=“INFLUENCED”,
)
chain = graph.trace_decision_chain(approval_id)
impact = graph.analyze_decision_impact(review_id)
print(“审批链:”, chain)
print(“影响范围:”, impact)
运行:
powershell
uv run python decision_demo.py
这段代码记录了业务审查、安全复核和合同批准,并用两条因果关系把它们连接起来。
以后有人询问“为什么续约”,系统可以从批准节点向上追溯,而不是让 LLM 根据一堆日志临时编一个解释。
07
PART
再加入业务实体和关系
GRAPH · ENTITIES AND EDGES
决策链回答了“发生了什么”,知识图谱还能补充“涉及谁、哪份合同和什么组织”。
python
from semantica.context import ContextGraph
graph = ContextGraph(advanced_analytics=True)
graph.add_node(
“supplier_a”,
“Organization”,
name=“供应商 A”,
industry=“Cloud Service”,
)
graph.add_node(
“contract_2026”,
“Contract”,
value=480000,
currency=“CNY”,
)
graph.add_node(
“security_team”,
“Team”,
name=“信息安全组”,
)
graph.add_edge(
“supplier_a”,
“contract_2026”,
edge_type=“party_to”,
)
graph.add_edge(
“security_team”,
“contract_2026”,
edge_type=“reviewed”,
reviewed_at=“2026-08-01”,
)
neighbors = graph.get_neighbors(“contract_2026”, hops=2)
print(neighbors)
在真实项目里,实体 ID 应来自稳定的业务主键,避免把公司简称、全称和历史名称当成三个不同实体。
08
PART
来源追踪有什么用
PROVENANCE · SOURCE TRACE
知识图谱最容易出现的问题是“看起来关系很完整,却没人知道事实来自哪里”。
Semantica 使用 W3C PROV-O 记录来源关系。你可以把实体关联到合同文件、数据库记录、API 响应或抽取程序,并保存处理时间和抽取器信息。
这样做有两个直接好处:
数据出错时能定位源文件和处理步骤;
接受审计时可以导出事实、决策和证据之间的关系。
来源记录仍然需要你的业务代码认真填写。工具只能提供结构,无法自动保证录入的数据真实、完整或符合法规。
09
PART
冲突检测比自动覆盖更重要
CONFLICTS · KEEP DISAGREEMENT
企业数据经常互相打架。CRM 显示客户地址是上海,合同系统保存的是北京,最新邮件里又出现了深圳。
简单的知识库可能用最近写入的数据覆盖旧值。这样查询结果看起来很干净,真实分歧却消失了。
Semantica 提供冲突检测和实体去重模块,允许系统保留不同来源的事实,再按照规则决定采用、合并或标记人工复核。
这类能力对合同、风控、医疗和主数据管理更有价值。对普通问答机器人,它可能显得过重。
10
PART
如何接入现有 Agent 和 RAG
INTEGRATION · EXISTING STACK
Semantica 的定位是补充现有技术栈。原来的 LLM、向量数据库和 Agent 框架可以继续使用。
一条比较清晰的接入流程是:
1
文档进入现有解析和切块管道;
2
文本块写入向量数据库,用于语义召回;
3
实体、关系、事实和来源写入 Context Graph;
4
Agent 检索时同时获取文本证据和图关系;
5
Agent 作出重要决定后调用 record_decision();
6
审计或复盘时查询因果链、来源与历史快照。
如果使用支持 MCP 的客户端,也可以通过 Semantica 的 MCP 服务读取或写入图谱。不过,允许 Agent 写入正式知识图谱前,需要增加身份认证、权限控制、输入校验和审批流程。
11
PART
不要忽略这些成本
REALITY · IMPLEMENTATION COST
先做小范围验证
图谱层会增加数据建模、权限和运维工作,确认关系查询确实有业务价值后再扩大范围。
知识图谱不会自动把混乱数据变得可靠。落地 Semantica 之前,要评估下面几项成本。
本体和关系设计
团队需要约定哪些实体值得保存、关系怎样命名、哪些字段必须存在。没有统一模型,图谱很快会变成另一种数据堆积。
实体消歧
同名人物、公司别名和重复合同需要稳定的匹配规则。自动去重只能辅助,重要业务实体仍应使用主数据 ID。
来源质量
错误来源被完整追踪后,仍然是错误数据。可追溯解决的是“能否找到责任链”,并不等于输入天然可信。
权限与隐私
决策图可能包含客户、患者、员工和合同信息。谁能查看、修改和导出,应在接入阶段就确定。
运维复杂度
小型内存图和企业级 Neo4j、Neptune 的运维成本完全不同。先用最小后端验证查询价值,再决定是否扩展。
12
PART
哪些项目适合使用 Semantica
FIT · USE CASES
下面这些场景值得进一步测试:
Agent 会影响审批、授信、诊疗、合同或合规结果;
需要回答每条结论来自哪里;
多个 Agent 需要共享统一业务上下文;
业务问题依赖多跳关系和时间状态;
数据来源冲突,不能简单覆盖;
团队已经有向量 RAG,正在补充决策记录与治理能力。
如果项目只是个人问答助手、短期原型或简单文档搜索,直接使用向量检索会更轻。先确认是否真的需要关系查询、来源追踪和决策审计,再引入完整图谱层。
///
LAST
从一个真实问题开始
PRACTICE · FINAL ADVICE
评估 Semantica 时,不要先导入整个数据仓库。
选择一个经常被追问的业务决定,例如供应商续约、贷款审批或告警处置。只建相关实体、证据和三到五个决策节点,然后测试四个问题:
1
能否解释最终决定的直接原因;
2
能否追溯到原始数据来源;
3
能否发现相互冲突的事实;
4
能否查看决定造成的后续影响。
这四个问题能稳定回答,再扩大数据范围。若它们回答不了,继续增加节点数量只会让问题更难排查。
对 AI Agent 来说,给出答案只是任务的一半。涉及真实业务时,系统还要保存足够的证据,让答案在几个月后仍能被解释和复核。
我是dennis
觉得这篇文章有用,可以点赞、在看或转发给正在搭建 AI Agent 的朋友。
THANKS FOR READING
- 原文作者:知识铺
- 原文链接:https://index.zshipu.com/stock002/post/20260817/AI-Agent-%E7%9F%A5%E8%AF%86%E5%9B%BE%E8%B0%B1%E6%95%99%E7%A8%8B%E7%94%A8-Semantica-%E6%9E%84%E5%BB%BA%E5%8F%AF%E8%BF%BD%E6%BA%AF%E8%AE%B0%E5%BF%86%E5%92%8C%E5%86%B3%E7%AD%96%E9%93%BE/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。
- 免责声明:本页面内容均来源于站内编辑发布,部分信息来源互联网,并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题,请立即联系客服进行更改或删除,保证您的合法权益。转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。也可以邮件至 sblig@126.com

