Harness 的尽头是品味
最近 Agent 写的代码,review 时要改的东西越来越多。硬编码、魔法数字、抛异常时不给用户友好提示、catch 了又吞掉、内存悄悄上涨、循环里塞着循环——以前偶尔出现,现在几乎每个 PR 都能看到。
Agent 写代码快,但快得没有 engineering excellence。
最近 Agent 写的代码,review 时要改的东西越来越多。硬编码、魔法数字、抛异常时不给用户友好提示、catch 了又吞掉、内存悄悄上涨、循环里塞着循环——以前偶尔出现,现在几乎每个 PR 都能看到。
Agent 写代码快,但快得没有 engineering excellence。
Lately, the code my Agent writes needs more and more fixing on review. Hardcoded values, magic numbers, exceptions thrown straight at the user instead of friendly errors, exceptions caught and swallowed, memory creeping up, loops inside loops — what used to show up occasionally now shows up in almost every PR.
Agents write code fast. Fast without engineering excellence.
设计自主进化系统时,会遇到一个看似简单的选择。
每一轮挑出 best sample,但 best 还没 pass 的时候,下一轮怎么办?
方案 A:把 best 作为下一轮的 base,所有 sample 基于 best 继续进化。
方案 B:每个 sample 保持独立 lineage,best 不影响任何人。
SSD(Simple Self-Distillation)是 Apple 提出的一种自蒸馏方法——从 frozen 模型里多 sample,在自己的原始输出上做 SFT,让模型自我改进。本文讨论的是 SSD 的一个变种场景:inference-time 的 multi-sample selection——多 sample 之后怎么选那个“最优”。
上一篇提出了维度黑客——用合法但非常规的输入,激活 LLM 参数空间中沉默的维度。但那些例子都是人在操作:人构造中英混杂的 prompt,人设计跨域类比,人施加反直觉约束。
如果硅基要自主进化,这个动作必须由 LLM 自己完成。问题来了——
怎么让一个有认知的系统,对自己做认知之外的事?