代理中继服务

AgentRelay是一个基于MCP的协调服务,用于将工作委托给子代理并通过注入而非轮询将结果传递回父代理的上下文中。

  • by MadnessASAP
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 MadnessASAP/AgentRelay

使用说明

代理继电器

代理继电器 是一种有计划的基于MCP的编排服务,用于将工作委托给子代理,并通过注入而不是轮询将结果传递回父代理的上下文。

目标是使并行的多代理工作流对单个代理来说感觉很自然:子任务异步运行,完成的输出在准备就绪时显示为新的上下文。


视觉

AgentRelay旨在提供:

  • 通过MCP授权
    用于启动和跟踪子代理任务的标准MCP接口。

  • 首次注射结果
    子代理的输出被推回父代理的提示/上下文中,而不是通过重复的状态调用获取。

  • 并行执行
    父代理可以继续工作,而子代理在后台执行。

  • 后端无关设计
    子代理可以通过以下方式提供支持:

    • OpenAI/Codex风格的API
    • 代理控制协议(ACP)实现
    • 本地CLI工具或脚本
  • 简单编排语义
    一次要求委派工作,一次在工作完成后注入结果。


预期接口

AgentRelay围绕两个核心业务进行设计:

delegate(prompt, block=false)

启动子代理任务。

  • 如果 block=false:

    • 立即返回任务ID。
    • 稍后注射结果。
  • 如果 block=true:

    • 等待完成。
    • 返回完成确认。
    • 结果仍然以与非阻塞任务完全相同的方式注入。

status(subagent_id)

提供对任务状态的调试或手动可见性。
正常的工作流程应该依赖于注入而不是轮询。


核心原则

子代理输出从不直接从工具返回。
它们总是通过注入到父代理的上下文中来传递的。

这避免了:

  • 轮询循环
  • 工具调用垃圾邮件
  • 在阻塞和非阻塞调用之间划分推理路径

并实现:

  • 清晰的并行推理
  • 子任务结果的确定性集成
  • 代理驱动的编排

长期目标

AgentRelay旨在向以下方向发展:

  • 多个可插拔的执行后端
  • 结构化(JSON)结果注入
  • 进展和部分结果注入
  • 取消和优先排序
  • 政策控制和配额
  • 持久状态和恢复
  • 可观察性和追踪
  • 多家长订阅模式

当前状态

AgentRelay目前是一项设计和原型工作。

目前的重点是:

  • 定义清晰的语义
  • 建立注射第一结果交付
  • 验证MCP作为控制平面
  • 证明与Codex/ACP型试剂的互操作性

预期快速迭代和架构变动。


为什么选择“代理关系”

Agent relay充当以下之间的中继点:

  • 希望完成工作的家长代理人
  • 一个或多个子代理可以执行它

它不会自己推理。
它路由任务并传递结果。


许可证

待定