---
title: "feat: AgentKit Multi-Agent Marketplace 架构演进（修订版）"
status: active
date: 2026-06-09
depth: deep
origin: docs/brainstorms/2026-06-09-clawith-research-prompt.md
revision: v2
revision_reason: "基于 2026-06-10 代码增量分析（+36863 行，161 文件），修正原方案中与现有代码重叠/冲突/不适用的部分"
---

# AgentKit Multi-Agent Marketplace 架构演进方案（修订版）

## 修订说明

原方案（v1）基于 Phase 1-8 代码编写，但代码库在 2026-06-10 有大量新增（161 files, +36863 lines），包含多个与原方案重叠的实现。本次修订基于最新代码逐项评估，修正不适用的部分。

---

## 原方案问题评估

### 问题 1：U6 Plan-and-Execute 引擎 — 与现有代码大量重叠

**现有实现**：
- `core/goal_planner.py`（594 行）：GoalPlanner 已实现目标→结构化执行计划的分解，含规则/模板+LLM 双模式
- `core/plan_executor.py`（518 行）：PlanExecutor 已实现按计划逐步执行
- `core/plan_checker.py`（739 行）：PlanChecker 已实现计划检查和复盘
- `core/plan_schema.py`（148 行）：ExecutionPlan/PlanStep/PlanStepStatus/SkillGap 数据模型
- `orchestrator/reflection.py`（370 行）：PipelineReflector + PipelineReplanner 已实现反思-重规划

**原方案 U6 的问题**：计划"新增 `core/plan_exec.py`"，但 `core/plan_executor.py` 已存在且功能完整。GoalPlanner + PlanExecutor + PipelineReplanner 三者组合已覆盖 Plan-and-Execute 的核心流程。

**修正**：U6 不再新建引擎，而是将现有 GoalPlanner/PlanExecutor/PipelineReplanner 封装为 `plan_exec` execution_mode 的执行引擎适配器。

### 问题 2：U7 Reflexion 引擎 — 与现有代码部分重叠

**现有实现**：
- `orchestrator/reflection.py`：PipelineReflector 已实现 LLM 反思分析
- `evolution/reflector.py` + `evolution/llm_reflector.py`：LLMReflector 已实现反思
- `evolution/lifecycle.py`：EvolutionMixin 已实现反思→优化→A/B测试闭环

**原方案 U7 的问题**：Reflexion 的核心逻辑（反思+重试）在 EvolutionMixin 和 PipelineReflector 中已有实现，但缺少"执行中自我评估+重试"的循环。

**修正**：U7 简化为在 ReActEngine 基础上增加 Evaluate→Reflect→Retry 循环节点，复用 LLMReflector。

### 问题 3：U1 Concierge — 与现有 Chat 系统重叠

**现有实现**：
- `chat/skill_routing.py`（168 行）：SkillRoutingResult + parse_skill_prefix() + route_to_skill()
- `cli/chat.py`（422 行）：CLI Chat 界面，含 @skill: 前缀路由
- `server/routes/chat.py`：REST + WebSocket Chat API
- `session/store.py`：Session/Message 管理

**原方案 U1 的问题**：Concierge 的"统一入口+对话上下文+路由"功能在现有 Chat 系统中已部分实现。skill_routing.py 已实现 @skill: 前缀路由，chat.py 已实现对话上下文管理。

**修正**：U1 不再新建 Concierge 模块，而是在现有 Chat 系统上扩展 CostAwareRouter 能力。Concierge 的对话管理复用 SessionManager，路由扩展复用 skill_routing.py。

### 问题 4：U2 CostAwareRouter — 与现有路由重叠

**现有实现**：
- `chat/skill_routing.py`：已实现 Skill 路由（@skill: 前缀 + 关键词匹配）
- `router/intent.py`：IntentRouter 三级路由（关键词+LLM）
- `skills/registry.py`（259 行）：SkillRegistry 已实现 Skill 查找和匹配

**原方案 U2 的问题**：Layer 0 的 Skill 匹配和 Layer 1 的 LLM 分类在现有路由中已有实现。

**修正**：U2 简化为在 skill_routing.py 基础上增加 complexity 评估和拍卖触发逻辑，不新建独立模块。

### 问题 5：U10 Soul — 与现有 Memory 系统重叠

