Weco 自动研究优化器
用评估指标驱动树搜索,自动迭代优化代码、提示词与模型流程。
按维度查看评分与理由
默认不自动应用最佳修改,并提供审查、差异、停止、恢复和源码快照机制,体现了一定的确认与恢复设计;命令的文件修改、评估执行、仪表板交互及付费操作也有说明。扣分原因是工具可执行用户指定的任意评估命令和反复改写源码,却未描述沙箱或权限收缩;发送给 Weco、模型供应商、LangSmith 或其他服务的具体代码与遥测范围不透明;API 密钥的存储、屏蔽、轮换和日志防泄漏措施未说明。依赖大多未锁定版本,也没有漏洞扫描或更新策略证据,不过发布使用 OIDC 与 Sigstore 签名。项目、算法及外部基准有署名,但发布者身份仍属未验证且上游镜像责任边界不完全清楚。
README 详细说明了 observe 的退出码、重试和 strict 模式,测试覆盖参数校验、非交互失败及后端分派,因此失败反馈获得较高但非满分评价。扣分主要来自静态材料中的明显不一致:README 的 Python 3.8+ 徽章与 pyproject 的 Python >=3.10 冲突;模型表宣称未指定时自动选择最佳模型,但参数表又给出固定默认模型。依赖无锁文件、多个最低版本或完全无版本约束,外部服务和模型可用性的降级策略也未完整交代。
材料明确覆盖代理工具链、提示词、机器学习、CUDA/Triton 和通用性能优化,并提供单文件、多文件、自定义指标、模型选择、外部实验观察以及多个编辑器代理的接入方式,受众与场景说明充分。边界方面说明了反引号限制、恢复适用状态、超时、设备差异和实验性 setup,但没有系统描述不适合的项目、危险评估命令隔离或服务不可用时的边界。CLI 参数和自然语言触发示例较明确;环境覆盖 macOS、Linux、Windows、pip 和源码安装,但 Python 版本冲突及缺少更完整的平台依赖矩阵导致扣分。
README 的安装、快速入门、参数表、命令参考、运行管理、日志布局和大量场景示例构成了清晰的信息架构;完整 Apache-2.0 文件与元数据一致,安装说明尤其充分。扣分在于缺少专门 FAQ 和系统化限制清单,部分命名或默认值说明互相冲突;虽有 0.4.0 版本和自动发布流程,却没有提供变更日志或迁移说明。Weco AI Team、联系邮箱和发布工作流表明维护入口存在,但主分支被描述为上游真源的镜像,却未标明该上游位置或清楚划分维护责任。
面向程序使用的 JSON 状态与结果、统一差异、最佳节点查看、日志索引、快照、恢复及人工审查命令,使输出具备较强的可消费性。其自动搜索并以用户指标优化代码,相比手工迭代具有可信的潜在增量价值,且示例覆盖多类任务;但“production-grade”和性能收益主要是说明性主张,所给测试只覆盖 LangSmith 参数与命令构造,不能充分支撑整体效果。材料坦承复杂任务可能耗时数十小时,并提供步数、模型和余额控制,但未给出定价、典型 token/算力消耗或清晰的收益阈值,因此成本效益未获满分。
许多操作性主张可追溯到具体命令、参数、日志结构、测试和发布工作流,README、pyproject、测试及 CI 之间也对包名、CLI 入口、许可证和部分集成功能形成交叉印证。扣分是核心优化质量、生产级别和广泛模型可用性缺少同批源码或测试的充分佐证,外部基准只在 README 中被引用;同时 Python 要求和默认模型存在跨段落矛盾。文档会标注实验性功能、限制及外部报告,事实与建议总体有所区分,但营销性结论没有始终明确标为未经本次静态审查验证的推断。
- 该工具会反复修改指定源码并执行用户提供的评估命令;应仅在隔离环境中运行,先审查命令,并保留独立版本控制备份。
- 在登录、BYOK、observe、LangSmith 或仪表板流程中提交敏感代码或数据前,应先确认各服务实际上传内容、凭据存储方式、保留期限和删除机制。
- 不要依赖 README 的 Python 3.8+ 徽章;pyproject 明确要求 Python >=3.10,模型自动选择与固定默认值的说明也应在部署前实测确认。
- 依赖未被完整锁定;生产采用前应生成锁文件、执行供应链和漏洞扫描,并核验远程安装脚本,而不是直接管道执行。
- 成本可能随模型、步数和长时间评估显著增长;启用自动充值或大规模运行前应设置预算、超时和资源上限。
这个 Agent 能做什么,适合哪些场景?
Weco 是一个面向可量化目标的 Python CLI,通过 LLM 引导的树搜索反复修改并评估代码。核心入口 `weco run` 接收单个或多个源码文件、评估命令、指标名称和最大化或最小化目标,并保存各轮候选方案与结果。它适用于智能体脚手架、提示词、机器学习训练流程以及 CUDA、Triton 等性能代码,但用户必须提供能够输出数值指标的评估程序。除托管优化循环外,`weco observe` 还能记录外部智能体、脚本或人工实验,在 Weco 仪表盘中展示分支树、代码差异和指标。产品边界是本地 CLI 与 Python 工作流配合 Weco 服务或自带模型供应商密钥;源码和评估命令在用户的执行环境中运行。
weco run 读取 --source 指定的单个文件或 --sources 指定的多个文件,调用所选 LLM 生成修改,再执行 --eval-command。评估命令必须在 stdout 或 stderr 中打印 --metric 对应的数值;Weco 解析该值,根据 --goal maximize 或 --goal minimize 继续树搜索,并将候选代码、指标和可选执行日志写入 .runs/。weco run status、results、show 和 diff 用于检查运行,instruct 可在运行中调整指令,stop 可保留搜索树并终止任务;审查模式还提供 review、revise 和 submit。中断的任务可用 weco resume <run-id> 从最近节点恢复,--apply-change 可自动把最佳结果写回源文件。若优化循环由其他工具控制,weco observe init 和 weco observe log 可上传步骤说明、指标及源码快照进行追踪。
- 维护 LLM 智能体的工程师,在已有准确率、胜率或成本评测时,联合优化提示词、工具配置和智能体脚手架。
- 提示词工程师,希望压缩或改写提示词,同时用胜率、相关性或格式遵循率约束效果。
- 机器学习研发人员,拥有可重复的验证脚本,需要搜索特征变换、模型架构或完整训练流程。
- CUDA 或 Triton 开发者,能够测量延迟、吞吐量或内存带宽,希望自动探索内核实现。
- 已有自定义智能体或人工实验循环的团队,希望用
weco observe集中查看实验树、代码差异和指标,而不交出循环控制权。
这个 Agent 有哪些优点和局限?
- 优化目标由用户的真实评估命令和数值指标决定,可用于准确率、成本、延迟、吞吐量等不同目标,而非局限于静态代码建议。
- 支持单文件与多文件联合修改,并提供结果排序、节点详情、统一差异、审查、修订、提交和中断恢复等完整运行管理命令。
- 模型选择覆盖 OpenAI、Anthropic、Google Gemini、托管开放模型及 Concentrate AI 路径,也允许通过
--api-key自带密钥。 weco observe可以只承担实验记录和可视化,不要求团队把现有优化循环迁移到 Weco 控制之下。- 提供 Claude Code、Cursor、Codex 和 OpenClaw 的技能安装命令,可由编码助手协助建立评估、配置运行并解释结果。
- 必须自行设计可靠、可重复且能打印数值指标的评估命令;评估质量不足会直接限制搜索结果的可信度。
- 复杂研究任务可能需要数十小时和大量优化步骤,带来模型调用、计算资源及 Weco credits 成本。
- 工具会自动修改源码并执行评估命令,因此需要可隔离、可恢复的本地运行环境;使用
--apply-change时还会直接写回最佳方案。 - 当前不支持待优化代码中的反引号,迁移现有源码前可能需要清理。
- 超出 51,000 个字符的评估输出会被截断,因此指标应靠近输出末尾;否则解析可能受到影响。
如何安装或部署这个 Agent?
运行环境要求 Python 3.8.0 或更高版本。macOS 或 Linux 可执行:
curl -fsSL https://weco.ai/install.sh | shWindows PowerShell 可执行:
irm https://weco.ai/install.ps1 | iex也可跨平台安装 Python 包:
pip install weco源码安装方式:
git clone https://github.com/wecoai/weco-cli.git
cd weco-clipip install -e .
首次使用托管服务时运行 weco login。也可以在运行命令中用 --api-key provider=key 提供一个或多个模型供应商密钥。为编码助手安装技能可使用 weco setup claude-code、weco setup cursor、weco setup codex、weco setup openclaw 或 weco setup all。
如何使用这个 Agent?
先准备待修改源码和一个可执行的评估脚本。评估脚本必须输出指标名称及数值,例如 speedup: 1.5。最小调用示例:
weco run --source module.py --eval-command "python evaluate.py --path module.py" --metric speedup --goal maximize --steps 10多文件任务可改用:
weco run --sources model.py utils.py config.py --eval-command "python evaluate.py" --metric accuracy --goal maximize --steps 10运行后可用 weco run status <run-id> 查看状态、weco run results <run-id> --top 5 获取排序结果、weco run diff <run-id> --step best 查看最佳差异。需要自动写回最佳方案时添加 --apply-change;中断后执行 weco resume <run-id>。外部实验循环可先执行 weco observe init --name "my-experiment" --metric val_bpb --goal min --source train.py,再通过 weco observe log --run-id <run-id> --step 0 --description "baseline" --metrics '{"val_bpb": 2.36}' --source train.py 记录步骤。
常见问题
使用 Weco 是否需要付费?
weco credits balance、weco credits topup 和 weco credits autotopup,说明托管运行涉及 credits。也可通过 --api-key provider=key 使用自己的模型供应商密钥,但来源没有给出具体价格。它会读取和修改哪些文件?
--source 或 --sources 明确指定。Weco 会为这些文件生成候选修改、运行评估,并可把快照和日志写入 .runs/;只有启用 --apply-change 时才会自动将最佳版本写回源文件。评估失败或网络暂时异常时怎么办?
weco run 的中断任务可通过 weco resume <run-id> 恢复。weco observe log 会重试 Weco 侧的临时故障并默认以成功状态退出,但参数错误、文件不可读、未登录或请求被拒绝仍会返回非零;添加 --strict 可让服务侧故障也成为致命错误。必须使用某一家模型供应商吗?
--model 选择模型或让 Weco自动选择。部分 Claude 模型通过 Vertex AI 提供,因此具体供应路径并不完全一致。是否适合没有客观指标的代码任务?
weco run 要求评估命令输出可解析的数值指标,并以最大化或最小化该指标来指导搜索。