跳到主要内容

AgentBridge 技术设计

# AgentBridge 技术设计

修订记录

版本日期修订说明
v0.12026-05-01建立当前设计基线;延续 kunora-wiki 作为 llm-wiki 方案的既有产品封板和工程设计,不推倒重来。

1. 摘要

AgentBridge 是 kunora-wiki 的智能体迭代桥接层,负责把受控改进任务转换为 agent/RAGFlow 可执行上下文,校验 agent 输出,生成候选 diff、报告和 Release PR。它是 L4 Iteration 层模块,必须依赖前置的配置、工作区、访问、索引、问答和 review 契约。

AgentBridge 不直接写 main,不自动批准或合并 PR,不允许无证据事实补全。所有 agent 产出的文档变更必须经过路径授权、base hash 校验、证据校验、patch 校验和 ReviewBridge 治理。

2. 模块目标

  • 接收 ImprovementTaskRequest、Issue 或人工触发,生成 IterationTask
  • 通过 Agent Access API 获取授权后的 ContextPack
  • 调用 RAGFlow 或其他 agent 执行受控文档改进。
  • 校验 RagflowIterationResult 的结构、scope、证据、风险和变更合法性。
  • 使用 WorkspaceStore 在候选分支上应用安全 diff。
  • 生成 AgentBridgeReport,交给 ReviewBridge 创建或更新 Agent PR / Release PR。
  • 对并发变更、缺少证据、patch 失败和越权路径输出标准错误。

3. 非目标

  • 不直接写 main 分支。
  • 不合并 PR,不批准 review。
  • 不绕过 Agent Access API 获取上下文。
  • 不在 RAGFlow 输出非法时尝试猜测修复。
  • 不在 patch 失败时自动 fallback 为整文件覆盖。
  • 不修改 ConfigManager、SyncEngine、Display Adapter、Index Adapter 的状态事实。
  • 不把 RAGFlow 私有响应结构透传给 ReviewBridge 或 PR body。

4. 上下文边界

AgentBridge 位于 L4 Iteration 层。它可以依赖 ConfigManager、WorkspaceStore、Agent Access API、ReviewBridge、RagflowClient 和 IssueTracker,但不能被 L0-L3 模块依赖形成反向调用。

5. 输入与输出

5.1 输入

输入来源说明
ImprovementTaskRequestAgent Access API / IssueTracker用户、agent 或系统创建的改进任务。
IterationTaskAgentBridge标准化后的迭代任务。
ContextPackAgent Access API授权后的上下文和引用。
RagflowIterationResultRagflowClientagent 生成的候选修改。
current DocumentRecord[]WorkspaceStore当前文档状态和 contentHash。
Review optionsworkflow/manualPR 类型、目标分支、dry-run、retry。

5.2 输出

输出消费者说明
AgentBridgeReportReviewBridge、维护者验证结果、候选变更和拒绝原因。
candidate diffReviewBridge / GitProviderAgent PR 分支内容。
rejected changes维护者、agent 调试越权、并发冲突、缺证据等被拒绝项。
ErrorObject[]workflow、ReviewBridge标准错误。
audit/workflow log运维、审计agent run 记录。

6. 依赖的 common 契约

契约用途
ImprovementTaskRequest任务来源。
IterationTaskagent 迭代标准输入。
ContextPack授权上下文。
RagflowIterationResult外部 agent 输出标准化结果。
IterationChange单个候选变更。
AgentBridgeReport模块输出报告。
Citation证据校验。
DocumentRecord / ContentHashbase 校验和并发冲突检测。
NormalizedPathpath scope 校验。
ReviewReport / CheckReportReviewBridge PR 治理输入。
ErrorObject错误输出。

7. 核心流程

7.1 任务准备

任务准备规则:

  • IterationTask.scope 必须来自有效授权,不接受未校验 scope。
  • base.files 必须记录目标文件当前 contentHash
  • constraints.requireCitations 默认 true。
  • allowDelete 默认 false。
  • 任务目标和上下文必须能追溯到 issue、feedback 或人工触发来源。

7.2 Agent 输出执行与校验

校验失败的 change 必须进入 rejectedChanges;不得静默丢弃。

8. 变更校验规则

校验规则失败错误
schemaRagflowIterationResult 必填字段完整agent.ragflow_output_invalid
scopechange.path 位于 task scope 内agent.path_out_of_scope
actionaction 属于 allowedActionsagent.task_invalid
deletedelete 需要 allowDelete=trueagent.task_invalid
baseHashupdate/delete 当前 hash 必须等于 baseHashagent.concurrent_change
evidencerequireCitations 时每个事实性 change 必须有 citationagent.missing_evidence
patchpatch 必须可应用且只影响目标 pathagent.patch_apply_failed
overwriteoverwrite=true 默认拒绝,除非任务显式允许agent.task_invalid
riskhigh risk 必须进入 ReviewBridge failed/manual checkagent.task_invalid 或 warning

9. Diff 应用规则

  • add:目标 path 不存在,且 path 在 scope 内。
  • update:目标 path 存在,baseHash 必须匹配当前 hash。
  • delete:必须 allowDelete=true 且 baseHash 匹配。
  • patch 模式:只允许修改目标文件,不允许跨文件 patch。
  • whole-file 模式:必须重新计算 contentHash,并保留必要 frontmatter。
  • patch apply 失败不得 fallback 为 whole-file 覆盖。
  • 所有写入只发生在候选分支或临时工作区,不直接写 main。

10. RAGFlow 输出隔离

RAGFlow 只作为 agent 执行后端。AgentBridge 必须把 RAGFlow 原始响应转换为 RagflowIterationResult 后再处理。

