网易首页 > 网易号 > 正文 申请入驻

删掉LangChain后,他用270行代码跑通了Agent

0
分享至

花了两天时间,想让 LangChain 的 AgentExecutor 按自己的想法干活。结果呢?能跑。工具调用了,答案也出来了。但他说不清楚这个 Agent 为什么做这个选择、为什么调那个工具。想换个 LLM 供应商,追踪链路直接断了。想加第二个工具,调度逻辑缠在一层层自己没写过、也看不懂的抽象里。


于是他把 LangChain 删了,手写了一个约 270 行的 ReAct 循环。这个项目叫 RepoPilot,目标是一个 CI 修复 Agent:给定一次失败的 GitHub Actions 运行,最终能诊断故障并给出人类可审批的修复方案。但在这之前,他需要先打好地基——一个能通过受控工具检查本地 Git 仓库、通过供应商无关接口和 LLM 对话、并记录每一步决策的 Agent。

LangChain、CrewAI 这类框架本身有价值:预置的工具集成、记忆抽象、可观测性回调、开箱即用的多 Agent 编排。如果项目需要快速接入大量集成,或者框架的取向正好和你一致,它们确实是加速器。但对这个项目,三件事出了问题。

  • 不透明:AgentExecutor 做决策时,提示链、工具选择逻辑、中间解析全发生在自己没写过的层里,调试等于读框架源码,而不是读自己的代码。
  • 供应商锁定:框架对 LLM 供应商的抽象有自己的形状。把 Gemini 换成本地 Ollama 模型时,追踪就断了,回调系统和 LLM 抽象绑在一起,不完全可控。
  • 框架频繁变动:LangChain 的 API 变化很快,半年前的代码经常需要重写。对一个打算长期维护和扩展的项目,这是负债。

单独看,每一条都不致命。合在一起,指向一个清晰的答案:对一个全部价值就在于可审计和可控的项目,黑盒是错误的底座。

ReAct(Reason + Act,推理加行动)是个很简单的模式:LLM 推理下一步做什么,选一个工具并给出参数,工具运行返回结果,结果加回对话,重复直到 LLM 给出最终文本回复。核心实现大约 20 行逻辑,通过 max_steps 限制迭代次数,通过注册表做工具调度,消息结构随时可检查,达到步数上限还有最终答案兜底。

一个早期做对的设计决策是:核心层永远不导入任何供应商 SDK。Agent 面向接口说话,不直接面向 Gemini、OpenAI 或 Ollama。Gemini 适配器实现这个接口,换供应商意味着写一个新适配器,而不是重写 Agent。可以先用免费的云端 API 开发,之后改一个环境变量就切到本地模型,Agent 根本不知道区别。这个适配器模式多花了约 50 行代码,换来的是第二阶段需要的灵活性。

在加第二个工具之前,他先做的是追踪。每次 Agent 运行都产生一份结构化 trace:每一次 LLM 调用、每一次工具调用、每一个结果、每一个错误。不是日志行,是数据模型。每次运行结束,RepoPilot 打印一份摘要——目标、总步数、LLM 调用次数、工具调用次数、错误数、总耗时,并把完整 trace 写入 .runs/{run_id}.json。

这才是让 Agent 可调试的东西。运行失败时不用猜,打开 trace 就能看到到底发生了什么:哪个提示进去了,哪个工具被调用了,返回了什么,循环在哪里断掉。先建追踪再加工具的原因很直接:如果有 5 个工具而循环是坏的,根本不知道问题出在哪个。有了追踪,就能看到循环运转正常而某个工具行为异常,或者反过来。

他也分享了两个诚实的错误。第一,最初把追踪放在了供应商适配器里,看起来合理,因为 API 调用就发生在那。但换供应商时追踪就会丢失,后来把它移到了核心循环,现在无论哪个供应商在跑,追踪表现完全一致。跨领域的关注点——追踪、安全、审批——应该放在核心层,而不是供应商层。第二,一开始就写了 5 个工具:git_status、git_diff、read_file、list_files、search_code。然后花了一整天调试工具 schema 和错误处理,而那时他甚至还不确定自己的 ReAct 循环是否正确。最后砍到只剩一个工具 git_status,刚好够证明循环能跑。一个工具就足以验证架构,功能要等地基稳固之后再加。

