auto-sync: 2026-05-14 09:45:05

This commit is contained in:
cfdaily
2026-05-14 09:45:05 +08:00
parent 101a831736
commit fc86a9d1cf
+218
View File
@@ -1794,6 +1794,224 @@ experience:
| 11 | Daemon 通知庞统 | Gateway WS API systemEvent | 步骤完成/异常/需要裁决时 |
| 12 | 经验沉淀 | 任务完成后自动触发 AI 蒸馏 | + 规划/执行/异常时自动检索 |
| 13 | 实现方式 | **一次性完整实现** | 不做最小集迭代,避免做着做着偏离 |
| 14 | 治理原则 | **质量优先,成本和工期为质量让步,但有硬性上限** | 见 4.1 治理框架 |
### 4.1 质量/成本/工期治理框架
> 核心原则:**质量是第一优先级,成本和工期可以为质量妥协,但不能无限妥协。**
>
> 参考:Wanman TokenBudgetper-agent ceiling + 全局 ceiling)、Network-AI FederatedBudget(双层预算)、Network-AI QualityGate(两层门控:规则+AI)。
#### 三层预算体系
每个任务创建时分配三重预算,任何一重耗尽都触发干预:
```yaml
# config/settings.yaml 中的默认预算
budget_defaults:
token:
per_task_ceiling: 500000 # 单任务总 token 上限
per_step_ceiling: 100000 # 单步骤 token 上限
per_agent_ceiling: 200000 # 单 Agent token 上限
time:
per_task_ceiling: 3600 # 单任务总时间上限(秒)
per_step_ceiling: 600 # 单步骤时间上限(秒)
depth:
max_plan_adjustments: 5 # 计划调整次数上限
max_retries_per_step: 3 # 单步骤重试次数上限
max_challenge_rounds: 3 # 挑战循环次数上限
```
**预算耗尽时的行为**
| 预算类型 | 耗尽行为 | 谁干预 |
|---------|---------|--------|
| step token 耗尽 | 步骤标记 failed,触发异常处理 | Daemon 自动 |
| step 时间耗尽 | 步骤标记 failed,检查 Agent 存活 | Daemon 自动 |
| task token 耗尽 | 任务暂停,通知庞统 + 用户 | Daemon → 庞统 → 用户 |
| task 时间耗尽 | 任务暂停,通知庞统 + 用户 | Daemon → 庞统 → 用户 |
| 计划调整次数耗尽 | 停止调整,用当前最佳计划继续 | Daemon 自动 |
| 重试次数耗尽 | 步骤标记 failed,升级到庞统 | Daemon → 庞统 |
#### 质量门控(Quality Gate
参考 Network-AI 两层门控:
```
Agent 提交产出物
Layer 1: 规则验证(确定性,零成本,毫秒级)
├── 文件存在性检查
├── 文件非空检查
├── Schema 校验(JSON/CSV 格式正确)
├── Placeholder 检测(TODO/FIXME/...
└── 基础完整性(字段非空、数值范围合理)
├─ 通过 → 进入 Layer 2
└─ 失败 → reject(退回 Agent 修复)
Layer 2: AI 审查(有成本,秒级,仅当 confidence < 阈值时触发)
├── 产出物是否与 end_state 描述匹配
├── 代码质量(变量命名、异常处理、逻辑正确性)
└── 幻觉检测(声称的结论是否有数据支撑)
├─ approve → 完成
├─ quarantine → 隔离待人工审查(通知庞统 + 用户)
└─ reject → 退回 Agent 修复
```
**成本控制**:Layer 2 不是每次都跑。默认只在以下情况触发:
- Agent 回报 confidence < 0.7
- 步骤是关键步骤(用户明确指定要审查的)
- 连续多个步骤 Layer 1 都一次通过(抽样审查,防止 Agent 学会绕规则)
#### 质量提升的分级投入
不是所有任务都需要极致质量。根据任务重要性分级投入:
```yaml
# config/settings.yaml
quality_levels:
critical: # 资金安全、实盘交易
layer2_threshold: 0.8
max_retries: 5
always_ai_review: true
human_approval_required: true
token_budget_multiplier: 2.0
standard: # 策略回测、数据分析
layer2_threshold: 0.7
max_retries: 3
always_ai_review: false
human_approval_required: false
token_budget_multiplier: 1.0
exploratory: # 探索性研究、快速验证
layer2_threshold: 0.5
max_retries: 1
always_ai_review: false
human_approval_required: false
token_budget_multiplier: 0.5
```
任务创建时,AI 根据内容自动判定 quality_level,用户也可以手动指定。
#### 成本回收机制
高质量的产出如果被后续任务复用,相当于摊薄了成本:
- **经验沉淀**:高质量任务的产出自动蒸馏为经验,下次同类任务减少 token 消耗
- **Skill 转化**:高频经验固化为 Skill,直接注入减少检索成本
- **模板复用**:高质量的计划结构可以保存为模板,下次直接使用
#### 工期控制:何时干预
| 场景 | 判断标准 | 干预方式 |
|------|---------|----------|
| 明显死循环 | 同一步骤 retry > max_retries | 强制终止 + 升级 |
| 计划反复调整 | plan_adjustments > max | 锁定当前计划继续 |
| Agent 超时无响应 | step 执行时间 > per_step_ceiling | 检查存活 → 重试或换 Agent |
| 质量长期不达标 | 连续 3 个步骤 AI 审查 reject | 暂停任务 + 通知用户 |
| 成本超预期 | task token > 80% ceiling | 通知庞统评估是否值得继续 |
| 接近 deadline | task 时间 > 80% ceiling | AI 判断:是否降级质量等级以保工期 |
#### AI 决策结构化
每个 AI 决策必须记录完整的推理过程(司马懿评审意见)。
```sql
-- decisions 表结构化扩展
CREATE TABLE decisions (
id INTEGER PRIMARY KEY AUTOINCREMENT,
task_id TEXT NOT NULL,
step_id TEXT,
decision_type TEXT NOT NULL, -- agent_selected / plan_adjusted / anomaly_classified / quality_review
-- 结构化推理(司马懿要求:输入、选项、选择、原因、置信度)
input_summary TEXT NOT NULL, -- AI 看到了什么
options_considered TEXT NOT NULL, -- 考虑了哪些选项(JSON array
selected TEXT NOT NULL, -- 选了什么
reason TEXT NOT NULL, -- 为什么选这个
confidence REAL NOT NULL, -- 置信度 0.0-1.0
model TEXT,
token_cost INTEGER,
created_at TEXT NOT NULL DEFAULT (datetime('now'))
);
```
#### 经验生命周期
经验不是写进去就永远有效:
```sql
-- experiences 表扩展
ALTER TABLE experiences ADD COLUMN lifecycle TEXT DEFAULT 'draft'; -- draft / verified / superseded / expired
ALTER TABLE experiences ADD COLUMN verified_at TEXT;
ALTER TABLE experiences ADD COLUMN verified_by TEXT; -- ai / human
ALTER TABLE experiences ADD COLUMN expires_at TEXT; -- TTL,过期自动降权
ALTER TABLE experiences ADD COLUMN superseded_by INTEGER REFERENCES experiences(id);
```
| 生命周期 | 说明 | 检索权重 |
|---------|------|---------|
| draft | AI 自动蒸馏,未验证 | 0.5x |
| verified | 经过实际任务验证(引用 >= 2 次) | 1.0x |
| superseded | 被更好的经验替代 | 0.1x |
| expired | TTL 过期,自动降权 | 0.0x(不检索) |
#### 异常处理策略表
异常分类用确定性逻辑,处理策略用预设决策表(司马懿评审意见):
```yaml
# config/exceptions.yaml
exceptions:
- type: agent_timeout
detection: "step execution time > per_step_ceiling"
strategy:
- action: check_agent_alive
- action: retry
max: 3
backoff: exponential
- action: reassign_agent # 换一个 Agent
- action: escalate_to_human
- type: validation_failed
detection: "quality gate Layer 1 failed"
strategy:
- action: reject_to_agent
max: 3
- action: escalate_to_human
- type: ai_judgment_conflict
detection: "two AI decisions contradict"
strategy:
- action: escalate_to_human # AI 冲突必须人工裁决
- type: resource_deadlock
detection: "circular dependency detected"
strategy:
- action: break_cycle # 随机释放一个等待
- action: reassign_agent
- action: escalate_to_human
- type: budget_exceeded
detection: "any budget ceiling reached"
strategy:
- action: pause_task
- action: notify_pangtong
- action: await_human_decision
- type: unknown
detection: "unclassified exception"
strategy:
- action: ai_classify # 只有未知异常才让 AI 分类
- action: apply_strategy # 应用 AI 选择的策略
- action: escalate_to_human # 兜底
```
---