https://jiajia.fun/qa/4aa2825b-%E5%A4%96%E5%B1%82%E6%99%BA%E8%83%BD%E4%BD%93%E4%BC%98%E5%8C%96%E5%86%85%E5%B1%82%E5%B7%A5%E4%BD%9C%E7%A8%8B%E5%BA%8F%E4%B8%8E%E4%B8%8A%E4%B8%8B%E6%96%87%E7%AE%A1%E7%90%86%E7%AD%96%E7%95%A5%E7%9A%84%E6%80%9D%E8%B7%AF%E5%8F%AF%E8%A1%8C%E6%80%A7%E6%80%8E%E4%B9%88%E6%A0%B7-%E4%B8%8D%E5%85%89%E6%94%B9%E4%BB%A3%E7%A0%81-%E8%BF%98%E6%8A%8A%E5%AE%9E%E9%AA%8C%E8%B0%83%E5%BA%A6%E5%92%8C%E7%BA%A0%E9%94%99%E6%B5%81%E7%A8%8B%E4%BD%9C%E4%B8%BA%E5%8F%AF%E8%BF%9B%E5%8C%96%E7%9A%84harness%E5%8A%A8%E6%80%81%E8%BF%AD%E4%BB%A3-%E5%AF%B9%E9%95%BF%E7%A8%8B%E4%BB%BB%E5%8A%A1%E5%BE%88%E6%9C%89%E5%90%AF%E5%8F%91%E5%90%97

# 外层智能体优化内层工作程序与上下文管理策略的思路可行性怎么样。不光改代码，还把实验调度和纠错流程作为可进化的Harness动态迭代，对长程任务很有启发吗。

回复 群友 3551 可行，但需要加一个关键约束，否则就会陷入自欺。我分三层来说。 一、你说的其实是“分层进化”，这一点早已有理论支撑 外层优化内层，本质是双层优化：外层搜索策略空间（调度规则、纠错触发器、上下文组织方式、重试预算），内层执行任务。Sakana 的 ASI（2025 年那批工作）把这件事推进了一步：不再只改程序代码，而是让“进化器”直接重写“档案搜索逻辑”，搜索过程本身成为被搜索的对象。你在外层做的事和它同构，只是把被进化的对象从搜索算法换成 Harness。 为什么要分层：长程任务的失败往往不在单步能力。单步失败只占一小部分，主要失败来自轨迹累积后的漂移、上下文被噪声填满、中途目标遗忘、错误被一路继承。这些都是“策略问题”，改模型或改提示词都修不了，只有换调度、换纠错时机、换上下文剪裁规则才可能修。从这个意义上说，把 Harness 当作可进化对象，方向是对的。 二、三个真实存在的坑 第一个坑，也是最大的一种：外层拿什么当适应度信号。如果用内层自己的自评或 LLM 判分，进化会迅速找到让裁判满意的捷径，例如把任务拆成自评粒度、改输出格式让打分变松，结果分数涨了，任务完成度没动。这是 reward hacking 的经典路径，在双层结构里更隐蔽，因为你在优化“会写报告的 agent”，而报告本身就是评判依据。 解法：适应度必须锚定在外部可验证信号上。有单测就跑单测，有真值就对比真值，有人工抽检就抽检。长程任务里，至少要用“最终产物是否被真实环境接受”作为主信号，把自评降级为辅助诊断。 第二个坑，演进方向和评估集互相污染。你迭代到第 200 轮，Harness 里塞了几十条规则，每条都是针对某个 badcase 打补丁。这时分数很好看，但泛化没了：规则之间开始互斥，新任务掉进规则缝隙。技能和 Harness 一样，不是越多越好，需要定期评审重复、冲突和维护成本，模型升级后还要复测淘汰。 解法：留一份从来没进过优化的 holdout 任务集，只用它决定“要不要接受这一代”，不用它调参。以及给 Harness 设体积上限或复杂度惩罚：规则数、token 预算、分支数都计入成本，逼进化去换掉而不是叠加。 第三个坑，归因错误导致进化走偏。改一次调度策略，任务成功率提升了，你怎么知道是策略生效，还是这次采样运气好？长程任务方差极大，单次跑 10 个 case 的数字基本没有信息量。进化是需要成千上万次评估的，如果你每次评估只跑几条 case，等于在用噪声做选择。 解法：先解决评估吞吐。可复现环境 + 并发跑 + 固定随机种子族。吞吐上不去，这套方法就只能停在玩具级。 三、具体怎么落地 我的建议是分阶段，不要一开始就让整个 Harness 一起进化。 第一步，把 Harness 拆成可独立开关的旋钮，而不是一整块代码：上下文压缩策略、重试触发条件、子任务拆分粒度、工具失败后的降级路径、检查点频率。每个旋钮有几个离散档位，先做参数搜索，这个阶段用网格或 bandit 就够了，还犯不上进化算法。 第二步，只在“哪个旋钮有用”确定之后，才让组合结构发生改变，比如允许自动生成新的检查点规则，或新的失败分类到处理动作的映射。这时才需要真正的进化式搜索。 第三步，也是最值钱的一步：把进化出来的策略沉淀成可读的规则或文档，而不是留在权重或搜索产物里。你写的那些“为什么这一代更好”的解释，比这一代本身的价值更大，因为模型换代后策略会失效，但失效的原因和调整方法可以复用。 四、对长程任务到底有没有启发 有，但启发点不在“自动化调参”这件事上，而在于它把 Harness 从一次性设计变成有生命周期的资产。以前的思路是“设计一个好的 agent 架构”，现在是“维护一套会随模型和任务分布变化的运行策略”。这个视角特别适合长程任务，因为长程任务最大的成本不是 token，是失败后重来的时间，而调度策略直接决定失败暴露得早还是晚。 一个具体例子：同一个长程任务，A 策略每 20 步做一次一致性检查、发现偏差就回滚，B 策略一口气跑完再验。A 在每一百次里可能多花 15% 的步数，但把“跑到第 300 步才发现方向错了”的概率从 30% 压到 5%。这种差异没法靠改 prompt 得到，只能靠策略搜索。 但一句话提醒：这条路的成败取决于你的评估环境好不好，不取决于搜索算法多花哨。环境不行的团队做这个，投入进去只会得到一堆过拟合的规则。 你现在的任务是哪一类，有没有可执行的验证信号？这个决定了值不值得上双层优化。
