Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

关系记忆

关系记忆是 knowledge 工具中可选择启用的图谱侧。 当代理需要记住事物之间如何关联,而不仅仅是哪些文本片段匹配查询时,请使用它。

这与普通的长期记忆是分开的。knowledge 工具由 zeroclaw-memory 知识图谱支持,而普通记忆仍然是通过 memory_* 工具暴露的 Memory 后端。

普通长期记忆回答诸如“我们对这个主题了解什么?”这类问题。结构化关系记忆回答诸如“哪些节点与这个事物相连?”,“谁管理这个客户?”,或者“哪些技能工作流使用此能力?”这类问题。

启用知识图谱

图形工具默认处于禁用状态。在期望 agent 调用 knowledge 之前,请先在配置中启用它:

[knowledge]
enabled = true

当前关系捕获是显式的。代理通过 knowledge 操作(如 capturerelate)存储图条目;启用该工具并不会自动开启摄取。关系记忆可能包含敏感的运营或业务上下文,因此操作人员应自行选择要存储的内容。

概念

该图存储节点和有向边。

节点类型:

  • pattern:可复用的工作流、实践或技能化流程
  • decision:设计选择、策略决策,或已接受的方向
  • lesson:从一次事件、评审或运行中学到的东西
  • expert:所有者、管理者、维护者角色或代理角色
  • technology:提供程序、工具、协议或能力面
  • client:被跟踪的账户、项目、工作区或外部组
  • contact:客户端或项目的联系人点
  • interaction:会议、请求、审查、事件,或其他带日期的接触点

关系:

  • uses
  • replaces
  • extends
  • authored_by
  • applies_to
  • manages_client
  • contact_of
  • interacted_with

方向很重要。例如,contact 指向 client 时使用 contact_of,而 client 指向 interaction 时使用 interacted_with

工具操作

knowledge 工具支持诸如 capturesearchrelatesuggestexpert_findlessons_extractgraph_stats 等通用记忆操作。

面向关系的操作有:

操作必填字段使用
graph_neighborsnode_id返回任意节点的入边和出边。
client_networkclient_id返回 client 节点的联系人、管理者和最近的交互。
interaction_logclient_id返回与 client 节点连接的最近交互节点。

这些是面向模型的工具操作,不是 CLI 子命令。下面的 JSON 示例展示了当技能或指令要求代理捕获或检查图关系时,它可以传递的参数。

客户端关系示例

创建客户端节点。capture 返回 node_id;请将该值用作下面的 <client-node-id>

{
  action: "capture",
  "node_type": "client",
  "title": "示例工作区",
  "内容": “用于演示关系记忆的中性占位工作区。”,
  "tags": ["example", "workspace"]
}

创建一个联系人节点,然后将其与客户端关联:

{
  action: "capture",
  "node_type": "contact",
  "title": 项目联系人,
  "内容": “示例工作区的主要联系人角色。除非策略允许,否则不要存储个人联系方式。”,
  "tags": ["example", "contact"]
}
{
  action: "relate",
  "from_id": "<contact-node-id>",
  "to_id": "<client-node-id>",
  "relation": "contact_of"
}

创建一个交互并将其附加到客户端:

{
  action: "capture",
  "node_type": "interaction",
  "title": "范围审查",
  "内容": 已审阅下一个实现切片,并同意将 UI 辅助函数排除在范围之外。,
  "tags": ["example", "review"]
}
{
  action: "relate",
  "from_id": "<client-node-id>",
  "to_id": "<interaction-node-id>",
  "relation": "interacted_with"
}

请求当前网络:

{
  action: "client_network",
  "client_id": "<client-node-id>"
}

询问最近的交互:

{
  action: "interaction_log",
  "client_id": "<client-node-id>",
  "limit": 10
}

技能能力示例

关系记忆不仅用于客户端式跟踪。一个技能可以引导代理从已安装的技能工作流构建能力图谱。有关包含设置和验证步骤的完整可复制版本,请参阅在技能中使用关系记忆

示例 SKILL.md

---
name: capability-map
description: Capture and query the relationship between local skills, capabilities, and steward roles
version: 0.1.0
author: zeroclaw_operator
tags: [knowledge, skills, capability-map]
---

# Capability map

Use the `knowledge` tool when the operator asks which skill, capability, or steward role is connected to a workflow.

Capture each reusable skill workflow as a `pattern` node. Capture reusable tool or platform surfaces as `technology` nodes. Capture maintainer or agent stewardship roles as `expert` nodes, using role names rather than personal details.

Use `uses` from a skill workflow to a capability it relies on. Use `authored_by` from a skill workflow to the role that maintains it. Use `graph_neighbors` when the operator asks what a skill depends on or what depends on a capability.

Do not store secrets, personal contact details, private URLs, or account identifiers. Summarize sensitive context outside the graph or ask before storing it.

代理可以捕获并关联这样的技能工作流:

{
  action: "capture",
  "node_type": "pattern",
  "title": "发布检查技能",
  "内容": 在发布签署前审查变更日志、版本标签、验证证据和回滚说明。,
  "tags": ["skill", release]
}
{
  action: "capture",
  "node_type": "technology",
  "title": "文档翻译工作流",
  "内容": "使用 mdBook 翻译流水线处理源文档和翻译缓存验证。",
  "tags": ["capability", docs]
}
{
  action: "relate",
  "from_id": "<release-check-skill-node-id>",
  "to_id": "<docs-translation-capability-node-id>",
  "relation": "uses"
}

然后操作员可以问“release check skill 依赖什么?”,agent 可以调用:

{
  action: graph_neighbors,
  "node_id": "<release-check-skill-node-id>",
  "limit": 10
}

隐私规则

关系记忆是持久的。把它像任何其他公共或共享知识库一样对待:

  • 在示例和测试中使用中性的占位符。
  • 不要存储密钥、令牌、个人电子邮件地址、私有 URL、账户 ID 或会话 ID。
  • 除非操作员的部署策略明确允许,否则不要存储个人联系方式。
  • 优先使用诸如 ZeroClawMaintainerrelease-stewardproject-contact 之类的角色标签,而不是使用真实姓名。
  • 除非数据源、保留策略和审查流程都清晰,否则请保持自动摄取关闭。

另见