资讯动态

两个直接可用的Meta-Agent模式:Shepherd实现 best_of_n 与 retry-until-acceptable 实战

发布时间:2026/10/4 5:15:09 来源:尧图企业网站定制
两个直接可用的Meta-Agent模式Shepherd实现 best_of_n 与 retry-until-acceptable 实战【免费下载链接】shepherdA runtime substrate that turns an agents execution into a reversible, Git-like trace, so meta-agents can observe, fork, replay, and revert any run. Couples agent and environments in a copy-on-write fork ~5x faster than docker commit, with ~95% KV-cache reuse on replay. Framework built for meta-agents to supervise, optimize, and train other agents项目地址: https://gitcode.com/gh_mirrors/shepherd16/shepherdShepherd是一个为 Meta-Agent元代理设计的运行时底座它把 Agent 的每次执行记录成可逆、可 fork 的 Git 式执行轨迹让上层 Meta-Agent 能够观察、比较、回滚任意一次运行。围绕Agent 输出不可预测这一痛点仓库内置了两个开箱即用的 Meta-Agent 决策模式——**best_of_n多候选择优**与retry-until-acceptable重试直到可接受本文带你读懂它们的工作原理并直接跑起来。为什么 Meta-Agent 需要这两种模式大模型 Agent 的输出天然带有随机性同一个任务跑三次结果可能完全不同。Meta-Agent 要监督、优化、训练下层 Agent就必须回答两个经典问题多个候选结果留哪一个→best_of_n结果不合格如何修正并再来一次→retry-until-acceptable在传统方案里你只能拿到一个最终文件无法比较、无法回退。Shepherd 把每次运行变成一份保留输出retained output候选结果被安全地扣在一旁你可以审查它的变更集Changeset满意才合入不满意就丢弃而整个过程的痕迹都记录在可查询的 trace 里。模式一best_of_n —— 跑 N 个候选用证据选出赢家best_of_n的核心流程只有四步并行生成 N 个候选同一个任务从同一仓库起点 fork 出 N 份副本分别执行互不干扰保留全部输出每个候选的结果都不直接落盘而是作为保留输出被托管用 Changeset 评判Meta-Agent 通过每个候选的变更集改了哪些文件、写了什么内容打分而不是盲信返回值结算Settlement赢家执行select合入工作区落选者显式release或discard。在示例 examples/workspace-handles/best_of_n.py 中候选生成任务被注册进工作区随后三个候选alpha/winner/omega各自带着分数写入candidate.txtMeta-Agent 读取变更集中的内容打分并选出最高分# 同一任务 fork 出 N 个保留候选placementauto 记录真实隔离级别 runs [ task.run(repocopy_git_repo(repo), labellabel, scorescore, placementauto) for label, score in ((alpha, 10), (winner, 99), (omega, 20)) ] winner max(outputs, keylambda o: review[o.output_id][score])评判与结算发生在 best_of_n.py#L46-L59selection workspace.select(winner) # 赢家合入 released workspace.release(losers[0]) # 落选者释放 discarded workspace.discard(losers[1]) # 落选者丢弃下图来自仓库的可视化示例examples/notebooks/visual_artifact/同一任务 fork 出两个变体左侧 contour-map 变体通过评审被保留retained右侧 uphill-path 变体因方向错误被拒绝并丢弃——这正是 best_of_n保留全部、择优结算的画面化呈现。模式二retry-until-acceptable —— 不合格就释放修正后重跑retry-until-acceptable解决的是另一个问题候选输出不合格时如何优雅地重来。它的循环是跑一次得到保留输出检查输出内容本例通过 Changeset 读取candidate.txt是否包含accepted不合格 →workspace.release(output)释放该候选携带修正信息重新运行合格 →workspace.select(output)结算合入循环结束。关键在 examples/workspace-handles/retry_until_acceptable.py#L35-L57first task.run(repocopy_git_repo(repo), labelfirst, score10, acceptedFalse) if accepted not in candidate_text(first.output()): workspace.release(first.output()) # 不合格候选被释放不污染工作区 second task.run(repocopy_git_repo(repo), labelsecond, score90, acceptedTrue) workspace.select(second.output()) # 合格候选结算合入注意一个反直觉的细节被拒绝的候选并不会失败后消失——它在 trace 里有完整记录release只是显式的结算动作。这意味着 Meta-Agent 事后可以复盘第一次错在哪、修正了什么才通过。仓库的 Pipeline Recovery 可视化示例展示了这种v1 被拒 → 修正后重试通过的前后对比重试的失败分类与重试边界在哪个步骤断点重来由 recovery_core.py 中的classify_failure给出它输出失败类型、出错步骤、证据、重试边界和推荐修正——这正是 Meta-Agent 做自动恢复决策所需的全部结构化信息。跑起来两条命令两个模式都是独立的 Python 脚本无需 API key示例使用确定性 provider。克隆仓库后本地环境uv run python examples/workspace-handles/best_of_n.py uv run python examples/workspace-handles/retry_until_acceptable.py每个脚本默认创建临时 vcs-core 工作区、运行示例、打印 JSON 摘要后自动清理加--keep可保留临时工作区供检查加--workspace PATH可指定已有工作区。详细说明见 examples/workspace-handles/README.md。这两个模式为什么直接可用它们的价值不在于几十行示例代码本身而在于底层机制已经替你处理好了几件难事候选天然隔离每次运行从仓库副本 fork候选之间、候选与工作区之间互不污染copy-on-write比容器docker commit快约 5 倍评判有据可查Meta-Agent 通过 Changeset 这个结算评判面审查候选而非盲信返回值见 _support.py#L109-L118结算词汇表统一select/release/discard/apply四种动作覆盖保留、释放、丢弃、合入已前进的工作区且每个决定都会写入结算证据全程可追溯运行的每一次边界穿越权限、写入、结算都是 trace 中的类型化事件shepherd run trace、shepherd run changeset即可回放详见 docs/shepherd/concepts/runs.md 与 docs/shepherd/concepts/effects.md。总结模式适用场景核心动作示例入口best_of_n输出有随机性需要赛马N 个保留候选 → Changeset 评判 → 择优 selectbest_of_n.pyretry-until-acceptable输出需过质检不合格要修正重来检查 → release → 带修正重跑 → selectretry_until_acceptable.py对 Meta-Agent 开发者来说这两个模式展示了 Shepherd 的核心哲学Agent 的每次输出都是可比较、可回退、可审计的提案而非不可撤销的事实。把这套保留—评判—结算的循环套进你的工作流监督、优化甚至训练下层 Agent 就有了可靠的地基。【免费下载链接】shepherdA runtime substrate that turns an agents execution into a reversible, Git-like trace, so meta-agents can observe, fork, replay, and revert any run. Couples agent and environments in a copy-on-write fork ~5x faster than docker commit, with ~95% KV-cache reuse on replay. Framework built for meta-agents to supervise, optimize, and train other agents项目地址: https://gitcode.com/gh_mirrors/shepherd16/shepherd创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