**现有实现**：
- `tools/memory_tool.py`（117 行）：MemoryTool 已实现 SOUL/USER/MEMORY/DAILY 四层记忆操作
- `memory/profile.py`（294 行）：MemoryProfile 已实现记忆配置和注入

**原方案 U10 的问题**：Soul 的 CRUD 已通过 MemoryTool 实现，不需要新建 SoulManager。

**修正**：U10 简化为扩展 MemoryTool 的 SOUL section 支持动态演变（版本号+反思触发更新），不新建 identity/ 模块。

### 问题 6：拍卖机制的适用性存疑

**原方案 KTD1**：用拍卖机制替代中央编排器。

**问题**：
1. 拍卖机制需要每个 Agent 都能"竞标"——但当前 ConfigDrivenAgent 没有 `bid()` 方法，需要给所有 Agent 增加竞标能力
2. Economy of Minds 论文的环境是"弱 Agent 群体"，而 AgentKit 的 Agent 是"强 Agent + 工具"，场景不同
3. 拍卖机制的"财富积累"概念在单用户场景下意义不大——谁给 Agent 发工资？
4. 拍卖增加了系统复杂度，但实际收益不确定——大多数场景下，基于能力的路由（OrganizationContext.find_best_agent）比拍卖更直接有效

**修正**：拍卖机制降级为可选实验特性。默认使用"能力匹配路由"（基于 OrganizationContext），拍卖作为高级模式可启用。

### 问题 7：对齐护栏的边界不清

**原方案 KTD3**：AlignmentGuard 包含全局约束注入、输出审计、级联失败检测。

**问题**：
1. "全局约束"由谁定义？用户？开发者？运维？——需要约束配置机制
2. "输出审计"用 LLM 检查输出——这本身又是一次 LLM 调用，增加成本和延迟
3. "级联失败检测"的阈值（10 次交互、3 层循环）是经验值，需要可配置
4. 对齐护栏与现有 QualityGate 的关系不清——是替代还是补充？

**修正**：AlignmentGuard 明确为 QualityGate 的扩展，约束来源为 YAML 配置，级联检测阈值可配置，LLM 审计默认关闭（仅高风险场景启用）。

---

## 修订后的需求

| ID | 需求 | 变更说明 |
|----|------|---------|
| R1 | 用户通过现有 Chat 系统对话，路由层自动选择 Agent | 从"新建 Concierge"改为"扩展现有 Chat" |
| R2 | 简单任务走单 Agent 直连，零额外开销 | 不变 |
| R3 | 中等任务走能力匹配路由，可选拍卖模式 | 从"必须拍卖"改为"默认能力匹配，拍卖可选" |
| R4 | 复杂任务支持多 Agent 协作，需成本论证 | 不变 |
| R5 | 多 Agent 协作时注入全局约束 | 不变，约束来源明确为 YAML 配置 |
| R6 | 检测级联失败，自动中断 | 不变，阈值可配置 |
| R7 | 不同 Agent 可配置不同 LLM 模型 | 不变，已有 llm.model 配置支持 |
| R8 | 支持 ReAct/ReWOO/Plan-and-Execute/Reflexion/Direct 五种执行架构 | Plan-and-Execute 改为适配器模式 |
| R9 | Agent 具备持久身份（Soul），跨会话保持个性 | 从"新建 identity 模块"改为"扩展 MemoryTool" |
| R10 | Agent 具备组织感知 | 不变 |
| R11 | Agent 可主动发现新工具 | 降级为 Out of Scope（依赖 Marketplace 先就绪） |
| R12 | 执行透明度可调 | 不变 |

---

## 修订后的 Key Technical Decisions

### KTD1（修订）: 扩展现有 Chat 系统，不新建 Concierge

**决策**：在现有 `chat/skill_routing.py` + `server/routes/chat.py` 基础上扩展 CostAwareRouter 能力，不新建 Concierge 模块。

**理由**：
- `chat/skill_routing.py` 已实现 @skill: 前缀路由和 Skill 匹配
- `server/routes/chat.py` 已实现 REST + WebSocket Chat API
- `session/store.py` 已实现对话上下文管理
- 新建 Concierge 会与现有 Chat 系统功能重复，增加维护成本

### KTD2（不变）: 分层路由 — 80% 场景单 Agent 直连

### KTD3（修订）: AlignmentGuard 作为 QualityGate 扩展

