Files
nexus/wiki/concepts/Evidence-based-Merge-Proposal.md

50 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Evidence-based Merge Proposal"
type: concept
tags: ["multi-agent", "identity", "coordination", "decision-making"]
sources: ["identity-graph-operator"]
last_updated: 2026-04-25
---
# Evidence-based Merge Proposal证据驱动合并提案
## Definition
多 Agent 身份协调中的标准提案协议——当发现两个实体应合并时,不直接执行 merge 操作,而是构造包含完整 per-field evidence 的提案,供其他 Agent 审查后再执行。
## Structure
```json
{
"entity_a_id": "a1b2c3d4-...",
"entity_b_id": "e5f6g7h8-...",
"confidence": 0.87,
"evidence": {
"email_match": { "score": 1.0, "values": ["wsmith@acme.com", "wsmith@acme.com"] },
"name_match": { "score": 0.82, "values": ["William Smith", "Bill Smith"] },
"phone_match": { "score": 1.0, "values": ["+155****0142", "+155****0142"] },
"reasoning": "Same email and phone. Name differs but 'Bill' is a known nickname for 'William'."
}
}
```
## When to Propose vs. Direct Merge
| 场景 | 动作 | 原因 |
|------|------|------|
| 单 Agent置信度 > 0.95 | 直接合并 | 无歧义,无其他 Agent 需协商 |
| 多 Agent置信度中等 | 提案合并 | 让其他 Agent 审查证据 |
| Agent 不同意既有合并 | 提案拆分(含 member_ids | 不直接撤销,由多方验证 |
| 修正数据字段 | 带 expected_version 的直接变更 | 字段更新无需多 Agent 审查 |
## Core Principles
- **永远不带证据不合并**"These look similar" 不是证据per-field comparison scores + confidence thresholds 才是证据
- **提案优于断言**:提出 merge带证据而非直接执行让对方 Agent 有机会审查
- **反压不覆盖**:当 Agent 间存在冲突(一个提出 merge另一个提出 split不直接覆盖另一方证据而是呈现反证据让最强证据胜出
## Conflict Resolution
当两个 Agent 对同一对实体给出矛盾提案时:
1. 标记为 `conflict` 状态
2. 双方添加评论讨论证据
3. 等待人类或仲裁 Agent 最终裁决
4. 永不通过"强行覆盖"解决冲突