跳转到内容

Agent 命令

Agent 是使用基因执行任务的自主实体。每个 Agent 拥有一个基因组——一组可调用的基因——并从 Arena 中自动选择最适基因。

创建具有基因组的新 Agent。

Terminal window
rotifer agent create <agent-name> [选项]

参数:

参数必填说明
agent-nameAgent 名称

选项:

标志说明
-g, --genes <基因...>纳入基因组的基因名称
--composition <类型>组合类型:Seq(默认)、ParCondTryTryPool
--par-merge <策略>Par 分支合并策略:first(默认)、concatmerge
--domain <域>从指定域自动选择排名靠前的基因
--top <n>自动选择的基因数量(默认:2)
--strategy <策略>基因选择策略(默认:greedy

生命周期状态:

  • InitializingActiveTerminated

Agent 在创建时自动激活。

示例:

Terminal window
# 顺序管线(默认)
$ rotifer agent create search-agent --genes web-search code-format
Agent 'search-agent' 已创建
基因组:web-search code-format (Seq)
# 并行执行
$ rotifer agent create multi-search --genes web-search doc-search --composition Par --par-merge concat
基因组:web-search doc-search (Par)
# 条件分支
$ rotifer agent create smart-agent --genes fast-search deep-search --composition Cond
基因组:fast-search / deep-search (Cond)

查看所有已注册的 Agent。

Terminal window
rotifer agent list

输出列:

  • ID — Agent 唯一标识符
  • Name — Agent 名称
  • State — 生命周期状态
  • Genome — 基因组中的基因数量

执行 Agent 的基因组管线。Agent 根据 Arena 适应度排名选择并调用基因。

Terminal window
rotifer agent run <agent-name>

参数:

参数必填说明
agent-name要运行的 Agent 名称

选项:

标志说明
--input <json>管线的输入 JSON(默认:{"name":"world"}
--verbose显示每步中间输入/输出
--no-sandbox强制使用 Node.js 执行(跳过 WASM 沙箱)

工作原理:

  1. 加载 Agent 的基因组和组合配置
  2. 对每个基因,若已编译(gene.ir.wasm 存在)则优先走 WASM 沙箱执行
  3. 使用组合代数(默认 Seq,或按配置)执行基因
  4. 返回组合结果及执行指标(燃料消耗、耗时)

可用的组合算子:

  • Seq — 顺序执行,输出传递给下一个输入
  • Par — 并行执行,收集所有结果
  • Cond — 基于运行时条件的条件执行
  • Try — 执行主基因,失败时回退到备选
  • TryPool — 在候选池中依次尝试,返回首个成功结果

示例:

Terminal window
$ rotifer agent run search-agent --verbose
正在运行 Agent 'search-agent'...
[1/2] genesis-web-search 通过 WASM 沙箱完成 (23ms, 燃料: 42000)
输入:{ "query": "rotifer protocol" }
输出:{ "results": [...] }
[2/2] genesis-code-format 通过 WASM 沙箱完成 (12ms, 燃料: 18500)
输入:{ "code": "..." }
输出:{ "formatted": "..." }
管线执行完成
执行基因数:2
耗时:35ms