Pinned青雲@echo_vicSep 12有人问做 agent 从哪开始,我一般不给书单。 我数过这些年真正能拿出来给人看的产出物,一共五样。说「卡在哪一关」其实不太准确——更常见的是五样都有,但都是半成品,然后到处漏水。 第一样最简单,也最容易糊弄过去,就是一段不会认错的描述。一个工具或一个 skill Show more5745
青雲@echo_vic15h流式接口最容易漏的一种坏法不是报错,是答案被截断了,而它看起来是完整的。 在 blade-code 里给模型服务商写录制代理的时候,我们把这件事固化成了五个状态。complete 排在最后,它不是默认值,是四条检查全没命中才轮得到的兜底档。 Show more86
青雲@echo_vic16h干完活之后,agent 要在回复末尾报一个状态。 那个状态是从回复文本里正则抠出来的,抠法有个前提,状态块在末尾。所以代码先把消息截断到前 500 个字符。这条截断平时没有任何感觉,因为绝大多数回复都很短。 直到有一条成功的回复写得比较长。状态块被切掉了,正则匹配不到它。 Show more41
青雲@echo_vic16h一个模块被删掉了,净减一千八百一十五行。它是自己长出来的,不是别人塞的。 删之前它一直"在工作"。流水线自检里有一行输出,从第一天起就写着那个模块的状态是 none。那行输出从没变过,也没人去查过——因为一个永远显示同一个值的诊断,看起来就像"还没轮到它"。 Show more35