Skip to content

Repository files navigation

Reins

一个刻意保持简单的 Harness 控制面。

假设

本项目的意义建立在以下假设上:

  1. 每个模型都有 “最适合” 自己的 Harness
  2. 1 所导致的同模型下 Agent 能力的差异是足够大以至于有实际意义的
  3. 只有模型训练方才能产出 “最佳” 的那个 Harness

另外,若 ACP v2 退出草稿阶段而趋于稳定,且主流训练方 Harness 皆完成对其的兼容,则本项目将退化为单纯的协议包装层。

介绍

本项目的产生动机和具体设计则是来自以下需求和痛点:

  1. 各家模型商都有自己的 Harness 和订阅套餐,且它们都不太喜欢自己的订阅被转换为 API
  2. 我有复数个上述套餐,默认情况下却只能分开使用它们
  3. 我的工作流是基于 Subagent 系统的,用一个旗舰模型 Agent 控制若干能力高低不同的模型 Agent,而因为 1 和 2,我只能在单一 Harness 内用原生能力派生 Subagent

因此需要这样一个控制面,用四个核心动作抽象任意 Harness 上的 Agent 会话:

动作 语义
spawn 创建会话并启动首个回合
send 向会话注入消息;busy 时在消息边界注入,idle 时触发新回合
wait 等待一个或多个会话的回合完成
interrupt 停止进行中的回合,保留会话;不携带模型可见消息

以上动作被一个针对 Agent 精心设计的 CLI 暴露给消费者。当然核心模型和 Harness 适配器等与具体的控制面是解耦的,因此任何暴露形态(MCP、自有应用等)都是可以实现的。

保持核心动作简单是兼容各家 Harness 的前提,因为它们在设计细节上区别繁多,对外暴露的可编程能力更是参差不齐。

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages