Agent 工程化(一):从 ReAct 到 Harness——Agent 的骨架是怎么搭出来的
能做和能上线之间,隔着一条叫”可靠性”的鸿沟。 ChatGPT 刚出来那会儿,很多人都有过一种错觉:这东西太强了,给它接上 API、挂上工具,是不是就能代替人干活了?我自己也这么想过。你让它帮你查个天气、订个外卖,它确实能聊得头头是道,感觉离”数字员工”就差一步。 但真动手做过 Agent 项目的人都知道,从”能聊天”到”能干活”这一步,远比想象中难。差距不在提示词写得好不好——Chatbot 只需要把话说对,Agent 还要把事做对。前者出错了你最多翻个白眼,后者出错了你可能是数据库没了。 所以一个能干活的 Agent,最小可行结构是什么样的?从 Demo 里跑通一个 Agent 到真正把它推上生产,中间到底缺了什么?这篇文章想聊聊这件事。 先从最基本的结构讲起。不管外面包装得多花哨,一个 Agent 的核心循环其实就这么简单: 12345while not done: thought = llm.think(context) # 想 action = llm.decide(thought) # 决定做什么 observation = ...
Agent 工程化(三):编排的本质——从单 Agent 到多 Agent 协作
编排不是让 Agent 变得更聪明,是让它们各自做对的事。 你的 Agent 已经会查数据库了,会写代码了,会发通知了。单看每一项都还不错。但当你让它同时做这三件事——先从数据库查出问题,写一段修复代码,再发邮件通知相关人员——事情就开始失控了。上下文窗口塞满了数据库 schema、代码规范、邮件模板,Agent 开始用写代码的逻辑去组织邮件内容,或者在应该发通知的时候跑回去重新查一遍数据库。你不禁怀疑:这东西单独用的时候明明挺靠谱的? 单 Agent 的瓶颈不是能力不够,是上下文和角色冲突。一个人再强,也没法同时当产品经理、工程师和测试——你脑子里同时装三套完全不同的指令体系、工具描述和历史记录,最后的结果一定是互相干扰。Agent 也一样。 那什么时候该拆成多 Agent?怎么编排?拆完之后怎么保证不翻车? 这三篇系列走到这里,第一篇搭了骨架,第二篇注入了知识,这一篇想聊的是——当骨架和知识都不够用的时候,怎么通过编排让多个 Agent 分工协作。 先说清楚一件事:为什么要拆。 答案不是”多个 Agent 更厉害”。说实话,如果你的任务足够聚焦、上下文足够干净,单个 Ag...
Agent 工程化(二):RAG 不是搜索——让 Agent 真正"懂"你的数据
检索是找到文档,RAG 是让模型基于文档生成正确的回答——这两者之间的距离,就是一整套工程系统。 你让一个 Agent 去查公司的退款政策,它可能会给你两个结果:要么编一个听起来很合理的规则——“7 天无理由退款,需保持商品完好”——但它其实是从训练数据里某个电商 FAQ 学来的,跟你公司一点关系都没有;要么它确实找到了你们公司的退款政策,但那是 2023 年 3 月的旧版本,早在去年 9 月就已经改过了。 这就是 LLM 最根本的两个知识缺陷:知识有截止日期,而且它不知道你公司内部发生了什么。训练数据再丰富,也覆盖不了你企业知识库里的那几十万份文档、不是昨天的产品变更、不是只有内部员工才看得懂的术语表。 上一篇我们聊了 Agent 的骨架——LLM + Tools + Memory + Harness。骨架搭好了,但光有骨架的 Agent 就像一个什么都不知道的新员工:它能用工具、能执行流程,但问它任何业务相关的问题,它要么说”我不知道”,要么更危险——假装知道。 所以怎么让 Agent 真正”懂”你的数据?答案指向一个被说烂了但很少被说清楚的词:RAG。问题在于,大多数人...
香港之行
香港之行 有些地方,你去了之后才明白为什么那么多人想去。 五月底,趁着毕业前的空档,和一个朋友约了趟香港。从太原出发,经昆山、宁波,上海、香港、澳门,最后从珠海飞回——五天四城,行程紧凑得像在跑一场接力赛。 路线整趟行程大概是这样的:先从太原到昆山短暂中转,然后坐火车到宁波玩了两天,然后火车去上海浦东,第二天一早飞香港。在香港待两晚,坐大巴去澳门住一晚,最后从珠海飞回。 这趟行程最折腾的是交通——火车、飞机、大巴、轻轨全凑齐了。但说实话,穷学生嘛,折腾才是常态。 宁波在去上海之前,先在宁波停了两天,和东哥、谷哥、超哥碰了面。几个人好久没聚,一见面就是熟悉的互损模式,好像从来没分开过一样。 去了天一阁,说是中国现存最老的私家藏书楼,始建于明朝嘉靖年间。走进去的第一感觉不是”哇好多书”,而是——安静。院子里的树很老,石板路被磨得发亮,空气里有一种旧书和木头混在一起的味道。范钦当年建这个藏书阁的时候立了条规矩——“代不分书,书不出阁”,意思就是书是家族的共同财产,谁也不能拿走。几百年下来,战乱、火灾、盗窃都没能把它毁掉,这份对书的执念,放在今天来看简直是不可思议的。 其实最让我感慨的...
善护念:自我管理,管的是念头
善护念:自我管理,管的是念头 “云何应住,云何降伏其心?” —— 《金刚经》 须菩提问佛陀:云何应住,云何降伏其心——这颗心,到底该怎么安放,怎么降伏?问完之后,他自己加了一句赞叹:”如来善护念诸菩萨,善付嘱诸菩萨。” 佛陀开口说的第一句话,不是道理,不是法门,而是一句看似什么都没说的回答:”善男子、善女人,发阿耨多罗三藐三菩提心,应如是住,如是降伏其心。“ 应如是住,如是降伏其心——就这样安住,就这样降伏你的心。 你刚才聚精会神问我的时候,你的心不就是安住的吗?它不就是降伏的吗?答案已经在你身上了。 须菩提没有意识到,他在恭敬合掌、专注提问的那个时刻,心念已经很自然地”住”在了那个当下。不需要额外来一个方法,不需要另外找一个技巧。能听到自己的一呼一吸,能问出一句真心想问的话,那种”完全在听、完全在问”的专注,这件事情本身就是答案。 然后佛陀才开始展开后面一切——人相我相、不住布施、凡所有相皆是虚妄、应无所住而生其心——在”如是”的基础上搭出了整部《金刚经》。落到最实处的就是那四个字,应无所住而生其心。惠能当年在客店听见有人念这句,当场就悟了。 后来南怀瑾说,佛陀讲了这么多,但...
标签:互联网时代的一维化解法
标签:互联网时代的一维化解法 “你对我的解读,构不成万分之一的我,而构成了一览无余的你。” 小学的时候,有一次机会去同学家做客。这个同学的成绩在我们班排倒数第一,平时你在教室里看他,标签很清楚——“差生”,不爱学习,上课走神,考试垫底。到此为止了,这个标签已经足够让大多数人停止继续观察他。 但那天去到他家里,我看到的是另一个人。 他爸做饭特别厉害,厨房里忙活了一下午,端出来满满一桌子菜,每一道都很用心。他爸妈对他说话的语气很温和,家里的气氛是暖的。他很机灵——打游戏反应极快,操作比我们所有人都溜。他脾气好,被开玩笑也不急眼,笑呵呵的。他在自己家里是松弛的、立体的、闪闪发光的人。 我那时候还小,说不出什么大道理,但心里种下了一个印象:原来”差生”这个标签,只能覆盖他众多切面里最不重要的一角。 而他在教室里被定义的那个版本,甚至不是真实的他——那是他被塞进一个狭窄标签之后,不得不扮演的角色。 这件事后来成了我心里一个锚。每当我想快速判断一个人的时候,它会把我的判断往回拉一拉。 标签的本质不是分类,而是停止观察互联网把标签变成了一种通用语言。你去任何一个社交平台,评论区、个人简介、...
直觉:身体知道的,比大脑多
直觉:身体知道的,比大脑多 “我们知道的多于我们能言说的。” —— 迈克尔·波兰尼 写代码的时候,有时候你会有一种奇怪的感觉:说不上来为什么,但你就是觉得这段代码会出问题。不是 bug 已经冒出来了,而是在它还没发作的时候,身体先告诉了你——“这块不对”。 你会停下来,重新读几遍。有时候当场找到问题,有时候隔几天真的在那附近爆了个雷。而另一种情况是,代码写完了,跑得好好的,但你总觉得某个地方”写得不够好”,有一种隐隐的不安或者别扭。回头看,往往是那个地方的抽象不对、命名不顺、或者埋了一个未来会咬你的坑。 这种事情经历多了,你开始信任这种感觉。你不会给它起名字,只在心里觉得”嗯,我好像对代码有一点感觉了。” 另一种场景是选 offer。你画了一整张表格,薪资、成长空间、团队氛围、通勤距离、公司规模……逐个打分,加权求和。表格告诉你选 A,但你就是不想选 A。你对 B 有一种说不上来的偏向——可能 B 钱少一点,平台小一点,但你在 B 的面试里聊得更舒服,或者 B 做的事情让你觉得**”更有意思”**。表格是公平的,但你心里不服表格。 如果表格和内心的偏向指向同一个方向,你就是笃定...
从《搏击俱乐部》聊起
从《搏击俱乐部》聊起 “你拥有的东西最终会拥有你。” ——《搏击俱乐部》 最近又把《搏击俱乐部》翻出来看了一遍,说实在的,第一次看的时候关注的都是那些很刺激的场面,打斗啊,反转啊,Tyler Durden有多酷啊之类的,但是这次重看,反倒被一些很安静的镜头击中了。 有一个场景是主角站在自己被炸掉的公寓废墟前,那些他一本一本从宜家目录上精心挑选的家具,那些构成了他”体面生活”的一切,全没了。但是他的表情不是崩溃,反倒有一种说不上来的……轻松? 我当时就愣了一下,因为这种感觉其实挺熟悉的。 你有没有过那种时刻,打开手机准备买点什么,但突然意识到自己其实根本不需要它,只是最近有点焦虑,或者有点无聊,或者刷到了某个帖子让你觉得”好像我也该有这个东西”?我就经常这样,每次收到快递拆开那一瞬间是开心的,但这种开心大概维持不了半天,然后东西就放在那里,慢慢变成生活背景的一部分,你也分不清它到底是丰富了你的生活,还是只是占了一个位置。 《搏击俱乐部》里其实一直在讲这个事。主角的公寓像一本被复制出来的生活方式杂志,每一件东西都”对”,都在告诉别人”我是一个有品味的人”,但他自己却失眠、空虚,每天...
后AI时代:我们所以为的信息平权,从来都不是真的
长久以来,我们都沉浸在”互联网实现了信息平权”的认知里——觉得只要有网络、有设备,人人都能搜到想要的信息,都能站在同等的信息起跑线上。可随着AI大模型时代到来,当技术抹平了表层的信息获取门槛,藏在水面之下的真实不平等,才渐渐浮出水面。我们如今谈论的信息平权,早已偏离了原本的核心,所谓的公平,不过是一层看似美好却不堪一击的外壳,真正的信息平权,在当下依旧遥不可及。 一、信息平权的核心早已转移:从渠道平权,到数据源垄断前AI时代的信息平权,是停留在表面的渠道平权。互联网普及后,搜索引擎、各类平台打破了信息传播的地域与阶层限制,无论普通人还是企业,都能通过公开渠道浏览资讯、查找知识,不用再被信息渠道的壁垒阻隔,这是我们最初理解的信息平等,也是大众普遍认可的平权形态。 但进入后AI时代,这套逻辑彻底失效了。真正决定信息价值的,早已不是”能不能看到信息”,而是”能不能拿到高价值、真实有效的原始数据”,这便是数据源的不平等,也是当下最核心的信息壁垒。就像最典型的12306火车票数据,所有人都能通过官方渠道查票、购票,这是渠道上的平等;可从正规途径来看,普通个体、中小团队根本无法获取全量、实时...
供需关系与AI的讨论
“千年暗室,一灯即明。” 1914-1918年,第一次世界大战爆发,但是我们在这个地方不去讨论战争本身的对与错, 我只想揭示第一次世界大战带来的经济变化,市场供需关系的变化。 在战争结束后,坦克机械技术向农用拖拉机的转移,这一转变直接推动了农业生产的机械化革命。拖拉机的出现,深深地影响了农民:机械化让少量农民即可耕种大片土地,传统的小农经济逐渐被大农场模式取代,土地兼并和规模化经营成为趋势,农业生产的专业化、商品化程度大幅提升(农产品不再仅满足自给自足,而是成为商品进入市场)。 但是一辆拖拉机的价格是极其昂贵的,一辆较好的福特森(Fordson)履带式拖拉机需要800-1000美金左右,这在当时相当于一个农民一年的收入,如果农民需要购买拖拉机,在当时银行会给你提供贷款服务,多数农民都会选择去贷款,毕竟在当时看来,一辆拖拉机能够顶替相当几十人的劳动力,带来的农作物产出肉眼可见,于是许多农民贷款购买了拖拉机。在购买后的一年到两年内,许多农民切实的靠拖拉机赚到了钱,但是三年四年,问题出现了: 以原来的价格,粮食卖不出去了。 这是一个典型的供需关系的问题:农作物生产的提高,实际上是效...