**决策**：AlignmentGuard 不作为独立模块，而是扩展现有 QualityGate，增加约束注入和级联检测能力。

**理由**：
- QualityGate 已在 ConfigDrivenAgent.execute() 中集成
- 独立模块需要额外的集成点，增加复杂度
- 约束来源明确为 YAML 配置（alignment.constraints 字段）

### KTD4（修订）: Plan-and-Execute 使用适配器模式

**决策**：不新建 Plan-and-Execute 引擎，而是创建适配器将现有 GoalPlanner + PlanExecutor + PipelineReplanner 封装为 `plan_exec` execution_mode。

**理由**：
- GoalPlanner（594 行）已实现目标分解
- PlanExecutor（518 行）已实现计划执行
- PipelineReplanner（370 行）已实现反思-重规划
- 重新实现是重复建设

### KTD5（不变）: 分层模型配置

### KTD6（修订）: Soul 扩展基于现有 MemoryTool

**决策**：不新建 identity/ 模块，而是扩展现有 MemoryTool 的 SOUL section 支持动态演变。

**理由**：
- MemoryTool 已实现 SOUL section CRUD
- MemoryProfile 已实现记忆注入
- 新建 identity/ 模块与现有 Memory 系统重复

### KTD7（新增）: 拍卖机制降级为可选实验特性

**决策**：默认使用"能力匹配路由"（基于 OrganizationContext），拍卖作为可选高级模式。

**理由**：
- Economy of Minds 论文场景（弱 Agent 群体）与 AgentKit 场景（强 Agent + 工具）不同
- 拍卖的"财富积累"在单用户场景下意义不大
- 基于能力的路由更直接、更可预测
- 拍卖增加系统复杂度，收益不确定

---

## 修订后的 Implementation Units

### U1. CostAwareRouter — 扩展现有 Chat 路由

**Goal**：在现有 `chat/skill_routing.py` 基础上增加 complexity 评估和分层路由能力。

**Dependencies**：无

**Files**：
- `src/agentkit/chat/skill_routing.py` (modify — 增加 complexity 评估和拍卖触发)
- `src/agentkit/chat/__init__.py` (modify — 导出新增类)
- `tests/unit/test_cost_aware_router.py` (create)

**Approach**：
- 在 `skill_routing.py` 中新增 `CostAwareRouter` 类
- Layer 0：复用现有 `parse_skill_prefix()` 和 `route_to_skill()`，新增聊天模式正则匹配
- Layer 1：新增 `quick_classify()` 方法，LLM 评估 complexity 0-1
- Layer 2：complexity > 0.7 触发能力匹配路由（默认）或拍卖（可选）
- 透明度控制：在 SkillRoutingResult 中新增 `transparency_level` 和 `execution_trace` 字段

**Patterns to follow**：`chat/skill_routing.py` SkillRoutingResult + `router/intent.py` IntentRouter

**Test scenarios**：
- 问候语 "你好" 命中 Layer 0 规则，零 token 开销
- "搜索XX" 命中现有 Skill 路由，零 token 开销
- "分析下这个数据" 走 Layer 1 LLM 分类
- "做市场调研+竞品分析" complexity > 0.7，走能力匹配路由
- 透明度从 SILENT 切换到 TRACE

**Verification**：三层路由正确分流，与现有 Chat 系统兼容

---

### U2. ReWOO 执行引擎

**Goal**：实现 ReWOO 执行引擎，一次性规划所有工具调用后批量执行。

**Dependencies**：无

**Files**：
- `src/agentkit/core/rewoo.py` (create)
- `tests/unit/test_rewoo_engine.py` (create)

**Approach**：
- Phase 1 Planning：LLM 生成完整工具调用计划（JSON 格式 steps 列表）
- Phase 2 Execution：按计划顺序执行工具调用（可并行执行无依赖步骤）
- Phase 3 Synthesis：LLM 综合所有工具结果生成最终输出
- 参考 ReActEngine 的接口设计（execute/execute_stream），保持 API 一致性
- 复用 LLMGateway、Tool、CancellationToken 等现有组件

**Patterns to follow**：`core/react.py` ReActEngine 接口模式

**Test scenarios**：
- 单步骤计划：规划 1 个工具调用，执行，综合
- 多步骤计划：规划 3 个工具调用，顺序执行，综合
- 工具调用失败时的错误处理
- 与 ReActEngine 接口兼容（可替换使用）

