多代理路由系统Skill routing

这是一个用于管理多代理系统的路由功能,支持消息路由到专门代理、配置通道绑定和管理工具访问策略。适用于AI智能体协作、自动化交易、市场研究和通知处理等场景,提高工作效率和系统安全性。关键词:路由、多代理、通道绑定、工具策略、AI智能体、自动化、消息管理、系统配置。

AI智能体 0 次安装 0 次浏览 更新于 3/9/2026

name: routing description: “多代理路由、通道绑定和工具策略” emoji: “🔀”

路由 - 完整 API 参考

将消息路由到专门代理,配置通道绑定,并管理工具访问策略。


聊天命令

代理管理

/agents                                     列出可用代理
/agent trading                              切换到交易代理
/agent research                             切换到研究代理
/agent main                                 切换到主代理
/agent status                               当前代理信息

通道绑定

/bind trading                               将通道绑定到交易代理
/bind research                              将通道绑定到研究代理
/unbind                                     移除通道绑定
/bindings                                   列出所有绑定

工具策略(管理员)

/tools                                      列出可用工具
/tools allow <agent> <tool>                 允许代理使用工具
/tools deny <agent> <tool>                  禁止代理使用工具
/tools policy <agent>                       查看代理的工具策略

TypeScript API 参考

创建路由服务

import { createRoutingService } from 'clodds/routing';

const routing = createRoutingService({
  // 默认代理
  defaultAgent: 'main',

  // 代理定义
  agents: {
    main: {
      name: '主代理',
      description: '通用助手',
      model: 'claude-3-sonnet',
      systemPrompt: '您是一个有用的交易助手...',
      allowedTools: ['*'],  // 所有工具
    },
    trading: {
      name: '交易代理',
      description: '订单执行专家',
      model: 'claude-3-haiku',
      systemPrompt: '您高效执行交易...',
      allowedTools: ['execute', 'portfolio', 'markets', 'feeds'],
    },
    research: {
      name: '研究代理',
      description: '市场分析专家',
      model: 'claude-3-opus',
      systemPrompt: '您提供深入的市场分析...',
      allowedTools: ['web-search', 'web-fetch', 'markets', 'news'],
    },
    alerts: {
      name: '警报代理',
      description: '通知处理器',
      model: 'claude-3-haiku',
      systemPrompt: '您管理价格警报...',
      allowedTools: ['alerts', 'feeds'],
    },
  },

  // 存储
  storage: 'sqlite',
  dbPath: './routing.db',
});

路由消息

// 路由确定最佳代理
const route = await routing.route({
  message: '买入100股Trump YES',
  channelId: 'telegram-123',
  userId: 'user-456',
});

console.log(`路由到: ${route.agent}`);
console.log(`置信度: ${route.confidence}`);
console.log(`原因: ${route.reason}`);

获取可用代理

const agents = routing.getAgents();

for (const [id, agent] of Object.entries(agents)) {
  console.log(`${id}: ${agent.name}`);
  console.log(`  ${agent.description}`);
  console.log(`  模型: ${agent.model}`);
  console.log(`  工具: ${agent.allowedTools.join(', ')}`);
}

添加自定义代理

routing.addAgent({
  id: 'defi',
  name: 'DeFi 专家',
  description: 'Solana 和 EVM DeFi 专家',
  model: 'claude-3-sonnet',
  systemPrompt: '您是DeFi协议专家...',
  allowedTools: ['solana', 'evm', 'bridge', 'portfolio'],
  patterns: [
    /swap|dex|liquidity|pool/i,
    /solana|jupiter|raydium/i,
    /uniswap|1inch|bridge/i,
  ],
});

更新代理

routing.updateAgent('trading', {
  model: 'claude-3-sonnet',  // 升级模型
  allowedTools: [...currentTools, 'futures'],
});

通道绑定

// 将通道绑定到特定代理
await routing.addBinding({
  channelId: 'telegram-trading-group',
  agentId: 'trading',
});

// 获取通道的绑定
const binding = await routing.getBinding('telegram-trading-group');
console.log(`通道绑定到: ${binding?.agentId || '默认'}`);

// 列出所有绑定
const bindings = await routing.getBindings();
for (const b of bindings) {
  console.log(`${b.channelId} → ${b.agentId}`);
}

// 移除绑定
await routing.removeBinding('telegram-trading-group');

工具策略

// 检查工具是否允许用于代理
const allowed = routing.isToolAllowed('trading', 'web-search');
console.log(`web-search 允许用于交易代理: ${allowed}`);

// 获取代理允许的工具
const tools = routing.getAllowedTools('trading');
console.log(`交易代理工具: ${tools.join(', ')}`);

// 更新工具策略
routing.setToolPolicy('trading', {
  allow: ['execute', 'portfolio', 'futures'],
  deny: ['web-search', 'browser'],
});

内置代理

代理 模型 目的 工具
main Sonnet 通用助手 所有
trading Haiku 快速订单执行 执行, 投资组合
research Opus 深度分析 搜索, 获取, 新闻
alerts Haiku 通知 警报, 数据源

路由规则

消息基于以下路由:

  1. 通道绑定 — 如果通道已绑定,使用该代理
  2. 模式匹配 — 匹配代理模式
  3. 关键词检测 — 交易术语 → 交易代理
  4. 默认回退 — 使用主代理

模式示例

{
  trading: [/buy|sell|order|position|close/i],
  research: [/analyze|research|explain|why/i],
  alerts: [/alert|notify|when|watch/i],
}

工具类别

类别 工具
执行 execute, portfolio, markets
数据 feeds, news, web-search, web-fetch
加密货币 solana, evm, bridge
系统 files, browser, docker

工作空间隔离

每个代理可以有隔离的工作空间:

routing.addAgent({
  id: 'research',
  workspace: {
    directory: '/tmp/research',
    allowedPaths: ['/tmp/research/**'],
    sandboxed: true,
  },
});

最佳实践

  1. 为交易使用快速模型 — Haiku 用于时间敏感操作
  2. 适当限制工具 — 交易代理不需要浏览器
  3. 通道绑定 — 专用通道用于特定工作流
  4. 自定义代理 — 为您的用例创建专门代理
  5. 监控路由 — 检查日志以查看路由决策