开发与工程 ✓ Microsoft · 官方 generative-optimizationprompt-optimizationcode-optimizationexecution-tracingautomatic-differentiationmulti-agent-workflowspython-librarymachine-learning

Trace 生成式优化框架

利用执行轨迹和多种反馈,端到端优化 AI 智能体的提示词、代码与可训练参数。

FollowAgents 评估 · FARS-2.1
谨慎使用
67/ 100 五分制 3.4 / 5
1 2 3 4 5 6
1信任安全12 / 29 · 2.1/5

仓库清楚归属于 Microsoft,包含正式许可证、贡献渠道和专门的安全漏洞报告流程,因此来源归属证据充分。工作流仅授予 contents: read,也体现了局部的最小权限意识;但产品本身没有权限模型或沙箱边界。README 说明会调用 LiteLLM 或 AutoGen、从环境变量或配置文件读取 API 密钥,并明确 trainable 参数会被优化器修改,因此主要外部效果可见;但没有完整说明提示词、执行轨迹及其他数据具体会发送给哪些提供商、如何保留或保护。人类监督仅作为免责声明提出,没有逐次确认机制。依赖安全证据限于一个固定版本的可选 AutoGen 依赖、安全报告政策和普通 CI;未见锁文件、依赖审计或散列固定。未提供优化变更的撤销、检查点或回滚机制。

2可靠稳定8 / 14 · 2.9/5

README 的 node、bundle、优化器和异常处理叙述与所示测试代码基本一致,且测试运行器能用非零状态报告失败。ExecutionError 示例和测试脚本提供了基本失败信息路径,但没有系统化错误分类、恢复策略或面向用户的诊断指南。安装声明简洁,不过 pyproject 将核心依赖、版本及 Python 要求设为动态字段,而相应定义未出现在证据中;因此无法从给定文件确认完整依赖集合或离线可解析性。未因缺少执行结果而扣分。

3适用触发16 / 18 · 4.4/5

材料明确面向 Python 开发者和研究用户,并覆盖代码优化、提示词优化、多智能体、NLP、机器人控制及自适应智能体等不同场景。trainable 标记、装饰器以及显式 optimizer.step() 使触发边界较精确。README 也充分披露研究用途、Beta 状态、大图上下文限制、模型版本问题、高风险领域限制和人工监督要求。环境适配包括 Python 3.9 以上、pip、开发安装、Git LFS、LiteLLM/AutoGen 和多模型配置,但主要围绕单一 Python/环境变量工作流,部署、网络和平台差异说明有限。

4规范维护16 / 18 · 4.4/5

README 结构完整,包含设置、快速入门、教程、优化器、API 配置、评估、限制、贡献和隐私入口;示例覆盖从基础图操作到完整智能体训练。MIT 文本与包元数据一致,维护渠道、安全响应、CLA 和组织归属都很明确。版本变化可从日期更新、Beta 分类及 v0.1.3.5 说明中部分追踪,但没有正式 CHANGELOG、迁移指南或发布兼容策略。命名整体稳定,但同时出现 Trace、trace-opt、opto、TraceGraph 等多个层级名称,且免责声明承认功能未来可能改变。没有专门 FAQ,不过教程和问题报告说明在普通使用中提供了较好的替代。

5有效结果10 / 13 · 3.8/5

PyTorch 风格接口、可视化、丰富反馈、可替换优化器以及代码与提示词联合优化,对构建和调试生成式优化流程具有明显增量价值;示例输出能直接用于训练循环。成本方面,文档指出 OptoPrime 相对 TextGrad 的速度主张、上下文长度问题和模型可靠性差异,但没有系统披露 API 调用量、令牌成本、延迟或资源预算。输出质量依赖 LLM、反馈函数和工作流,且文档明确要求用户自行验证,因此可用性良好但不能视为生产级保证。

6证据核验5 / 8 · 3.1/5

