基于 ReAct 框架的双系统 AI 协调器,自动评估任务复杂度,智能切换快速执行与深度推理模式,支持多工具协作。
react-orchestrator
功能概述
react-orchestrator是一项面向实际任务的技能,主要用于ReAct 推理框架 - 双系统 AI 代理协调器(System 1 快速执行 + System 2 深度推理);基于 ReAct (Reason+Act) 框架和 Reflexion 自我反思机制,实现智能任务路由和分层推理:;
核心要点
- System 1 : 快速直觉执行 (~3-5s),适合简单查询、事实检索、单步工具调用;
- System 2 : 深度反思。
- 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
使用与执行
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
结果检查与注意事项
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
react-orchestrator
ReAct 推理框架 - 双系统 AI 代理协调器(System 1 快速执行 + System 2 深度推理)
描述
基于 ReAct (Reason+Act) 框架和 Reflexion 自我反思机制,实现智能任务路由和分层推理:
- System 1: 快速直觉执行 (~3-5s),适合简单查询、事实检索、单步工具调用
- System 2: 深度反思推理 (~10-15s),适合复杂规划、多步推理、战略决策
自动评估任务复杂度,智能选择执行模式,最大化效率与质量的平衡。
功能
- ✅ 双系统架构: System 1 (快速) + System 2 (深度) 自动切换
- ✅ ReAct 循环: Reason → Action → Observe → Repeat
- ✅ Reflexion 反思: 定期自我反思,调整策略,纠错优化
- ✅ 工具注册中心: 统一注册、发现、执行外部技能
- ✅ 复杂度评估: 基于关键词和语义自动判断任务难度
- ✅ 超时保护: System 1 (30s) / System 2 (120s) 超时控制
- ✅ 执行历史: 完整记录推理过程,支持审计和调试
- ✅ 语义工具匹配: 基于关键词智能匹配可用工具
安装
# 从 ClawHub 安装(待发布) clawhub install react-orchestrator # 或手动克隆 git clone https://github.com/YOUR_GITHUB/skills/react-orchestrator cd skills/react-orchestrator npm install
快速开始
基础使用
const { ReActOrchestrator } = require('./src/orchestrator');
// 创建协调器
const orchestrator = new ReActOrchestrator({
complexityThreshold: 0.6, // 复杂度阈值
system1Timeout: 30, // System 1 超时 (秒)
system2Timeout: 120, // System 2 超时 (秒)
verbose: true, // 详细日志
});
// 注册工具
orchestrator.registerTool('tavily-search', async (params) => {
// 搜索实现
return { results: [...] };
}, {
description: '联网搜索工具',
keywords: ['搜索', '查找', '调研', 'search'],
timeout: 10,
});
// 执行任务(自动选择 System 1/2)
const result = await orchestrator.execute('搜索最新的 AI agent 发展趋势');
console.log(result.answer);
console.log(`执行模式:${result.mode}, 耗时:${result.duration}s, 迭代:${result.iterations}`);
强制模式
// 强制使用 System 1(快速)
const fast = await orchestrator.execute('今天天气如何?', { mode: 'system1' });
// 强制使用 System 2(深度)
const deep = await orchestrator.execute('分析 AI 行业趋势并给出投资建议', { mode: 'system2' });
集成现有技能
const { ReActOrchestrator } = require('react-orchestrator');
const { TavilySearch } = require('tavily-search');
const { RAGRetriever } = require('rag-retriever');
const orchestrator = new ReActOrchestrator();
// 注册 Tavily 搜索
const search = new TavilySearch({ apiKey: process.env.TAVILY_API_KEY });
orchestrator.registerTool('tavily-search',
(params) => search.search(params.query),
{
description: 'Tavily 联网搜索',
keywords: ['搜索', '查找', '调研', '最新', '新闻'],
}
);
// 注册 RAG 检索
const rag = new RAGRetriever();
orchestrator.registerTool('rag-retrieve',
(params) => rag.retrieve(params.query),
{
description: '本地知识库检索',
keywords: ['文档', '知识', '记忆', '检索'],
}
);
// 执行复杂任务
const result = await orchestrator.execute('调研 MCP 协议的最新发展,并检索本地笔记中的相关记录');
// 自动使用 System 2,依次调用 tavily-search 和 rag-retrieve
配置选项
| 选项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
complexityThreshold |
number | 0.6 |
任务复杂度阈值 (0-1),超过则使用 System 2 |
system1Timeout |
number | 30 |
System 1 超时秒数 |
system2Timeout |
number | 120 |
System 2 超时秒数 |
maxIterationsSystem1 |
number | 5 |
System 1 最大迭代次数 |
maxIterationsSystem2 |
number | 15 |
System 2 最大迭代次数 |
verbose |
boolean | false |
是否输出详细日志 |
model |
string | 'qwen3.5-plus' |
使用的 LLM 模型 |
temperature |
number | 0.3/0.7 |
System 1=0.3, System 2=0.7 |
API 参考
ReActOrchestrator
constructor(options)
创建协调器实例。
registerTool(name, fn, metadata)
注册单个工具。
name: 工具名称fn: 执行函数(params) => Promisemetadata: 元数据(description, keywords, paramSchema, timeout)
registerTools(tools)
批量注册工具。[{name, fn, metadata}, ...]
execute(query, options)
执行 ReAct 推理。
query: 用户查询options.mode:'auto'|'system1'|'system2'options.timeout: 覆盖默认超时- 返回:
{answer, history, mode, iterations, duration}
evaluateComplexity(query)
评估任务复杂度。
- 返回:
{mode, score, reasons}
getAvailableTools()
获取已注册工具列表。
exportHistory(history)
导出执行历史(JSON 格式)。
ToolRegistry
register(name, fn, metadata)
注册工具。
get(name)
获取工具。
list()
列出所有工具名称。
match(query, limit)
语义匹配工具。
执行流程
用户查询
↓
[复杂度评估] → score > 0.6? → System 2
↓ ↓
score ≤ 0.6 初始规划
↓ ↓
System 1 ReAct 循环
↓ (最多 15 次)
ReAct 循环 ↓
(最多 5 次) 定期反思
↓ (每 3 次迭代)
最终答案 ↓
↓ 调整计划/继续
└──────→ 最终答案 ←────┘
测试
npm test
测试覆盖:
- ✅ 工具注册与发现
- ✅ System 1 快速执行
- ✅ System 2 深度推理
- ✅ Reflexion 反思机制
- ✅ 超时保护
- ✅ 错误处理
使用场景
适合 System 1 的任务
- 事实查询:"今天北京天气如何?"
- 简单搜索:"搜索 Python 教程"
- 单步操作:"读取文件 contents.md"
- 快速计算:"123 * 456 = ?"
适合 System 2 的任务
- 复杂分析:"分析 AI 行业趋势并给出投资建议"
- 多步规划:"帮我创建一个完整的 Node.js 项目,包括测试和文档"
- 战略决策:"评估是否应该迁移到 MCP 架构"
- 创造性任务:"设计一个多智能体协作系统"
已知限制
- ⚠️ LLM 集成: 当前版本使用启发式规则模拟 Reason 阶段,需接入真实 LLM
- ⚠️ 参数提取: 工具参数提取为简化实现,需 LLM 支持
- ⚠️ 语义匹配: 工具匹配基于关键词,未来升级为向量相似度
- ⚠️ 记忆管理: 长期记忆集成待完善(可结合 ontology 技能)
依赖
- Node.js >= 18.0.0
- zod (可选,用于参数验证)
版本历史
v0.1.0 (2026-03-18)
- ✅ 初始版本
- ✅ 双系统架构实现
- ✅ ReAct + Reflexion 循环
- ✅ 工具注册中心
- ✅ 基础测试套件
许可证
MIT
作者
余永浩 (蒲萄爸)
贡献
欢迎提交 Issue 和 PR!
热门AI工具
相关专题
本专题围绕 React 框架在大型前端项目中的性能优化展开,讲解组件生命周期优化、虚拟 DOM 原理、状态管理策略及懒加载技术。通过实战案例,帮助开发者构建性能优良、响应迅速的前端应用。
165
2026.04.13
本专题专注于 React 18 的高级开发技术,详细讲解 useState、useEffect、useReducer、useContext 等 Hooks 的使用技巧,以及 Redux、Zustand 等状态管理工具的集成与优化方法。通过真实案例,帮助前端开发者构建可维护、性能优良的现代 React 应用。
183
2026.02.10
本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。
0
2026.09.30
本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。
0
2026.09.30
本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。
0
2026.09.30
需要把 PDF 页面用于上传、预览、分享或图片归档时,PDF 转图片方法专题整理 JPG/PNG 格式选择、逐页导出、清晰度设置、批量下载和结果检查等流程,帮助用户稳定完成 PDF 图片化处理。
0
2026.09.30
PixTV专题整理AI视频与视觉内容创作相关功能使用教程,涵盖AI生图、视频生成、无限画布、多模型创作、素材管理、声音音乐及视频剪辑等功能,帮助用户快速掌握PixTV从创意到成片的完整制作方法。
0
2026.09.29
本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。
0
2026.09.23
本专题讲解Buffalo框架路由与请求处理机制,涵盖路由注册与分组、资源路由、Handler编写规范、Context上下文方法、参数绑定、中间件编写挂载、Session与Cookie读写、Flash消息及错误页面定制方法。
0
2026.09.23
热门下载
相关下载
精品课程