AIDAWORK / ARCHITECTURE

启动稳定 vs 必须 per-turn

独立图页 ↗
机制说明(SoT)图是辅读 · 结论以说明与证据为准

Runtime 构造保存长寿命服务对象,每轮解析选择自己的模型、工具与提示词。先准备 TurnConfig,再组合 OrchestratorDeps,让不同入口复用相同装配规则。

本页可直接往下读完整机制说明,不需要「演示 / 播放故事」。术语不熟先看 术语表。

先读机制说明,结论以说明与证据为准 · 基于固定代码版本核验 · 部署状态另行确认

机制说明(全文)

启动稳定 vs 必须 per-turn

同一个 Runtime 服务不同轮次

Runtime 构造保存长寿命服务对象,每轮解析选择自己的模型、工具与提示词。先准备 TurnConfig,再组合 OrchestratorDeps,让不同入口复用相同装配规则。

启动时有记忆服务不代表每轮都能使用记忆;上下文策略可在本轮关闭它。反过来,每轮变更模型也不需要重建全部存储和审计依赖。图展示的是对象持有与值覆盖的区别。

证据与范围

  • aida-agent · packages/agent/src/gateway/orchestrator-runtime.ts L379–407 · prepareExecution · e2adc9a3c325
  • aida-agent · packages/agent/src/gateway/orchestrator-runtime.ts L278–308 · composeDeps · e2adc9a3c325
  • aida-agent · packages/agent/src/gateway/orchestrator-runtime.ts L397–427 · durableText · e2adc9a3c325
  • aida-agent · packages/agent/src/runtime/execution/run-execution-worker.ts L69–70 · RunExecutionWorker · e2adc9a3c325
  • aida-agent · docs/adr/0018-orchestrator-runtime-and-turn-config.md L9–54 · e2adc9a3c325

结论来自固定版本的静态源码与合同阅读;实现存在、默认开关和生产启用分别判断。本站代码证据面板列出声明状态与具体限制。

机制说明

启动稳定 vs 必须 per-turn

同一个 Runtime 服务不同轮次

Runtime 构造保存长寿命服务对象,每轮解析选择自己的模型、工具与提示词。先准备 TurnConfig,再组合 OrchestratorDeps,让不同入口复用相同装配规则。

启动时有记忆服务不代表每轮都能使用记忆;上下文策略可在本轮关闭它。反过来,每轮变更模型也不需要重建全部存储和审计依赖。图展示的是对象持有与值覆盖的区别。

证据与范围

  • aida-agent · packages/agent/src/gateway/orchestrator-runtime.ts L379–407 · prepareExecution · e2adc9a3c325
  • aida-agent · packages/agent/src/gateway/orchestrator-runtime.ts L278–308 · composeDeps · e2adc9a3c325
  • aida-agent · packages/agent/src/gateway/orchestrator-runtime.ts L397–427 · durableText · e2adc9a3c325
  • aida-agent · packages/agent/src/runtime/execution/run-execution-worker.ts L69–70 · RunExecutionWorker · e2adc9a3c325
  • aida-agent · docs/adr/0018-orchestrator-runtime-and-turn-config.md L9–54 · e2adc9a3c325

结论来自固定版本的静态源码与合同阅读;实现存在、默认开关和生产启用分别判断。本站代码证据面板列出声明状态与具体限制。

代码证据

引用核验检查固定 commit 的文件与范围;实现结论来自代码阅读。自动检查不证明生产环境已启用。

已核验实现

RuntimeBaseDeps 与启动持有的 memory/internalToolDeps 在构造时分开,composeDeps 合并每轮 TurnConfig。

aida-agentpackages/agent/src/gateway/orchestrator-runtime.ts:434–4627f2e519936b57902d4907ed8026fe1ecdd146e82符号:prepareExecution
aida-agentpackages/agent/src/gateway/orchestrator-runtime.ts:320–3507f2e519936b57902d4907ed8026fe1ecdd146e82符号:composeDeps
已核验实现

普通实时入口经 resolveAndRun → prepareExecution → orchestrate;runtime-work-v1 受理经 chat-work-prepare 调 OrchestratorRuntime.prepareExecution(runtimeProtocol=RUNTIME_WORK_PROTOCOL)做绑定准备,RunExecutionWorker 的执行尝试(run-execution-attempt:prepareWork,runtime-v2.1 存量为 prepareText)也复用 prepareExecution;不应描述所有入口只调用 resolveAndRun。

aida-agentpackages/agent/src/gateway/orchestrator-runtime.ts:434–4627f2e519936b57902d4907ed8026fe1ecdd146e82符号:prepareExecution
aida-agentpackages/agent/src/gateway/orchestrator-runtime.ts:411–4187f2e519936b57902d4907ed8026fe1ecdd146e82符号:resolveAndRun
aida-agentpackages/agent/src/session/chat-work-prepare.ts:422–4477f2e519936b57902d4907ed8026fe1ecdd146e82符号:prepareExecution
aida-agentpackages/agent/src/gateway/orchestrator-runtime.ts:434–4667f2e519936b57902d4907ed8026fe1ecdd146e82符号:prepareExecution
aida-agentpackages/agent/src/runtime/execution/run-execution-attempt.ts:356–3737f2e519936b57902d4907ed8026fe1ecdd146e82符号:prepareText
aida-agentpackages/agent/src/runtime/execution/run-execution-attempt.ts:576–5787f2e519936b57902d4907ed8026fe1ecdd146e82符号:prepareWork
已核验实现

ADR-0018 记录了双入口依赖漏传与全局关键字段过度触发的历史背景;图中旧路径仅作为历史对照。

aida-agentdocs/adr/0018-orchestrator-runtime-and-turn-config.md:10–307f2e519936b57902d4907ed8026fe1ecdd146e82