核心方法、比较和评估主张关联到论文、教程、图表及仓库测试,代码示例也能与公开接口相互对应。README、pyproject、CI、测试、安全政策和许可证在身份、安装与基本开发流程上形成交叉佐证。不过性能数字和“fully functional”等较强主张主要由项目自身陈述,给定材料中没有独立复核数据或完整实验配置;静态徽章也不是本次修订的可验证测试证明。事实、经验观察和免责声明大多有明确措辞,但部分推广性表述与实证结论的界线仍不够严格。

证据充分度: 评估于 2026年8月16日 审查版本 8190d032e43f
源码中未见的安全控制:回滚或恢复路径
使用前请注意
  • 优化过程会把执行轨迹和提示内容交给外部 LLM 后端;在处理私密代码、个人数据或机密反馈前,应单独核查提供商、传输范围、日志和保留政策。
  • API 密钥可放入环境变量、配置文件或 JSON 字符串;应避免提交 OAI_CONFIG_LIST 等含密钥文件,并使用受控的密钥存储和轮换机制。
  • 项目明确处于 Beta 和研究用途阶段,优化器可修改可训练代码或提示词;在应用更新前应保存原始版本、审查差异并建立外部回滚点。
  • 不要把 README 徽章、性能表或论文引用视为本修订已独立复现;给定证据未包含执行结果、依赖审计或完整成本测量。
  • 不应将生成结果直接用于高监管、安全关键、法律、金融或生命机会相关决策。
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

Trace 是一个采用类似自动微分机制的 Python 库,用于通过数值奖励、自然语言评价、损失值或编译错误等反馈训练 AI 系统。开发者使用 `node` 声明计算图节点,以 `bundle` 包装可优化的 Python 函数,并可用 `model` 组织智能体。运行工作流时,库会捕获相关操作的执行轨迹,再由 OptoPrime、OPRO 或 TextGrad 沿计算图处理反馈并更新可训练内容。它采用类似 PyTorch 的 `zero_feedback()`、`backward()` 和 `step()` 接口,可同时覆盖提示词与实际 Python 函数。Trace 以本地 Python 库形式运行,通过 LiteLLM 或兼容的 AutoGen v0.2 后端调用模型 API;它并不是托管式智能体服务。项目属于研究用途的 beta 版本,适合能够评估生成结果并保留人工监督的团队。

用户先用 opto.trace.node(..., trainable=True) 标记可修改数据,用 @bundle(trainable=True) 包装可优化函数,或以 @trace.model 定义包含提示词、LLM 调用和普通 Python 逻辑的智能体。Trace 自动记录节点运算和被包装函数,形成计算图;工作流可以通过 trace.operators.call_llm 调用模型,并产出正常返回值或在失败时提供 trace.ExecutionError 中的异常节点。应用将预测结果与目标比较,再把文本反馈、奖励、损失或编译错误交给优化器。OptoPrimeOPROTextGrad 随后通过 zero_feedback()backward(...)step() 更新可训练节点与函数。内置 backward(..., visualize=True) 还能显示计算图。

  1. 正在开发带有多个提示词和 Python 处理步骤的智能体团队,希望依据端到端任务反馈联合优化提示词与代码。
  2. 研究人员复现实验,评估 OptoPrime、OPRO 和 TextGrad 在同一 Trace 计算图接口下的表现。
  3. NLP 工程师处理 BigBench-Hard 一类任务,需要把提示词优化与程序逻辑优化放在同一流程中。
  4. 多智能体研究者在 VirtualHome 环境中研究协作工作流,并希望利用完整执行轨迹提供优化信号。
  5. 机器人研究人员在 MetaWorld 一类环境中,根据完整交互轨迹优化机械臂控制代码。
  6. 编程系统研究者希望将编译错误、性能评价或其他通用反馈用于迭代改写可训练函数。

这个 Agent 有哪些优点和局限?

优点
  • 不仅优化字符串提示词,还能把实际可执行的 Python 函数纳入计算图并联合更新。
  • 接受数值奖励、损失、自然语言反馈和编译错误等多种反馈,不要求传统可微损失。
  • 提供接近 PyTorch 的节点、反向传播和优化器接口,并支持计算图可视化。
  • 同一框架内可切换 OptoPrime、OPRO 和 TextGrad;文档称 OptoPrime 比 TextGrad 快约 2–3 倍。
  • 通过 LiteLLM 或 AutoGen v0.2 支持 OpenAI 与 Anthropic 模型配置,并提供智能体、NLP、多智能体和机器人教程。
