<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>可追责AI on 奇诺分享 | 重在分享</title>
        <link>https://blog.ccino.org/tags/%E5%8F%AF%E8%BF%BD%E8%B4%A3ai/</link>
        <description>Recent content in 可追责AI on 奇诺分享 | 重在分享</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <lastBuildDate>Tue, 11 Aug 2026 08:00:00 +0800</lastBuildDate><atom:link href="https://blog.ccino.org/tags/%E5%8F%AF%E8%BF%BD%E8%B4%A3ai/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Agent 的记忆不该只剩摘要：Semantica 为什么把决策做成可追责的图</title>
        <link>https://blog.ccino.org/p/agent-decision-accountability-graph-2026/</link>
        <pubDate>Tue, 11 Aug 2026 08:00:00 +0800</pubDate>
        
        <guid>https://blog.ccino.org/p/agent-decision-accountability-graph-2026/</guid>
        <description>&lt;img src="https://blog.ccino.org/p/agent-decision-accountability-graph-2026/imgs/cover.png" alt="Featured image of post Agent 的记忆不该只剩摘要：Semantica 为什么把决策做成可追责的图" /&gt;&lt;p&gt;最近 GitHub Trending 里有个叫 &lt;a class=&#34;link&#34; href=&#34;https://github.com/semantica-agi/semantica&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Semantica&lt;/a&gt; 的项目，仓库主页把自己称为“面向上下文和可问责 AI 系统的图原生基础设施”。这个说法挺大，里面既有知识图谱、来源追踪，也有本体、规则推理、冲突检测和审计导出。光看 README，容易把它归到又一个 GraphRAG 项目里。&lt;/p&gt;
&lt;p&gt;我觉得它瞄准的，是 Agent 进入工作流后会越来越常见的一类问题。&lt;/p&gt;
&lt;p&gt;假设一个 Agent 改错了配置，或者把一段内部信息写进了不该出现的地方。你回头查，会看到一串工具调用，一堆对话摘要，可能还有最后一条“任务已完成”。可真正想问的几件事，常常没有地方可问。&lt;/p&gt;
&lt;p&gt;它当时参考了哪份文档？那份文档是不是已经过期？它引用的规则后来被谁改过？它为什么把这一步判断成允许？这个动作又影响了后面哪些结果？&lt;/p&gt;
&lt;p&gt;很多 Agent 的“记忆”能帮它在下一轮找到相关资料，却帮不了团队在出事后把这条判断路径讲清楚。&lt;/p&gt;
&lt;p&gt;Semantica 想补的，正是这一块。&lt;/p&gt;
&lt;h2 id=&#34;能找回内容不等于能解释决定&#34;&gt;能找回内容，不等于能解释决定
&lt;/h2&gt;&lt;p&gt;先把一个容易混淆的概念分开。&lt;/p&gt;
&lt;p&gt;向量检索和 RAG（检索增强生成）解决的是“现在有什么材料和眼前问题相近”。用户问某个项目的部署方式，系统从文档、工单或历史对话里找出相似片段，模型据此回答。这套做法很有用，很多 Agent 的长期记忆也靠它起步。&lt;/p&gt;
&lt;p&gt;可相似内容只是一次判断的输入之一。&lt;/p&gt;
&lt;p&gt;拿一个编程 Agent 举例。它准备执行 &lt;code&gt;git push&lt;/code&gt;，表面上只是一条命令。团队真正关心的却是一段任务历史。它是否一直在用户指定的仓库里工作，是否读取过 &lt;code&gt;.env&lt;/code&gt; 或客户资料，提交的文件从哪里来，是否经过测试，推送目标是不是受控仓库。&lt;/p&gt;
&lt;p&gt;向量库可以找回“仓库发布规范”或“不要泄露凭据”这两段文本，却不天然保存这次 push 和前面那些事实之间的关系。它也不会自动留下一张能供人复盘的图，说明“读取受限文件”如何让“外部推送”从普通动作变成需要确认的动作。&lt;/p&gt;
&lt;p&gt;这就是记忆和决策证据分家的地方。&lt;/p&gt;
&lt;p&gt;前者服务于 Agent 当下工作。它把相关信息找回来，让模型少忘东西。后者服务于人和系统之后的追问。它要保留这次判断碰过什么事实，受过什么规则约束，最后造成了什么后果。&lt;/p&gt;
&lt;p&gt;两类能力可以放在同一个系统里，职责却不同。把它们都叫做 memory，反而会掩盖工程上的缺口。&lt;/p&gt;
&lt;h2 id=&#34;一条日志通常不够用&#34;&gt;一条日志通常不够用
&lt;/h2&gt;&lt;p&gt;日志当然重要。没有日志，连 Agent 调了什么工具、改了哪些文件都很难说清。&lt;/p&gt;
&lt;p&gt;问题是大部分日志更像流水账。它能告诉你 10 点 31 分调用了某个工具，10 点 32 分写入了一个文件，10 点 33 分发起了网络请求。它不擅长回答这些动作背后的关系。&lt;/p&gt;
&lt;p&gt;例如，一条“写入配置文件”的日志很难表达以下区别。&lt;/p&gt;
&lt;p&gt;第一种情况里，Agent 正在当前项目中更新用户指定的测试配置，提交前跑过了已有测试。&lt;/p&gt;
&lt;p&gt;另一种情况里，它先抓取了外部网页，又读了本地凭据文件，随后新建一个配置文件并准备推到陌生仓库。&lt;/p&gt;
&lt;p&gt;最后一个动作都可能是写文件或推送。风险判断却已经不同。差异不藏在某一行日志里，藏在几条事实、一次规则检查和后续动作组成的路径里。&lt;/p&gt;
&lt;p&gt;这也是为什么不少团队在 Agent 出问题后会陷入一个很熟悉的循环。有人翻聊天记录，有人看终端输出，有人检查 git diff。最后大家大概知道“它做错了”，但说不清它在第几个判断点偏离了，也无法把这个判断点变成下一次任务的固定检查。&lt;/p&gt;
&lt;p&gt;事件多了以后，日志会越来越长，解释反而越来越短。&lt;/p&gt;
&lt;h2 id=&#34;semantica-想保存的是一次判断的来路&#34;&gt;Semantica 想保存的，是一次判断的来路
&lt;/h2&gt;&lt;p&gt;按照 Semantica README 的描述，它把实体、事实、关系和决策都放进 Context Graph（上下文图）里。项目提供的 &lt;code&gt;record_decision()&lt;/code&gt; 接口会把一次决策作为结构化节点保存，再通过因果关系把它同上游依据和下游影响连接起来。项目方还提供 &lt;code&gt;trace_decision_chain()&lt;/code&gt; 这类查询，用于回溯一项决策的因果链。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.ccino.org/p/agent-decision-accountability-graph-2026/imgs/retrieval-vs-decision-evidence.png&#34;
	width=&#34;1672&#34;
	height=&#34;941&#34;
	srcset=&#34;https://blog.ccino.org/p/agent-decision-accountability-graph-2026/imgs/retrieval-vs-decision-evidence_hu_e7a200d2bb9343ec.png 480w, https://blog.ccino.org/p/agent-decision-accountability-graph-2026/imgs/retrieval-vs-decision-evidence_hu_2e1acac80aa7f751.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;从检索相关材料到关联决策证据&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;177&#34;
		data-flex-basis=&#34;426px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;它在 README 里举的是高风险业务案例，比如贷款审批和药物相互作用检查。这里不妨把它缩小到更日常的 Agent 场景。&lt;/p&gt;
