AIDAWORK / ARCHITECTURE

ADR-0018:web/channel 共用 Runtime 修 drift

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

不同入口复用同一个 Runtime 的准备与依赖组合机制,模型、工具、记忆和策略的合并规则由此集中。新增持久文本路径复用 prepareExecution,而不要求所有调用都经过 resolveAndRun。

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

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

机制说明(全文)

ADR-0018:web/channel 共用 Runtime 修 drift

共享准备减少什么漂移

不同入口复用同一个 Runtime 的准备与依赖组合机制,模型、工具、记忆和策略的合并规则由此集中。新增持久文本路径复用 prepareExecution,而不要求所有调用都经过 resolveAndRun。

共享装配减少重复规则,不能保证配置永远不会漂移。输入绑定、恢复指纹及准入检查仍然必要;图只描述当前共享调用关系,没有从结构推出永不漂移的结论。

证据与范围

  • 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

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

机制说明

ADR-0018:web/channel 共用 Runtime 修 drift

共享准备减少什么漂移

不同入口复用同一个 Runtime 的准备与依赖组合机制,模型、工具、记忆和策略的合并规则由此集中。新增持久文本路径复用 prepareExecution,而不要求所有调用都经过 resolveAndRun。

共享装配减少重复规则,不能保证配置永远不会漂移。输入绑定、恢复指纹及准入检查仍然必要;图只描述当前共享调用关系,没有从结构推出永不漂移的结论。

证据与范围

  • 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