用途:当应用已打算使用 NeMo Relay 自适应功能、需要正确的插件配置形态时使用本技能。若只需首次埋点、请求级中间件或生产链路调试,则不应使用。
主要能力:自适应调优是 kind 为 adaptive 的顶层插件组件。adaptive 对象包含 version、agent_id、state、telemetry、adaptive_hints、tool_parallelism、acg 和 policy。做法是把 adaptive 对象包进 adaptive ComponentSpec,插入共享插件配置的 components 列表,校验插件配置,再初始化插件系统。插件安装订阅者、护栏、拦截等运行时行为;adaptive 是内置插件组件,不是独立运行时模型。
各语言接口:Python 使用 nemo_relay.adaptive.AdaptiveConfig(...)、nemo_relay.adaptive.ComponentSpec(...)、nemo_relay.plugin.PluginConfig(...)。Node.js 使用 require("nemo-relay-node/adaptive") 的 defaultConfig()、inMemoryBackend()、toolParallelismConfig(...)、ComponentSpec(...),再经 nemo-relay-node/plugin 激活。Rust 使用 nemo_relay_adaptive::{AdaptiveConfig, ComponentSpec, ...} 与 nemo_relay::plugin::{validate_plugin_config, initialize_plugins}。Go 与原始 FFI 属于源码优先或高级接口。
默认路径:构建共享插件配置文档或绑定原生 helper 配置;添加一个顶层 adaptive ComponentSpec;state.backend 先用 in_memory;先启用 telemetry;每次只加一个活动段(adaptive_hints、tool_parallelism 或 acg);初始化前校验配置;通过共享插件系统初始化;应用生命周期变化时干净地清除或替换插件配置。
默认值:adaptive_hints.priority 默认 100,break_chain 为 false,inject_header 为 true,inject_body_path 为 nvext.agent_hints;tool_parallelism.mode 默认 observe_only;acg.provider 默认 passthrough,priority 50,观察窗口 100。Redis 后端用于持久化或跨 worker 共享,不适合首次本地灰度。
限制与失败模式:校验成功前不要初始化;首次灰度不要启用多个活动调优段;不要把可调用对象、客户端、凭据或框架对象放进插件配置;没有基线与回滚路径时不要启用主动调度或请求改写。