&lt;p&gt;一个文档整理 Agent 收到任务，先记录用户要求和允许访问的目录。它读到一份标记为内部的文件，又从一份公开网页抽取了补充信息。之后它生成摘要，尝试发邮件给外部联系人。系统如果只记录“发送邮件”，留给人的只有一个动作。&lt;/p&gt;
&lt;p&gt;如果把判断过程记录下来，邮件节点可以关联到任务目标、读取过的材料、内部数据标签、收件人所属域名、触发的策略，以及用户有没有最终确认。后来发现摘要泄露信息时，团队不用从全量日志里猜。它可以沿着邮件这个节点向前找，看到哪份输入把风险带进来，也能向后看同一份摘要是否又被上传、归档或复用。&lt;/p&gt;
&lt;p&gt;这就是项目所说的 provenance（来源追踪）和 decision record（决策记录）在 Agent 里的实际含义。它们把原本散落在消息、工具和数据库里的事实，组织成可以提问的对象。&lt;/p&gt;
&lt;p&gt;Semantica 还强调其图构建、规则推理和来源层可以在不调用 LLM 的情况下运行，并支持 W3C PROV-O 导出。这个定位对金融、医疗、法律等需要审计的业务尤其有吸引力。项目是否能在复杂生产环境里兑现这些承诺，需要使用者自己验证；README 能证明的是它已经把“决策记录和来源关系”当成产品中心，而不只是附在向量检索后面的功能。&lt;/p&gt;
&lt;p&gt;官方 README 的 &lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=QfnNZg4-dZA&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Knowledge Explorer 演示&lt;/a&gt; 展示了图谱浏览、决策节点和实体关系如何放在同一个界面里。它是产品演示，不是性能测试，适合把它当作理解这套数据组织方式的参考。&lt;/p&gt;
&lt;h2 id=&#34;先问为什么再谈要不要上图&#34;&gt;先问为什么，再谈要不要上图
&lt;/h2&gt;&lt;p&gt;看到知识图谱，很多人的第一反应是架构要变重了。这个担心没有错。&lt;/p&gt;
&lt;p&gt;图数据库、本体、实体消歧、事实冲突和时间版本，每一项都需要维护。原始数据质量不稳时，图只会把混乱关系画得更清楚，不会替团队修掉错误。规则写得太宽，Agent 会被误拦；规则写得太窄，审计记录再完整也挡不住问题发生。&lt;/p&gt;
&lt;p&gt;更现实的一点是，很多任务根本不需要它。&lt;/p&gt;
&lt;p&gt;一个只读的问答机器人，能访问的资料很少，也不会调用外部工具，向量检索加普通日志往往就足够。一个一次性的数据清洗脚本，输入和输出都在受控目录里，留好版本记录和执行日志也比引入整套图层更划算。&lt;/p&gt;
&lt;p&gt;图结构真正有价值的地方，出现在任务会跨多个来源、多个工具和多个时间点，且一次判断会影响后续权限、数据流向或业务结果的时候。&lt;/p&gt;
&lt;p&gt;例如，Agent 会根据合同、CRM、网页和邮件共同决定是否外发报价；或者多名 Agent 共享客户上下文，又需要知道哪条规则在什么时候覆盖过旧规则。到了这种程度，团队需要的就不只是“搜到一段相关文本”，还需要知道这段文本被谁用过，如何影响了某个动作，以及新事实出现后哪些旧决定需要重审。&lt;/p&gt;
&lt;p&gt;这时，决策图才有机会比一堆拼接式日志更省事。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.ccino.org/p/agent-decision-accountability-graph-2026/imgs/semantica-agent-context-flow.svg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Semantica 官方 Agent Context Flow&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;上图来自 Semantica 的官方架构素材，展示的是项目设计里的 Agent 上下文流，不表示任何通用实现都必须采用同一套组件。&lt;/p&gt;
&lt;h2 id=&#34;小团队可以从四个字段开始&#34;&gt;小团队可以从四个字段开始
&lt;/h2&gt;&lt;p&gt;不必一上来安装图数据库，也不必先设计完整的本体。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.ccino.org/p/agent-decision-accountability-graph-2026/imgs/high-risk-operation-record.png&#34;
	width=&#34;1672&#34;
	height=&#34;941&#34;
	srcset=&#34;https://blog.ccino.org/p/agent-decision-accountability-graph-2026/imgs/high-risk-operation-record_hu_95e5f087b07bfbd3.png 480w, https://blog.ccino.org/p/agent-decision-accountability-graph-2026/imgs/high-risk-operation-record_hu_ce9ca5643d0fe2e2.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;小团队记录 Agent 高风险操作的四类信息&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;177&#34;
		data-flex-basis=&#34;426px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;如果团队正在做会写文件、发消息、改代码或调用业务 API 的 Agent，可以先为高影响操作补齐一小份记录。记录用户最初授权它做什么，允许在哪个目录、项目或系统里活动。记录这个动作参考了哪些文件、网页、工单、规则或人工指令。再把它为什么准备执行、命中了哪条策略、是否经过用户确认，以及调用是否成功、改了什么、哪些后续任务又引用了结果，一并留下来。&lt;/p&gt;
&lt;p&gt;这四类信息的价值很朴素。任务出问题时，团队能把一次动作还原为一串事实，而不是只看到模型最后的自然语言解释。后来发现某类错误反复出现，也能把它们聚到同一种判断上，改规则、补测试或收紧权限。&lt;/p&gt;
&lt;p&gt;存储形式可以先很简单。数据库里的关联表、带 ID 的 JSON 事件、任务目录里的结构化 Markdown 都可以。关键在于每个高风险动作都能回到依据和后果，而不是每个模块都必须换成图数据库。&lt;/p&gt;
&lt;p&gt;有些团队做到这一步就够了。只有当跨任务、跨系统的关系开始多到手工关联很困难时，再考虑引入 Semantica 这类完整的图基础设施，会更稳一些。&lt;/p&gt;
&lt;h2 id=&#34;记忆负责找资料证据负责回答问题&#34;&gt;记忆负责找资料，证据负责回答问题
&lt;/h2&gt;&lt;p&gt;Agent 的记忆当然还要继续做。没有检索和摘要，它每次任务都得重新翻项目资料，合作体验很快就会变差。&lt;/p&gt;
&lt;p&gt;不过，随着 Agent 获得更多工具和权限，记忆系统会同时承担两种工作。一种是把相关信息带回当前上下文，帮助它推进任务。另一种是保留足以让人复盘的判断依据，帮助团队知道它为什么这样做。&lt;/p&gt;
&lt;p&gt;前一种关心相关性和速度，后一种关心来源、版本、规则和后果。两者偶尔会共用同一份数据，但不能互相代替。&lt;/p&gt;
&lt;p&gt;Semantica 的价值还谈不上已经被生产环境验证。它至少提醒了一件容易被忽略的事。团队给 Agent 加“长期记忆”时，别只问它能记住多少文档，也该问一遍，当它做出一项会影响外部世界的决定，我们能不能把这项决定的来路讲明白。&lt;/p&gt;
&lt;h2 id=&#34;参考来源&#34;&gt;参考来源
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/semantica-agi/semantica&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Semantica GitHub README&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/semantica-agi/semantica/blob/main/ARCHITECTURE.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Semantica Architecture&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=QfnNZg4-dZA&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Semantica Knowledge Explorer 演示&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.w3.org/TR/prov-o/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;W3C PROV-O 文档&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;以上来源主要用于说明 Semantica 的公开设计和来源追踪标准。项目仓库中的功能说明属于项目方口径，本文不将其等同于独立性能或生产效果验证。&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