**Verification**：ReWOO 引擎能完成规划→执行→综合的完整流程

---

### U3. Plan-and-Execute 适配器

**Goal**：将现有 GoalPlanner + PlanExecutor + PipelineReplanner 封装为 `plan_exec` execution_mode 的执行引擎适配器。

**Dependencies**：无

**Files**：
- `src/agentkit/core/plan_exec_engine.py` (create)
- `tests/unit/test_plan_exec_engine.py` (create)

**Approach**：
- PlanExecEngine 作为适配器，内部组合 GoalPlanner + PlanExecutor + PipelineReplanner
- 实现 ReActEngine 兼容的 execute()/execute_stream() 接口
- Planner 阶段：调用 GoalPlanner.generate_plan() 分解任务
- Executor 阶段：调用 PlanExecutor.execute_plan() 逐步执行
- Replanner 阶段：执行偏离时调用 PipelineReplanner.replan() 重规划
- 每个子步骤可选择不同执行策略（react/direct/rewoo）

**Patterns to follow**：`core/react.py` ReActEngine 接口 + `core/goal_planner.py` + `core/plan_executor.py`

**Test scenarios**：
- 3 步骤任务：规划 → 逐步执行 → 汇总
- 执行偏离时触发重规划（PipelineReplanner）
- 子步骤使用不同执行策略
- 与 ReActEngine 接口兼容

**Verification**：PlanExecEngine 能完成规划→执行→重规划的完整流程，复用现有组件

---

### U4. Reflexion 执行引擎

**Goal**：在 ReActEngine 基础上增加 Evaluate→Reflect→Retry 循环。

**Dependencies**：无

**Files**：
- `src/agentkit/core/reflexion.py` (create)
- `tests/unit/test_reflexion_engine.py` (create)

**Approach**：
- 继承/组合 ReActEngine，在 ReAct 循环结束后增加评估步骤
- Evaluate：LLM 评估当前结果质量（0-1 分），复用 LLMReflector 的评估逻辑
- Reflect：评估分低于阈值时，LLM 反思失败原因，复用 evolution/reflector.py
- Retry：基于反思结果重新执行 ReAct 循环
- 最多重试 max_reflections 次（默认 3 次）
- 分层模型：act 用中模型，evaluate/reflect 用大模型

**Patterns to follow**：`core/react.py` ReActEngine + `evolution/llm_reflector.py` LLMReflector

**Test scenarios**：
- 首次执行即达标，不触发重试
- 评估分低于阈值触发反思+重试
- 重试后达标，返回最终结果
- 超过 max_reflections 次重试后返回最后结果
- 分层模型验证

**Verification**：Reflexion 引擎能完成执行→评估→反思→重试的完整循环

---

### U5. SkillConfig 扩展 + 专业 Agent 定义

**Goal**：扩展 SkillConfig 支持新执行模式，定义五种专业 Agent 的 YAML 配置。

**Dependencies**：U2, U3, U4

**Files**：
- `src/agentkit/skills/base.py` (modify — VALID_EXECUTION_MODES 扩展)
- `src/agentkit/core/config_driven.py` (modify — handle_task 路由扩展)
- `configs/skills/react_agent.yaml` (create)
- `configs/skills/rewoo_agent.yaml` (create)
- `configs/skills/plan_exec_agent.yaml` (create)
- `configs/skills/reflexion_agent.yaml` (create)
- `configs/skills/direct_agent.yaml` (create)
- `tests/unit/test_execution_modes.py` (create)

**Approach**：
- SkillConfig.VALID_EXECUTION_MODES 新增 "rewoo", "plan_exec", "reflexion"
- ConfigDrivenAgent.handle_task() 新增 _handle_rewoo/_handle_plan_exec/_handle_reflexion 路由
- 每种专业 Agent 的 YAML 配置指定不同的 llm.model
- 复用现有 SkillLoader 和 SkillRegistry 的加载逻辑

**Patterns to follow**：`skills/base.py` SkillConfig + `skills/loader.py` SkillLoader

**Test scenarios**：
- SkillConfig 验证 "rewoo"/"plan_exec"/"reflexion" 为合法 execution_mode
- ConfigDrivenAgent 根据 execution_mode 路由到正确引擎
- 五种专业 Agent YAML 配置加载成功
- 不同 Agent 配置不同 llm.model

