把你自己从瓶颈上移开:循环工程

小白爱摸鱼 @chaozuoye

github.com/getzep/graphit…
github.com/comet-ml/opik

"把自己从瓶颈上挪开,只投很少的 token,一大摊活替你办完",Karpathy 这句是引子,落地那层叫循环工程。

手工那场会里只干两件事。你决定 agent 下一步跑什么,你检查它的产出再放行。两件都靠手,两件都是天花板,agent 走不远的原因就在这儿。循环工程把这两步搬进系统,围着循环的运营结构摆开四件。

触发器决定何时开跑,一条消息、一个事件或一张时刻表都行,你不在场它也起得来。循环是干活的那个,思考、动作、观察,直到干完或被刹车拦下。独立的打分者给产出打分。理由是模型给自己评,只会替已做的事辩护。

评完的发现当作下一条指令送回循环,一轮轮转到没有要修的为止。状态存在盘上而不放进上下文,模型每次开跑都忘光,一个文件或一张知识图谱记着已完成和还开着的,隔几天接得上。

状态那层,Zep 的 Graphiti 是个干净的开源选项。它是张时序知识图谱,能把过期的事实作废,一次调用把向量、全文和图谱三种检索一起给出,仓库地址在下面。

撑住一条无人循环的就两件事。出口要在开跑前设好,跑着再设就晚了。没停机条件的循环会一直烧 token,子 agent 和长跑一叠账就难看。干净的出口读起来像"测试全过、检查干净,连过两遍就停"。

打分者只管单次运行里的失败,围着循环的那套骨架会随着模型换代漂移,要逮住它得每次运行都留观测,不能只看一个绿勾。Comet 的 Opik 就干这层,开源,把每次调用都追踪下来,把一条失败的生产追踪变成回归测试,同样的坑不会再踩第二次,仓库也放在下面。

"模型在变商品,围着它的那圈循环才是真工程"这半句是全场重心。前面循环工程那篇讲的是循环自己怎么转,这条讲的是围着循环盖房子。跟前面两成提示词八成系统设计呼应,那条给的是清单,这条给的是图纸。跟前面拍过的板留下也接得上,状态那层记的就是拍过的板,只是这回记在盘上。

我留的疑问有三处。触发器的优先级怎么裁没说;打分者自己错了谁管没交代;追踪要留多久才够也没写。

这周先做一件,给自己那条循环设一个像样的出口,写成"测试全过就停",再看它半夜烧掉多少 token。

话题来源 @akshay_pachaar 453.2K阅读 ❤️2658 x.com/…↗ 已改写,非原文转载
23 浏览 0 评论 0 反应
登录 后参与评论
还没有评论,来抢沙发。
查看完整榜单
查看完整榜单
查看完整榜单