本技能面向 NOOA(nvidia-nemo/labs-oo-agents)中 CodeAct 与 Predict 策略的深度配置,作者基础另见 nooa-agent-authoring。
用途:调优 CodeAct(代码执行智能体)与 Predict(单轮结构化预测)策略的运行行为,包括迭代控制、预填充、错误恢复、结果校验、截断与代码限制。
主要能力:
- 配置管道:字段须经 config= 传入,如 CodeActStrategy(config=CodeActConfig(...));扁平 kwarg 不存在。配置为冻结 Pydantic 模型,用 merge_with 合并,且须新建构造(经 model_dump/model_validate 往返的对象会因 model_fields_set 为空而报错)。
- Prefill:首轮 LLM 前运行最多两个合成 execute_python 单元(id 前缀 prefill_,execution_count=0),不计迭代、失败非致命,变量保留为 REPL 局部。默认 InspectInputsPrefill() 打印调用签名与参数,支持 Media 感知;docstring 与 ... 之间的代码作为第二个 prefill 单元逐字运行;可用 CodeActConfig(prefill=None) 关闭。
- CodeActConfig 循环守卫:max_iterations(None 不限)、max_retries(3,全局累计错误预算)、max_consecutive_text_only(3,0 禁用)、cell_timeout(None 不限)、max_tokens/temperature/top_p、translate_tool_calls(False)等;max_tool_calls 已失效。
- 纯文本恢复回调:on_text_only 返回 TextOnlyResponseAction,可选 return_result、retry、tool_calls;默认 retry_text_only_response。
- return_result:经统一校验,含裸值包装、变量名解析、JSON/literal_eval 解析等强制转换,失败反馈给模型并计入 max_retries。
- 执行环境:exec_globals 为模块命名空间加参数与自动注入符号;REPL 状态跨单元持久;show() 附加媒体,受 max_attachments_per_execution(默认 5)限制。
- 截断:捕获期 CaptureConfig(max_stdout=50_000 等)与渲染期 FormatConfig 分离;上下文预算 max_context_tokens 超限时整块驱逐 SYSTEM 块。
- 代码限制:RestrictionsConfig 支持 blocked_modules、restricted_imports、blocked_calls;违规非致命,反馈重试。
- PredictConfig:单轮无工具,max_retries 默认 10,max_param_chars 默认 200_000 为硬预检,output_serialization 可选 event 或 tool_call。
限制:正文所涉参数默认值以资料为准;不得传 TextOnlyResponseAction 给 @strategy;策略提示词须经 ScopedContext 覆盖,非配置字段。缺失的收费、平台等信息暂未提供。