第一阶段完成了。这个 Agent 通过供应商无关的接口和 Gemini 对话,调用一个只读的 git_status 工具,记录每次运行的结构化 JSON trace,通过 68 个自动化测试,能在真实的本地仓库上端到端运行。它还不是 CI 修复 Agent,但它是那个 Agent 的地基,干净、有测试,最重要的是——能看懂。

第二阶段才是 RepoPilot 名副其实的地方:确定性地解析 GitHub Actions 日志,已知故障模式不用 LLM;只在模式模糊时才升级给 LLM;把修复方案作为 diff 提出,但未经人类审批绝不应用;追踪每一个决策。确定性优先的设计是差异点——大多数 CI 修复 Agent 把日志丢给 LLM 然后祈祷,RepoPilot 会先用正则分类故障,只在必须时才动用 LLM。

框架没有错,只是不总是对的。做快速原型,用 LangChain。做一套价值在于可审计、可控和安全保证的系统,自己写循环。大约 100 行,每一行你都能看懂。而且先把可观测性建起来——不是因为它好玩,而是因为它决定了你拥有的是一个能调试的 Agent,还是一个只能祈祷它能正常工作的 Agent。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
官宣!林书豪正式加盟!NBA第一黄种人后卫

官宣!林书豪正式加盟!NBA第一黄种人后卫

篮球实战宝典
2026-10-17 19:06:40
地位彻底变了!29岁樊振东低调回国仅24小时,再次官宣新身份!国乒2大信号藏不住了!球迷:终于等到这一天

地位彻底变了!29岁樊振东低调回国仅24小时,再次官宣新身份!国乒2大信号藏不住了!球迷:终于等到这一天

锐评利物浦
2026-10-17 21:05:38
多名院士呼吁停止食用:高胆固醇“加速器”,上了年纪尽早戒掉

多名院士呼吁停止食用:高胆固醇“加速器”,上了年纪尽早戒掉

牛锅巴小钒
2026-10-17 03:47:35
研究发现:冷冻馒头超过两天会产生黄曲霉素?告诉你答案

研究发现:冷冻馒头超过两天会产生黄曲霉素?告诉你答案

医学原创故事会
2026-10-18 13:22:03
性专家说:当一个异性开口跟你要钱,要礼物,不管对方是不是想试探你的真心,你都应该明白,你已被对方列入供养者行列

性专家说:当一个异性开口跟你要钱,要礼物,不管对方是不是想试探你的真心,你都应该明白,你已被对方列入供养者行列

心理观察局
2026-08-05 06:46:04
懂车帝也太刚了!

懂车帝也太刚了!

胖胖说他不胖
2026-10-09 15:08:05
暴跌93%,中国人的梦中神车,崩了!

暴跌93%,中国人的梦中神车,崩了!

i黑马
2026-10-16 20:26:14
梅西世界杯至今5次满分10分!差不多是C罗生涯总数的一半!

梅西世界杯至今5次满分10分!差不多是C罗生涯总数的一半!

罗吹终结者
2026-10-18 13:26:44
成都宝妈打人后续!受害者缝18针,鼻骨打歪,曹某婚姻破裂已摆烂

成都宝妈打人后续!受害者缝18针,鼻骨打歪,曹某婚姻破裂已摆烂

陶寻爱说
2026-10-17 22:19:51
冯远征苦恼招不到一米六几的女演员和一米七几的男演员,吐槽“现在艺术院校招不到黄胖子,大家都去招高富帅了”

冯远征苦恼招不到一米六几的女演员和一米七几的男演员,吐槽“现在艺术院校招不到黄胖子,大家都去招高富帅了”

