跳至文档内容

Kavor 中的 CodingAgent:让你熟悉的 harness 成为图的一部分

CodingAgent 是运行在 provider 原生界面中的编程 agent,如今它也成为 Canvas 上可见的参与者。

Kavor 不会用通用聊天界面替换每一种 harness。它保留 provider 的原生体验,并在其周围增加清晰结构: 明确的职责、可达的上下文、工具、其他 CodingAgents,以及你可以检查的边界。

在 Canvas 中添加 CodingAgent 前,Kavor toolbar 中的 provider 选择器。 (在新标签页中打开)

CodingAgent 拥有什么

每个 CodingAgent 都代表一个独立会话。Node 会保存承担该角色所需的配置与状态,包括所选 provider; 当 provider 提供相应能力时,还包括模型、effort 级别、权限和原生会话。

Provider 是 CodingAgent 的配置,不是另一种 Node 类型。选择器包括:

  • Anthropic Claude Code;
  • OpenAI Codex;
  • Google Antigravity;
  • xAI Grok;
  • SST OpenCode。

从 toolbar 添加 CodingAgent 时,你先选择 provider,再按工作需要配置会话。可用选项可能不同,因为 Kavor 保留每种 harness 的真实能力,而不会假装它们拥有完全相同的契约。

它单独能做什么

即使没有任何 Connection,CodingAgent 仍是 Workspace 内的 provider-native 会话。你可以与它对话、使用 harness 提供的工具,并让工作受该 Workspace 根目录约束。

Node 已经可以帮助拆分上下文:一个会话调查问题,另一个会话负责实现。不过,没有图时,共享上下文仍 取决于你在每段对话中提供什么。

Connection 会把孤立会话变成工作系统中的参与者。

它从图中获得什么

CodingAgent 可以使用其组件中通过有效 Connections 可达的任何 Node。并非每个资源都必须直接连接到它。

涉及 CodingAgent 的直接 Connections 各有明确作用:

Connection带来的能力
CodingAgent+Specification把持久的意图、范围和标准放入图中。直接 Connection 可带有 specification_read_only
CodingAgent+Sticky Note增加共享的非正式记忆,用于未决事项、进度和 findings。可带有 sticky_note_read_only
CodingAgent+File让 filesystem 中的规范来源在工作中变得明确。可带有 file_read_only
CodingAgent+Terminal允许执行命令、观察进程和读取 shell 证据。可带有 terminal_read_only
CodingAgent+CodingAgent让参与者进入同一组件。可达的 CodingAgents 可以交换异步消息,并读取协调所需的上下文。
Trigger+CodingAgent把该活动会话选为定时 prompt 的直接目标。Trigger 不会启动已经关闭的会话。

可达性不会覆盖直接契约。如果 CodingAgent 与资源之间的那条直接 Connection 带有 Guardrail,即使图中存在 另一条路径,该限制仍然约束这一对。

三种实用模式

按契约实现

连接一份 Specification、一个承担 Implementer 角色的 CodingAgent 和一个 Terminal。Agent 从源文件读取 契约,只修改必要范围,执行检查,并把 outputs 记录到 Specification。

这样,意图不会埋在对话历史中,证据也会留在 Workspace 内。

分离实现与审查

为 Implementer 和 Reviewer 使用不同会话。两者都能访问同一份 Specification 和证据,但各自回答不同问题。

Implementer 问“如何满足契约?”,Reviewer 问“结果是否真正满足契约,还有哪些风险?”。这种分离可以减少 审查者自动继承作者假设的可能性。

组合 providers,而不是让它们竞赛

不同 providers 可以参与同一张图。当另一种界面、模型或推理方式能改善某项具体职责时再进行组合。

不要只为增加 agent 数量而加入 provider。先定义角色、预期结果和停止条件,再选择最适合工作的 harness。

一个实用图

Specification — Implementer — Reviewer
                    │            │
                  Terminal    Sticky Note
                    │
                   File

这些线表示没有持久方向的 Connections。所有 Nodes 都在同一个可达组件中。Implementer 执行契约,Reviewer 给出独立评估,Sticky Note 则让问题和 findings 对人的决策保持可见。

这不是自动执行序列。消息用于协调 handoffs;Specifications 和其他资源保存需要跨会话延续的内容;是否接受 工作由你决定。

更好的起始 prompt

给 Implementer:

只实现可达 Specification 定义的范围。修改代码前,先找出相关 Files 和检查项。使用 Terminal 产生证据, 将结果记录为 Specification output,并请 Reviewer 独立评估。如果必要决策超出契约,请停止。

给 Reviewer:

将实现和证据与 Specification 标准比较。寻找错误行为、遗漏场景、回归和运行风险。提出修改前先记录具体 findings,不要仅因为现有测试通过就批准工作。

重要限制

  • CodingAgent 不会因视觉上靠近某个 Node 而获得访问;必须存在 Connection 路径。
  • 在消息中引用 Node 不会授予访问权限。
  • Guardrail 只限制它所属的直接配对,不是 Workspace 全局策略。
  • 消息负责协调,但不应成为持久决策的唯一保存位置。
  • Providers 不一定提供相同的模型、权限、事件或会话操作。
  • Trigger 把 prompt 交给活动会话;它不会扩大权限,也不保证外部效果恰好发生一次。
  • 允许编辑 Canvas 不等于允许删除 Nodes 或更改 Guardrails;这些边界仍由人掌控。

启动会话前

请确认:

  • 这个 CodingAgent 负责什么;
  • 它应产生什么可观察结果;
  • 哪些 Nodes 必须可达;
  • 直接 Connections 上需要哪些 Guardrails;
  • provider、模型和 effort 是否符合任务风险;
  • 决策、进度和证据保存在哪里;
  • 它应与谁沟通,以及何时停止。

CodingAgent 不会因为收到更长的 prompt 就变强。职责、上下文、工具、协作与边界形成一致设计时,它才会 更有用。

继续阅读如何选择 CodingAgents 并定义角色,了解 CodingAgents 如何查看和构建 Canvas,或查阅 支持的 Connections 矩阵

最后审核 2026年8月18日验证版本 Kavor 1.4.0分享文档反馈