**Verification**：五种执行模式均可通过配置启用，路由正确

---

### U6. OrganizationContext 组织感知

**Goal**：实现组织上下文，Agent 知道可以向谁求助，支持基于能力的 Agent 发现。

**Dependencies**：U5

**Files**：
- `src/agentkit/org/__init__.py` (create)
- `src/agentkit/org/context.py` (create)
- `src/agentkit/org/discovery.py` (create)
- `tests/unit/test_org_context.py` (create)

**Approach**：
- AgentProfile：name, agent_type, capabilities, skills, current_load, max_concurrency, availability, specializations
- OrganizationContext：agents dict, capability_matrix（能力→Agent 映射）, find_best_agent() 方法
- AgentDiscovery：基于能力的 Agent 发现，考虑负载均衡
- 与现有 AgentPool 集成：从 AgentPool 自动构建 OrganizationContext
- 与现有 SkillRegistry 集成：从 SkillConfig.capabilities 构建能力矩阵
- 注入到 BaseAgent.on_task_start()：Agent 启动时自动获得组织上下文

**Patterns to follow**：`core/agent_pool.py` AgentPool + `skills/schema.py` CapabilityTag

**Test scenarios**：
- 根据 required_capabilities 找到匹配的 Agent
- 负载均衡：选择当前负载最低的 Agent
- 无匹配 Agent 时返回 None
- OrganizationContext 从 AgentPool + SkillRegistry 自动构建

**Verification**：Agent 能通过 OrganizationContext 发现合适的协作 Agent

---

### U7. AlignmentGuard — QualityGate 扩展

**Goal**：扩展现有 QualityGate，增加全局约束注入和级联失败检测能力。

**Dependencies**：U6

**Files**：
- `src/agentkit/quality/alignment.py` (create)
- `src/agentkit/quality/cascade_detector.py` (create)
- `src/agentkit/skills/base.py` (modify — 新增 AlignmentConfig)
- `tests/unit/test_alignment_guard.py` (create)

**Approach**：
- AlignmentConfig：constraints（全局约束列表）、cascade_threshold（级联检测阈值）、audit_enabled（LLM 审计开关，默认关闭）
- ConstraintInjector：在任务分发前注入全局约束到每个子任务的 input_data
- CascadeDetector：检测 Agent 间交互次数超限和循环深度超限，触发中断
- LLM 审计默认关闭，仅高风险场景（标记 alignment.audit_enabled: true）启用
- 与现有 QualityGate 集成：在 QualityGate.validate() 之后执行对齐检查

**Patterns to follow**：`quality/gate.py` QualityGate + `skills/base.py` QualityGateConfig

**Test scenarios**：
- 全局约束被注入到子任务
- 级联检测：Agent 间交互超过阈值触发中断
- LLM 审计关闭时无额外 LLM 调用
- LLM 审计开启时检查输出是否违反约束

**Verification**：对齐护栏能检测约束违反和级联失败，与 QualityGate 兼容

---

### U8. Soul 动态演变 — 扩展 MemoryTool

**Goal**：扩展现有 MemoryTool 的 SOUL section 支持动态演变（版本号+反思触发更新）。

**Dependencies**：U5

**Files**：
- `src/agentkit/tools/memory_tool.py` (modify — SOUL section 增加版本号和更新逻辑)
- `src/agentkit/evolution/lifecycle.py` (modify — 反思结果触发 Soul 更新)
- `tests/unit/test_soul_evolution.py` (create)

**Approach**：
- SOUL section 新增 `version` 和 `updated_at` 字段
- MemoryTool 新增 `update_soul()` 方法：基于反思结果更新 Soul
- EvolutionMixin 新增 `evolve_soul()` 钩子：反思完成后检查是否需要更新 Soul
- Soul 更新条件：反思发现新的行为模式/偏好/能力变化
- Soul 注入：复用现有 MemoryProfile 的 SOUL section 注入逻辑

**Patterns to follow**：`tools/memory_tool.py` MemoryTool + `evolution/lifecycle.py` EvolutionMixin

**Test scenarios**：
- Soul 版本号初始为 1，更新后递增
- 反思结果触发 Soul 更新（新增 strength/value）
- 无反思结果时不触发更新
- Soul 信息正确注入到 System Prompt（复用现有逻辑）

