refactor: 重构数据源工厂和类型定义,提升代码可维护性 fix: 修复类型转换和状态机文档中的错误 docs: 更新服务架构文档,添加新的服务闭环流程 test: 添加汇率服务单元测试 chore: 清理无用代码和注释,优化代码结构
15 KiB
15 KiB
AI Strategy (Crawlful Hub)
定位:Crawlful Hub AI 策略文档 - 描述多 AI 协作方案、任务分配策略及决策流程。 更新日期: 2026-03-18 注意:本文档不重复 Task_Overview.md 中的任务列表,仅描述 AI 协作策略。
1. 多 AI 协作架构
1.1 架构概览
┌─────────────────────────────────────────────────────────────┐
│ Brain (调度中心) │
│ 全局调度与决策 │
└─────────────────────────────────────────────────────────────┘
│
┌───────────────────┼───────────────────┐
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ AI Agent 1 │ │ AI Agent 2 │ │ AI Agent N │
│ (前端/插件) │ │ (后端/数据) │ │ (分析/决策) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
└───────────────────┼───────────────────┘
▼
┌──────────────────┐
│ Task Queue │
│ (BullMQ) │
└──────────────────┘
1.2 角色定义
| 角色 | 职责 | 能力范围 |
|---|---|---|
| Brain | 全局调度、任务分配、冲突解决 | 不直接生成代码 |
| AI Agent | 原子任务包闭环开发 | 代码生成、测试、部署 |
| AI Analyst | 数据分析、报告生成 | 数据处理、可视化 |
| AI Decision | 决策支持、策略优化 | 算法、预测 |
1.3 协作原则
- 一次性分发:每轮下发完整任务包(P0/P1/P2)
- 连续执行:任务包内连续执行到"完成或明确阻塞"
- 文件占用锁:同目录协作先声明归属,"谁领取谁编辑"
- 冲突处理:后写入方必须先 Read 最新内容,增量合并
2. 任务分配策略
2.1 动态分配机制
// 任务分配算法
interface TaskAssignment {
taskId: string;
agentId: string;
priority: 'P0' | 'P1' | 'P2' | 'P3';
capability: string[];
estimatedTime: number;
}
// 分配策略
const assignmentStrategy = {
// 能力匹配
matchCapability: (task: Task, agent: Agent): boolean => {
return task.requiredCapabilities.every(cap =>
agent.capabilities.includes(cap)
);
},
// 负载均衡
balanceLoad: (agents: Agent[]): Agent => {
return agents.reduce((min, agent) =>
agent.activeTasks < min.activeTasks ? agent : min
);
},
// 优先级排序
sortByPriority: (tasks: Task[]): Task[] => {
const priorityOrder = { P0: 0, P1: 1, P2: 2, P3: 3 };
return tasks.sort((a, b) =>
priorityOrder[a.priority] - priorityOrder[b.priority]
);
},
};
2.2 能力标签
| 能力标签 | 说明 | 适用任务 |
|---|---|---|
frontend |
前端开发 | React, UI组件 |
backend |
后端开发 | API, Service |
plugin |
插件开发 | Chrome Extension |
database |
数据库 | Schema, Query |
ai-analysis |
AI分析 | 数据分析, 报告 |
ai-decision |
AI决策 | 算法, 策略 |
devops |
运维 | 部署, 监控 |
3. 决策流程
3.1 决策层级
Level 1: AI Agent 自主决策
├─ 代码实现细节
├─ 单元测试用例
└─ 局部重构
Level 2: Brain 协调决策
├─ 跨模块接口设计
├─ 任务优先级调整
└─ 资源冲突解决
Level 3: 人工确认决策
├─ 核心业务数据修改(调价、退款)
├─ 架构重大变更
└─ 生产环境部署
3.2 决策流程门禁
SUGGESTED -> PENDING_REVIEW -> EXECUTED/REJECTED
严禁:AI 直接修改核心业务数据(调价、退款、下单) 必须:人工在 Console 端确认后方可执行
4. 自省与上报
4.1 自省要求
AI Agent 必须在以下阶段上报"自我问题":
-
对话开始时
- 当前任务理解
- 依赖任务状态
- 潜在风险点
-
执行过程中
- 进度更新
- 阻塞问题
- 需要协调的事项
-
交付前
- 功能验证结果
- 测试覆盖率
- 已知限制
4.2 上报格式
interface SelfReport {
stage: 'start' | 'progress' | 'delivery';
taskId: string;
agentId: string;
status: 'normal' | 'blocked' | 'at-risk';
progress: number; // 0-100
issues: {
type: 'dependency' | 'conflict' | 'technical' | 'resource';
description: string;
severity: 'low' | 'medium' | 'high';
}[];
nextSteps: string[];
}
5. 质量保障
5.1 代码质量门禁
| 指标 | 目标值 | 检查方式 |
|---|---|---|
| 测试覆盖率 | ≥ 80% | 自动化测试 |
| 类型安全 | 100% | TypeScript strict |
| 代码规范 | 0 警告 | ESLint |
| 文档完整 | 100% | JSDoc |
5.2 验证流程
代码生成
│
▼
静态检查 (ESLint/TypeScript)
│
▼
单元测试
│
▼
集成测试
│
▼
人工 Review (关键模块)
│
▼
部署验证
6. AI节点自动决策体系
6.1 核心理念
- 节点化设计:每个决策动作是一个节点(Node),节点可以是 AI 生成建议、条件判断、执行动作、通知等
- 数据驱动:每个节点依赖历史数据 + 实时数据来生成建议
- 自动推进:节点间用逻辑流或条件流连接,AI 根据上下文和规则自动选择下一节点
- 可回溯与干预:每个节点都有日志,初期可允许人工干预,后期高置信度节点可完全自动执行
6.2 节点类型
| 节点类型 | 功能 | 输入数据 | 输出数据 |
|---|---|---|---|
| 决策节点(Decision Node) | AI 根据数据生成建议或选择动作 | 历史数据、实时数据、外部数据 | JSON动作方案 + 置信度 + 风险等级 |
| 条件节点(Condition Node) | 根据规则或状态判断执行路径 | 决策节点输出 + 实时数据 | 执行路径(自动执行/人工确认/阻止执行) |
| 执行节点(Action Node) | 调用 API、脚本或系统操作 | 确认后的动作方案 | 执行状态(成功/失败) |
| 人工确认节点(Human Approval Node) | 人类对 AI 建议进行修改或确认 | 决策节点输出 + 条件判断结果 + 数据参考 | 最终动作方案 |
| 日志节点(Log Node) | 记录整个节点数据、结果 | 所有节点输入输出 | 日志记录(唯一ID,全链路追踪) |
| 历史数据更新节点 | 将执行结果回写历史库 | 执行结果 | 历史数据库更新 |
| 报表分析节点(Report/Analytics Node) | 生成报表和趋势分析 | 历史数据 + 节点日志 | 报表、趋势分析、总结 |
6.3 数据分类
| 数据类别 | 内容 | 用途 |
|---|---|---|
| 历史数据 | 广告投放历史(CTR、CVR、ROI)、价格历史、销售历史、TOB批发订单历史 | 预测调价或预算策略、判断调价幅度 |
| 实时数据 | 当前库存、价格、预算、广告状态、实时ROI、异常指标 | 决定节点是否可执行、支持条件节点判断分支 |
| 外部数据 | 节假日、竞品价格、市场趋势、供应链状态、汇率 | 影响广告投放策略和定价 |
6.4 决策流程门禁
SUGGESTED -> PENDING_REVIEW -> EXECUTED/REJECTED
- 严禁:AI 直接修改核心业务数据(调价、退款、下单)
- 必须:人工在 Console 端确认后方可执行
7. 业务闭环设计
7.1 TOC(零售单笔闭环)
[输入数据] → [AI决策节点] → [条件判断节点] → [人工确认节点] → [执行节点]
↓
[日志节点] → [历史数据更新节点] → [报表分析节点] → [优化反馈节点] → 回到 [AI决策节点]
- 输入数据:单笔订单、客户历史购买、库存状态、广告数据、市场趋势
- 决策节点:AI 生成动作建议(是否调价、是否推荐促销、广告曝光调整)
- 条件节点:检查库存、预算、置信度、风险
- 人工确认节点(可选):处理低置信度或高风险动作
- 执行节点:系统执行调价、广告调整、库存扣减
- 日志节点:记录每个操作和决策过程
- 历史数据更新节点:更新库存、销售、广告效果、ROI
- 报表分析节点:生成订单收益、库存波动、广告转化报表
- 优化反馈节点:AI 根据报表优化下一轮决策
7.2 TOB(批发/整柜闭环)
- 输入数据:批发订单、客户等级、库存、供应商状态、市场趋势
- 决策节点:AI 生成分配方案、价格方案、库存调拨方案
- 条件节点:检查库存、供应商能力、风险等级
- 人工确认节点:处理库存紧张或低置信度分配
- 执行节点:系统生成订单、调拨库存、同步 ERP
- 日志节点:全链路记录决策与执行状态
- 历史数据更新节点:回写分配结果、客户反馈、库存变化
- 报表分析节点:生成分配效率、库存周转率、客户满意度报表
- 优化反馈节点:AI 根据历史表现优化分配策略
7.3 功能模块闭环示例
| 功能模块 | 节点应用说明 |
|---|---|
| 广告价格调节 | 决策节点生成调价方案 → 条件节点判断库存和预算 → 人工确认或自动执行 → 执行节点调整广告价格 → 日志 → 历史更新 → 报表分析 |
| 产品调价 | 决策节点生成价格建议 → 条件判断 ROI、库存 → 人工确认 → 执行调价 → 日志 → 历史更新 → 报表分析 |
| 批发订单分配 | 决策节点生成分配方案 → 条件节点判断库存和客户优先级 → 人工确认或自动分配 → 执行节点生成订单 → 日志 → 历史更新 → 报表分析 |
| 库存管理 | 决策节点预测缺货/过量 → 条件节点判断安全库存 → 人工确认 → 执行节点调拨或采购 → 日志 → 历史更新 → 报表分析 |
| 促销活动 | 决策节点生成活动策略 → 条件节点判断库存/ROI → 人工确认 → 执行节点发布活动 → 日志 → 历史更新 → 报表分析 |
8. 规则引擎(初期备用方案)
8.1 设计定位
- 目的:在 AI 决策模型尚未充分训练或 token 不可用的情况下,保证业务能继续自动化运行
- 特点:
- 逻辑简单、可配置
- 不依赖 token 调用
- 作为 AI 决策节点的备用或初期执行层
8.2 规则引擎与 AI 决策的关系
[业务触发] → [规则引擎检查] → [规则命中?]
├── 是 → [按规则执行] → [日志记录]
└── 否 → [AI决策节点] → [条件判断] → [执行]
8.3 规则类型
| 规则类型 | 说明 | 示例 |
|---|---|---|
| 阈值规则 | 基于数值阈值的判断 | 库存 < 安全库存 → 触发补货 |
| 时间规则 | 基于时间周期的判断 | 每日 00:00 检查广告预算 |
| 组合规则 | 多条件组合判断 | ROI > 1.5 且 库存充足 → 自动增加广告预算 |
| 异常规则 | 异常检测与处理 | CTR 下降 > 30% → 触发人工确认 |
8.4 规则配置示例
interface Rule {
id: string;
name: string;
condition: {
type: 'threshold' | 'time' | 'composite' | 'anomaly';
expression: string;
};
action: {
type: 'auto_execute' | 'human_approval' | 'notification';
payload: object;
};
priority: number;
enabled: boolean;
}
// 示例规则
const rules: Rule[] = [
{
id: 'RULE-001',
name: '库存不足自动补货',
condition: {
type: 'threshold',
expression: 'inventory < safety_stock'
},
action: {
type: 'human_approval',
payload: { action: 'restock', quantity: 'suggested_amount' }
},
priority: 1,
enabled: true
},
{
id: 'RULE-002',
name: '高ROI广告自动加预算',
condition: {
type: 'composite',
expression: 'roi > 1.5 AND inventory > min_stock'
},
action: {
type: 'auto_execute',
payload: { action: 'increase_budget', amount: 100 }
},
priority: 2,
enabled: true
}
];
8.5 演进路径
| 阶段 | 规则引擎 | AI决策节点 |
|---|---|---|
| 初期 | 主导,处理大部分标准场景 | 辅助,处理复杂场景 |
| 中期 | 处理简单、确定性场景 | 主导,处理需要预测和优化的场景 |
| 后期 | 作为异常处理和兜底机制 | 全链路自动决策 |
9. 自动化程度演进
| 阶段 | 特征 | 人工干预 |
|---|---|---|
| 初期 | AI建议 + 人审核,人工操作占主导 | 高干预,大部分决策需要人工确认 |
| 中期 | 对置信度高、低风险的操作可自动执行 | 中等,人工处理异常和低置信度决策 |
| 后期 | AI全链路决策 + 自动执行 | 低干预,仅异常或低置信度操作人工介入 |
阈值管理
- 置信度阈值、风险等级、操作类型均可配置
- 支持按业务模块(TOC/TOB)设置不同阈值
- 支持自适应阈值:系统根据历史执行效果自动调整
10. 与 Task_Overview.md 的关系
10.1 职责划分
| 文档 | 职责 | 内容 |
|---|---|---|
| Task_Overview.md | 任务追踪 | 所有任务的详细列表、状态、依赖 |
| AI_Strategy.md | 策略描述 | AI 协作机制、决策流程、质量保障、节点自动决策体系 |
10.2 避免重复
- Task_Overview.md 是唯一的任务源
- AI_Strategy.md 不重复定义任务
- AI_Strategy.md 描述如何执行任务的策略
11. 相关文档
- Task Overview - 任务追踪(唯一任务源)
- Business ClosedLoops - 业务闭环
- System Architecture - 系统架构
- AI Module List - AI模块清单
本文档描述 AI 协作策略,不重复任务列表,最后更新: 2026-03-19