局限
  • 项目明确定位为研究用途的 beta 版本,功能和接口未来可能变化,不宜直接假定生产稳定性。
  • 优化过程依赖外部 LLM API、有效凭证和网络访问,因此会产生提供商费用,并受模型可用性与行为影响。
  • OptoPrime 会把完整计算图放入上下文;文档指出超过数百个操作的大图可能遇到上下文长度问题。
  • TextGrad 虽较少受上下文长度限制,但文档指出它在大型计算图上可能非常慢。
  • 效果会随工作流、数据集、查询和响应而变化,生成结果需要人工监督,不适用于错误输出可能造成严重伤害的高度监管领域。
  • AutoGen 支持限定在 v0.2 兼容路径,采用该后端的团队需要维护额外安装项和 OAI_CONFIG_LIST 配置。

如何安装或部署这个 Agent?

需要 Python 3.9 或更高版本。标准安装命令为 pip install trace-opt,默认 LLM 后端为 LiteLLM。若需要兼容的 AutoGen 后端,使用 pip install trace-opt[autogen]。开发安装方式是克隆仓库后在仓库目录运行 pip install -e .;若 Git 无法完成克隆,可能还需安装 Git LFS。

如何使用这个 Agent?

使用 LiteLLM 时,先按提供商设置凭证,例如 export OPENAI_API_KEY="<key>"export ANTHROPIC_API_KEY="<key>",再以 export TRACE_LITELLM_MODEL='gpt-4o' 选择默认模型。最小流程是导入 from opto.trace import node,创建 x = node(1, trainable=True),执行普通 Python 运算,然后调用 z.backward("maximize z", visualize=True, print_limit=25)。优化函数时,以 @bundle(trainable=True) 包装函数,创建 optimizer = OptoPrime(function.parameters()),每轮运行函数并生成反馈,再依次执行 optimizer.zero_feedback()optimizer.backward(result, feedback)optimizer.step()。如需切换后端,在导入 opto 前设置 TRACE_DEFAULT_LLM_BACKENDLiteLLMAutoGen;AutoGen 方式还可通过工作目录中的 OAI_CONFIG_LIST 文件或同名环境变量配置模型与 API 密钥。

这个 Agent 与同类方案有什么区别?

README 将 Trace 与 OPRO 和 TextGrad 对照。OPRO 没有计算图、可执行函数或配套库的概念,因此速度快且可处理大图;TextGrad 支持计算图和库,但不把代码表示为函数,速度也更慢。Trace 同时支持计算图、实际 Python 函数和库接口,并可运行 OPRO、OptoPrime 与 TextGrad;其代价是 OptoPrime 将完整计算图放入模型上下文,大图可能触及长度限制。

常见问题

运行 Trace 是否需要付费模型 API?
框架本身采用 MIT 许可证,但使用 LiteLLM 或 AutoGen 调用 OpenAI、Anthropic 等模型时,需要相应 API 凭证;实际 API 费用取决于所选提供商和模型。
它只能优化提示词吗?
不是。node 可以标记可训练内容,bundle 可包装实际 Python 函数,Trace 还能基于计算图联合优化提示词与代码。
可以替换模型或优化器吗?
可以。模型后端可在 LiteLLM 与兼容的 AutoGen v0.2 之间切换,示例配置覆盖 OpenAI 和 Anthropic;优化器可选 OptoPrime、OPRO 或 TextGrad,也可基于 TraceGraph 实现自定义优化器。
大型工作流有什么已知限制?
OptoPrime 把完整计算图放进上下文,数百个以上操作可能触及上下文长度限制;TextGrad 不受同样的上下文问题影响,但可能明显变慢。
适合在高风险业务中自动决策吗?
不适合无人监督使用。项目要求由用户验证生成内容、保留人工监督,并明确不应把它用于错误输出可能影响人身、法律、财务或人生机会的高度监管领域。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents