Bastix
Features

多智能体协同

多智能体协同是长程投资任务的支撑机制,不是独立产品。Bastix 把一个 TAP 拆成含多个 agent 节点的有向无环图,同层并行 fan-out、层间串行,每个节点一次 agent 生成,结论随运行结束回主会话消费。它服务研究分工,不是多个 AI 替你交易。

先说定位,避免误解:多智能体协同是长程投资任务的支撑机制,不是一个独立产品。 它解决的问题是——当一个投研任务需要"研究、风控、执行"等多种角色分工时,这些角色怎么在一次无人值守运行里被组织起来协同推进。1

它服务的是研究分工,不是"多个 AI 替你交易"。所有对外动作仍然回到主会话,由你决定。23

一个 TAP 内部长什么样:多节点的有向无环图

一个长程投资任务(TAP,可持续运行策略单元)在运行时不是"一个 AI 从头跑到尾",而是一张有向无环图(DAG):从 START 开始,经过多个 agent 节点(可承担研究、风控、执行等角色),到 EXECUTE 收尾。4

  • 图的结构与合法性由规范化步骤统一处理,保证它是一张可执行的有向无环图。5
  • 图的载荷与形态由明确的类型定义约束,不是随意拼接。6

换句话说,你的一个研究任务,内部可以被组织成一支"分好工的小队",而不是一个全能单点。

它怎么协同:分层并行 fan-out,层间串行

真正的协同发生在运行时。Bastix 把这张图按执行层级推进:7

机制含义好处
同层并行(fan-out)同一层的多个 agent 节点用 Promise.all 并发执行互不依赖的研究分支同时跑,不必排队
层间串行下游层要等上游层跑完下游节点能看到直接上游的输出,形成依赖链
单节点一次生成每个 agent 节点 = 一次模型生成每个角色独立产出、可分别追溯

这套"同层并行、层间串行"就是多智能体协同的实质:该并行的并行、该等待的等待,既快又保持依赖顺序。78

协同的结果去哪了:回主会话消费

多个 agent 节点协同跑完,结论不会"自己去做点什么"。运行结束时,任务把一个结论摘要回传给主会话:9

  • 回传的是指针 + 结论摘要result_summary,抽取各节点结论文本、丢弃工具中间态并截断),让你的主会话被唤醒时当场拿到可消化的内容。9
  • 完整结果留在该任务自己的运行记录里,需要深挖时按 run_id 去读,不会把数 MB 的中间态塞回主会话。9

这正是边界所在:协同只负责把研究做深、做出结论;要不要据此行动,回到主会话由你决定。2

多个任务还能并存:盘前 / 盘中 / 复盘各一支

同一个智能体可以同时拥有多个相互独立的 TAP,按 tap_id 区分——比如"盘前情报""盘中跟踪""盘后复盘"各是一支独立的小队,各有各的触发时点。10

这让"多智能体协同"不只是一个任务内部的分工,也是多条研究线并行推进的组织方式。

它明确不做什么

  • 不是"多个 AI 替你交易"。 协同服务研究分工;对外动作回主会话,交易由你决定。23
  • 不自动下单、不连接券商。 属禁止声明与 unsupported 能力。1112
  • 不保证每个节点结论正确。 每个节点是一次模型生成,可能出错,不构成投资建议。13
  • 不承诺收益或胜率。 属禁止声明。12

谁适合了解它

  • 想弄清 Bastix 长程研究底层到底怎么跑的进阶用户;
  • 希望盘前/盘中/复盘多条研究线并行运行的人;
  • 重视机制可核验、判断有代码依据的个人或团队。

常见问题

Bastix 一个投研任务内部是怎么多智能体分工的?

Bastix 把一个 TAP 拆成从 START 到 EXECUTE、含多个 agent 节点的有向无环图,同层用 Promise.all 并行 fan-out、层间串行,每个节点一次模型生成,各角色独立产出、可分别追溯。47

多个 AI Agent 能替我自动交易吗?

不能——多智能体协同只服务研究分工,跑完只把结论摘要回传主会话;要不要据此行动、任何调仓或交易都回主会话由你决定。23

Bastix 能同时跑多个研究任务吗?

能——同一个智能体可并存多个相互独立的 TAP,按 tap_id 区分,比如盘前情报、盘中跟踪、盘后复盘各是一支独立小队、各有触发时点。10

相关阅读

  • 长程投资任务:本页所支撑的主线,研究→观察→持仓→复盘四阶段。
  • AI投研智能体:多智能体协同所服务的差异化核心能力。
  • 智能体持仓管理:协同运行如何有连续、有状态的仓位记录可读。
  • 信息雷达:官方智能体无人值守定时研判公告资讯的已上线实例。
  • 标的池管理:多标的批量、逐标的研判的组织方式。

Footnotes

  1. Bastix《公开产品事实登记》0.1.0"TAP(可持续运行策略单元)与定时触发"为 production:策略定义、运行记录、启动/停止与调度链路存在;无人值守任务只做研究、观察和整理,不等于自动下单。

  2. apps/web/content/docs/changelog/v1-0-9.mdx:"定时自动运行的持续任务现在只做研究、观察与整理,不再自行发起对外动作;需要对外执行的动作统一回到主会话、由你在场时进行。" 2 3 4

  3. apps/agent-api/src/runtime-tools/strategy-position-tool.tsrejectTapWrite):在 tap:{tapId} 会话中 set_target/reset 写操作被门禁拒绝(返回 strategy_position_write_forbidden_in_tap)——TAP 只做观察与判断,调仓主张回主会话执行。 2 3

  4. apps/agent-api/src/mastra/tap-workflows/tap-to-mastra-workflow.tsinterpretTapGraph / runGraphLevels)与 tap-types.tsTapWorkflowGraph):一个 TAP 被解释为从 START 到 EXECUTE、含多个 infer 节点的有向无环图,按 executionLevels 分层推进。 2

  5. apps/agent-api/src/mastra/tap-workflows/tap-normalize.tsnormalizeCanonicalRules):对 TAP 图做规范化,产出可执行的有向无环图并附诊断。

  6. apps/agent-api/src/mastra/tap-workflows/tap-types.tsTapPayload / TapWorkflowGraph):约束 TAP 载荷与工作流图形态。

  7. apps/agent-api/src/mastra/tap-workflows/tap-to-mastra-workflow.tsrunGraphLevels):for (const level of graph.executionLevels) 逐层执行,同层 await Promise.all(level.map(...)) 并行 fan-out,层间串行,下游节点接收直接上游输出(directUpstreamOutputs)。 2 3

  8. apps/agent-api/src/mastra/tap-workflows/tap-infer.ts:每个 agent 节点通过一次 agent.generate(messages, ...) 完成推理;持续任务单次推理有更充足的步数预算。

  9. apps/agent-api/src/mastra/index.tsonTapFinished / tap-run-finished 信号):运行结束回传 tap_id / run_id / status / finished_atresult_summarysummarizeTapResult 只抽各节点结论文本、丢弃 metadata 与工具中间态并截断),作为对主会话的汇报;完整结果存于该 TAP 线程(tap_runs.thread_id),按 run_id 深挖。 2 3

  10. apps/agent-api/src/mastra/prompts/capability-intros.tstap_manager):可构建、更新或并存多个 TAP 定义,按 tap_id 区分——新 tap_id 新建、复用同一 tap_id 更新,同一代理可同时拥有盘前/盘中/复盘等多个独立 TAP。 2

  11. 产品事实登记"券商连接与真实下单"为 unsupported:生产代码检索未发现券商或下单实现;apps/agent-api/src/runtime-tools 无下单工具。

  12. 产品事实登记"禁止声明":"自动交易""自动下单""券商同步持仓"及保证收益、稳定跑赢等在任何公开页面均不得使用。 2

  13. 产品事实登记"智能体对话与工具调用"为 production:模型输出可能出错,不构成投资建议。