韩小娱
2026-10-17 14:40:49
有没有发现,身边有很多60、70后,银行里存有上百万,也有退休保障,却不舍得花钱,甚至一杯奶茶都没喝过,就知道存钱

有没有发现,身边有很多60、70后,银行里存有上百万,也有退休保障,却不舍得花钱,甚至一杯奶茶都没喝过,就知道存钱

犀利强哥
2026-10-18 07:00:00
80场75球!美媒:梅西是外星人!还差64球,创“美职联”多项第1

80场75球!美媒:梅西是外星人!还差64球,创“美职联”多项第1

汪星人哟
2026-10-18 11:38:18
怪不得沙特打不过!因为胡塞不是一个武装团伙,实际上是一个国家

怪不得沙特打不过!因为胡塞不是一个武装团伙,实际上是一个国家

军情观察家
2026-10-17 14:29:24
比生育率暴跌还可怕:你拼尽全力求来的孩子,20年后结局早已注定

比生育率暴跌还可怕:你拼尽全力求来的孩子,20年后结局早已注定

找回密码
2026-10-18 09:30:15
疯疯癫癫、目无法纪、坑蒙老百姓,封号2年的小杨哥复出捞金!

疯疯癫癫、目无法纪、坑蒙老百姓,封号2年的小杨哥复出捞金!

神颜贩卖机
2026-10-17 18:22:00
特朗普:我从未下令限制乌克兰使用“星盾”,“不确定是谁做的”,也不是马斯克所为,马斯克:乌克兰使用“星盾”相关限制美国总统说了算

特朗普:我从未下令限制乌克兰使用“星盾”,“不确定是谁做的”,也不是马斯克所为,马斯克:乌克兰使用“星盾”相关限制美国总统说了算

政知新媒体
2026-10-17 12:36:33
叶檀老师,我生病了,一身债,想把自己的两个娃托付您……丨叶檀回信

叶檀老师,我生病了,一身债,想把自己的两个娃托付您……丨叶檀回信

叶檀财经
2026-10-17 18:55:06
“我们自愿有何罪”?三男三女聚众淫乱,三亚高知换妻游戏案始末

“我们自愿有何罪”?三男三女聚众淫乱,三亚高知换妻游戏案始末

易玄
2026-09-13 11:43:30
山姆品质暴跌:花680办的山姆会员,买的是快过期的菜

山姆品质暴跌:花680办的山姆会员,买的是快过期的菜

城事堂
2026-10-18 10:46:42
安东诺夫机场无冤魂,看透俄乌战争的本质!

安东诺夫机场无冤魂,看透俄乌战争的本质!

梦归秋辰
2026-10-16 17:15:42
2026-10-18 14:07:00
硅屿手记
硅屿手记
有态度网友ytd
217文章数 83关注度
往期回顾 全部

科技要闻

王江舟院士:6G到底是不是骗局 是不是收割

头条要闻

特斯拉飞行汽车在美国引发疑问:从哪起飞 是否真能飞

头条要闻

特斯拉飞行汽车在美国引发疑问:从哪起飞 是否真能飞

体育要闻

升级版杨瀚森再闯难关:当上开拓者第三中锋还得拼

娱乐要闻

曝郭麒麟与25岁知名女星已经结婚,女方回应关系

财经要闻

马斯克:美债问题只能靠AI和机器人解决

汽车要闻

星瑞L PLUS限时售价10.97万元起 开启智混3L时代

态度原创

本地
教育
家居
艺术
军事航空

本地新闻

因新荣记出圈,这座浙东小城才是吃货天堂

教育要闻

“只筛选,不教育”,一线教师评价英语新教材,家长:已经想放弃英语了!

家居要闻

2026建博会(广州) 公装联探展交流活动

艺术要闻

14位国外画家的风景油画

军事要闻

乌克兰全国超15处重要能源设施遭俄袭击 泽连斯基发声

无障碍浏览 进入关怀版