用途:当消费方代码库(应用、服务、评测框架或平台)需要通过 NeMo Fabric 的类型化 Python SDK 运行 agent harness 时使用本技能。消费方拥有自己的配置对象,并将其转换为内存中的 FabricConfig;适配器选择、运行时生命周期和归一化结果由 NeMo Fabric 负责。
主要能力:仅从公开的 nemo_fabric 包导入,禁止导入 _native 或适配器内部模块;用类型化 FabricConfig 在内存中构建配置并直接传入;用普通 Python 函数和 model_copy(deep=True) 创建部署或评测变体;由 NeMo Fabric 掌控 harness 控制,不自行实现 start、invoke、stop,也不直接管理适配器线程、会话或进程;runtime_id、invocation_id、request_id 视为不透明关联字符串。
使用方式:安装运行时用 uv pip install nemo-fabric,Harbor 集成加 harbor extra;通过 HarnessConfig.adapter_id 选择适配器,可用 nemo-fabric[claude]、nemo-fabric[codex]、nemo-fabric[deepagents] 一次安装运行时、适配器与受支持 harness;Hermes Agent 需单独安装,nemo-fabric[hermes-agent] extra 不安装 Hermes Agent;适配器环境可安装 nemo-fabric-adapters-<adapter>[harness],用 ADAPTER_PYTHON 指向独立适配器环境;模型凭据通过 ModelConfig.api_key_env 指定的环境变量提供,不写入代码。生命周期可选单次调用 Fabric().run(...)、有状态运行时 start_runtime(...) 配合 async with、适配器原生 OpenAI 流 invoke_openai_stream(...)、NeMo Relay 流 invoke_stream(...)(需 nemo-fabric[streaming] 并 streaming=True)。运行前用 plan(...) 确认适配器与能力路由,用 doctor(...) 做预检。
适用场景与限制:适用于消费方集成、平台化运行与评测。NeMo Fabric 不提供应用调度队列、工作线程池、重试策略或全局并发策略,默认不重试;每个运行时同时只允许一个活动调用,并行需启动独立运行时;shutdown 不保证成功,stop() 可能抛 FabricRuntimeError;原生扩展缺失时 SDK 调用抛 FabricNativeUnavailableError。更多细节见 config-mapping.md、results-and-errors.md、sdk-api-inventory.md 及仓库 code_review_agent 示例。