**Verification**：Agent 具备跨会话的持久身份，Soul 可动态演变

---

### U9. 拍卖机制（可选实验特性）

**Goal**：实现拍卖机制作为可选的高级路由模式，默认不启用。

**Dependencies**：U6

**Files**：
- `src/agentkit/marketplace/__init__.py` (create)
- `src/agentkit/marketplace/auction.py` (create)
- `src/agentkit/marketplace/wealth.py` (create)
- `tests/unit/test_auction.py` (create)

**Approach**：
- Bid 数据结构：agent_name, architecture, estimated_steps, estimated_cost, confidence, payment_offer
- 拍卖裁决：score = (confidence / estimated_cost) * wealth_factor
- 财富追踪：成功完成任务增加财富，长期表现差被标记破产
- 默认关闭，需在配置中显式启用 `marketplace.auction_enabled: true`
- 启用后，Layer 2 路由使用拍卖而非能力匹配

**Patterns to follow**：`core/agent_pool.py` AgentPool

**Test scenarios**：
- 拍卖关闭时使用能力匹配路由
- 拍卖启用后，多 Agent 竞标选择最优
- 财富因子影响竞标结果
- Agent 破产检查

**Verification**：拍卖机制作为可选特性正确工作，不影响默认路由

---

### U10. 集成测试 + Server 集成

**Goal**：将所有新模块集成到现有 Server 中，实现端到端的 Chat → Router → Agent → AlignmentGuard 完整流程。

**Dependencies**：U1-U9

**Files**：
- `src/agentkit/server/app.py` (modify — 注入 OrganizationContext、AlignmentGuard)
- `src/agentkit/server/config.py` (modify — 新增 marketplace/alignment 配置段)
- `src/agentkit/chat/skill_routing.py` (modify — 集成 CostAwareRouter)
- `tests/integration/test_marketplace_e2e.py` (create)

**Approach**：
- create_app() 中新增 OrganizationContext、AlignmentGuard 的初始化
- CostAwareRouter 集成到现有 Chat 路由流程
- ServerConfig 新增 marketplace 和 alignment 配置段
- 端到端测试：用户消息 → Chat → Router → Agent → AlignmentGuard → 回复

**Patterns to follow**：`server/app.py` create_app() 组装模式

**Test scenarios**：
- 简单聊天经路由到 DirectAgent，返回正常
- 复杂任务经能力匹配路由选择 Agent，执行完成返回
- 对齐护栏检测到级联风险，触发中断
- 透明度 TRACE 模式返回执行追踪信息
- 拍卖模式启用后，复杂任务走拍卖路由

**Verification**：端到端流程完整可用，与现有 Chat 系统兼容

---

## 修订后的 Phased Delivery

### Phase A — 执行引擎（U2, U3, U4, U5）
三种新引擎 + SkillConfig 扩展，可独立运行，不依赖 Marketplace

### Phase B — 路由与组织（U1, U6, U7）
CostAwareRouter + OrganizationContext + AlignmentGuard

### Phase C — 身份与集成（U8, U9, U10）
Soul 演变 + 拍卖（可选）+ Server 集成

---

## 修订后的 Risks & Dependencies

| 风险 | 影响 | 缓解措施 |
|------|------|---------|
| PlanExecEngine 适配器与现有组件接口不兼容 | Plan-and-Execute 模式无法工作 | 适配器内部处理接口差异，对外暴露 ReActEngine 兼容接口 |
| Reflexion 引擎 token 成本高 | 自我评估+重试增加 2-3x token | 分层模型 + max_reflections 限制 + 默认关闭 |
| CostAwareRouter Layer 1 分类不准 | 中等任务被错误路由 | 分类结果带置信度，低置信度时回退到默认 Agent |
| AlignmentGuard 级联检测误报 | 正常多步交互被中断 | 阈值可配置，初期宽松 |
| 拍卖机制增加系统复杂度 | 维护成本高 | 默认关闭，作为可选实验特性 |
| 与 P2 Hardening 计划冲突 | 两个计划同时修改 server/app.py | P2 先行，Marketplace 后续，避免同时修改同一文件 |

---

## 已明确事项

### 1. 拍卖机制 — 作为核心特性

**决策**：拍卖机制是核心差异化能力，应在 Phase B 与能力匹配路由同时实现。

**实现要点**：
- 需要解决"奖励信号来源"问题：任务成功 → 正奖励，任务失败 → 负奖励，由 Concierge/Router 在任务完成后发放
- Agent 需要新增 `bid()` 方法（在 BaseAgent 中定义默认实现，ConfigDrivenAgent 覆盖）
- 拍卖与能力匹配路由并行：能力匹配作为底保，拍卖作为优选

### 2. AlignmentGuard 约束检查 — 分层混合

**决策**：系统级用规则检查，组织级用 LLM 检查，用户级用 Prompt 注入。

| 层级 | 检查方式 | 定义者 | 示例 |
|------|---------|--------|------|
| 系统级 | 规则检查（关键词+正则） | 开发者/运维 | "不生成恶意代码"、"不泄露 API Key" |
| 组织级 | LLM 语义检查 | 管理员 | "不引用竞品数据"、"合规审查需人工" |
| 用户级 | Prompt 注入（不检查） | 用户 | "用中文回复"、"不超过 500 字" |

**实现要点**：
- 系统级约束硬编码在 `quality/alignment.py` 中，配置可扩展
- 组织级约束在 `agentkit.yaml` 的 `alignment.constraints` 中配置
- LLM 审计仅组织级约束触发，系统级约束用规则检查零额外 token

### 3. Soul 更新频率 — 条件触发

**决策**：同类反思出现 ≥ 3 次才触发 Soul 更新，更新后版本号递增，可回滚。

**实现要点**：
- EvolutionMixin 维护 `pending_soul_updates: dict[str, list[Reflection]]` 缓冲区
- 同类反思（相同 category）累积 ≥ 3 次时触发 `update_soul()`
- Soul 更新记录完整变更历史（before/after/trigger/evidence），支持回滚
- Soul 版本号递增，每次更新 +1

### 4. 专业 Agent 工具集 — YAML 配置 + 默认推荐

**决策**：工具通过 YAML 配置绑定，提供默认推荐配置，用户可自定义。

**默认推荐**：
| Agent | 默认工具 | 原因 |
|-------|---------|------|
| ReactAgent | web_search, baidu_search, shell, memory | ReAct 需要丰富工具集 |
| RewooAgent | web_search, baidu_search, web_crawl | 批量数据采集类工具 |
| PlanExecAgent | 所有工具（子步骤按需选择） | 子步骤可能需要任何工具 |
| ReflexionAgent | 与 ReactAgent 相同 | Reflexion = ReAct + 评估 |
| DirectAgent | 无工具 | 单次 LLM 调用 |

### 5. 与 P2 Hardening 计划 — 部分并行

**决策**：Phase A（执行引擎）与 P2 并行开发，Phase B/C 等 P2 完成后再开始。

**理由**：
- Phase A 只新增引擎文件（rewoo.py/plan_exec_engine.py/reflexion.py），不修改 server 文件，无冲突
- Phase B/C 需要修改 server/app.py、server/config.py 等，与 P2 有文件冲突
- P2 修复安全问题，不应被阻塞

### 6. 分层模型配置 — YAML 配置 + 默认推荐

**决策**：模型通过 YAML 的 `llm.model` 字段配置，提供默认推荐值。

**默认推荐**：
| Agent | 默认模型 | 预估成本/1K tokens |
|-------|---------|-------------------|
| DirectAgent | `openai/gpt-4o-mini` | $0.00015 |
| ReactAgent | `anthropic/claude-sonnet-4-20250514` | $0.003 |
| RewooAgent | `anthropic/claude-sonnet-4-20250514` | $0.003 |
| PlanExecAgent | `anthropic/claude-opus-4-20250514` | $0.015 |
| ReflexionAgent | 执行: `sonnet`, 评估: `opus` | 混合 |

### 7. 多 Agent 协作上下文传递 — 按需升级

**决策**：默认用直接注入（TaskMessage.input_data），复杂场景按需升级到 SharedWorkspace 或 Redis Pub/Sub。

| 场景 | 传递方式 | 原因 |
|------|---------|------|
| 顺序执行（A→B） | 直接注入 | 简单直接 |
| 并行执行（A+B→C） | SharedWorkspace | A/B 并行写入，C 汇总读取 |
| 事件通知（A 通知 B） | Redis Pub/Sub | 异步解耦 |
| 对话连续性 | SessionManager + 摘要 | 跨 Agent 连续 |