隔离规则:

  • 不把 RAGFlow 私有字段写入 AgentBridgeReport
  • 不信任 RAGFlow 返回的 path、scope、权限声明。
  • 不信任 RAGFlow 自称的 evidence,必须验证 citation 可回跳且在 scope 内。
  • RAGFlow 不可用时不创建改进 PR。
  • RAGFlow 输出缺字段时不写文件。

11. PR 与 ReviewBridge 边界

AgentBridge 只生成候选 diff 和 AgentBridgeReport,PR 治理由 ReviewBridge 完成。

事项Owner
生成候选 diffAgentBridge
校验变更合法性AgentBridge
创建/更新 PRReviewBridge
PR body/check/commentReviewBridge
合并或批准 PR人工维护者 / GitHub 规则
发布成功态DisplayBackend Adapter / Release workflow

Agent PR body 必须包含 agent 生成声明、taskId、runId、证据摘要、风险和 rejected changes。

12. 状态与持久化

数据位置owner
IterationTaskworkflow state / issue payloadAgentBridge
ContextPacktransient / run artifactAgent Access API / AgentBridge
candidate diffPR branchAgentBridge via ReviewBridge/GitProvider
AgentBridgeReportPR body / workflow summary / state artifactAgentBridge
audit logworkflow/service logAgentBridge

AgentBridge 不拥有长期内容状态;正式内容仍以 Git mainpublish/** 为事实源。

13. 幂等与重试

场景幂等依据行为
同一 task 重试taskId + base files hash生成同一候选 diff 或标记并发冲突。
PR 创建重试taskId + run payload hash由 ReviewBridge upsert PR。
RAGFlow 调用失败重试runId 或 retry policy不写文件,重试后重新校验全部输出。
partial changesvalidated/rejected change list只提交 validated changes,rejected 必须报告。
base 变化current hash != baseHash拒绝 change,不自动 rebase 改写。

AgentBridge 不能因为重试而扩大 scope、放宽证据要求或覆盖人工修改。

14. 错误处理

错误码retryable场景处理
agent.task_invalidfalse任务缺字段、action 不允许、delete 不允许不调用或停止处理。
agent.ragflow_output_invalidfalseRAGFlow 输出缺字段或结构非法不写文件。
agent.path_out_of_scopefalsechange path 越权拒绝该 change。
agent.missing_evidencefalserequireCitations 但无证据拒绝该 change。
agent.concurrent_changefalsebaseHash 与当前 hash 不一致拒绝该 change,报告冲突。
agent.patch_apply_failedfalsepatch 无法应用拒绝该 change。
agent.pr_create_failedtrueReviewBridge PR 创建失败保留 report,提示重试。
adapter.ragflow_unavailabletrueRAGFlow 不可用不创建改进 PR。

错误详情必须包含 taskId、runId、path、action;不得包含未授权上下文全文或外部私有响应。

15. 安全与审计

必须审计:

  • IterationTask 创建和来源。
  • ContextPack 请求和 effective scope。
  • RAGFlow 调用成功/失败。
  • 每个 accepted/rejected change。
  • PR 创建或更新结果。
  • 并发冲突、越权路径、缺少证据。

安全规则:

  • 默认不允许 delete。
  • 默认要求 citation。
  • 默认不允许 working docs,除非 task scope 和 policy 显式允许。
  • 不允许 agent 修改 config/** 或敏感 state/**
  • 不允许 agent 输出的事实性内容缺少证据。
  • 不允许自动合并 agent PR。

16. 测试要求

测试Fixture预期
concurrent changefixtures/common/agent/concurrent-change.json返回 agent.concurrent_change,不覆盖正式内容。
invalid RAGFlow outputfixtures/common/agent/ragflow-invalid-output.json返回 agent.ragflow_output_invalid,不创建 ready PR。
forbidden scopefixtures/common/access/forbidden-scope.jsonchange 越权被拒绝。
missing evidencefuture agent missing evidence fixturerequireCitations 时拒绝 change。
patch apply failedfuture agent patch failure fixture不 fallback whole-file。
PR reportfixtures/common/review/check-report-blocking.jsonReviewBridge 可生成 failed check。

模块验收标准:

  • IterationTaskRagflowIterationResultAgentBridgeReport 有 schema contract test。
  • 每个 accepted change 都有 path/scope/baseHash/evidence 校验。
  • rejected changes 不静默丢弃。
  • 并发冲突不写候选 diff。
  • RAGFlow 私有结构不进入公共报告。

17. 设计决策

决策说明取舍
AgentBridge 放在 L4避免基础链路依赖 agent,降低复杂度。agent 迭代能力必须等待前置契约稳定。
默认 requireCitations降低无证据事实补全风险。对纯格式类任务可能需要显式豁免。
patch 失败不 fallback whole-file防止大范围意外覆盖。部分可修复输出需要人工或重新生成。
baseHash 不匹配即拒绝保护人工变更。需要重新触发任务获得最新上下文。
PR 治理交给 ReviewBridge保持生成和治理分离。需要稳定 AgentBridgeReport 契约。

18. 待确认问题

  • 纯格式化或重排类任务是否可以 requireCitations=false
  • AgentBridge 是否支持批量任务,还是 MVP 一次只处理一个 ImprovementTask。
  • working docs 迭代是否进入 MVP,还是只允许 main 版本内容。
  • high risk change 是否统一阻断 PR,还是允许 draft PR 供人工审查。
对此页面有疑问?

问答功能将在后续接入 Answer API。当前可通过页面底部的反馈链接提交问题。

页面来源草稿
来源项目kunora-wiki
分支docs-publish
路径technology/components/kunora-wiki/development/modules/agent-bridge/README.md