Featured image of post 从「能跑大模型」到「能跑工作流」:GLM-5.2 本地 Agent 该怎么测

从「能跑大模型」到「能跑工作流」:GLM-5.2 本地 Agent 该怎么测

GLM-5.2 跑进消费级设备只是一个开始。对个人开发者和小团队,更重要的问题是:本地模型能不能读懂仓库、调用工具、记住约束、从中断恢复,并交付一个真的能用的结果?

r/LocalLLaMA 这两天有个帖子挺有意思。发帖者说,自己把 GLM-5.2(744B MoE) 跑在了一台 25GB RAM 的消费级机器上。评论区很快就把话题带到了一个老问题上:既然这么大的模型已经能塞进个人设备,本地 AI 是不是快能接手日常工作了?

同一天,智谱创始人唐杰在内部信里提到长程任务、自治智能体和安全治理。两条信息放在一起,很容易让人把注意力从模型尺寸、推理速度,转到 Agent 能不能连续完成任务上。

不过这中间有不少台阶。那条 Reddit 帖子只是社区实测,并非独立基准。量化方式、offload 配置、上下文长度、生成速度和任务质量,都需要回到原帖或可复现环境里核对。它更像一个信号:超大开源模型跑进个人设备,已经不是纯粹的想象题了。

可“跑起来”不等于“能交付”。

平时测本地模型,大家会看显存、内存、首 token 延迟和 token/s。这些指标能说明模型能否生成,却很难说明它能不能完成一次真实开发。模型放进 Agent(智能体)后,面对的是一个带工具、约束、中断和验收的 workflow(工作流)。它得知道该读什么文件、什么时候跑测试、哪些边界不能碰;中途断了,还得能接上。

这篇不再讨论 GLM-5.2 的榜单,也不重复 ZCode 的产品介绍。下面这五项,才是我觉得更值得拿来测本地 Agent 的东西。

模型开始吐字,不代表任务已经推进

在终端里看到模型输出代码,很容易产生一种错觉:它会写组件,事情似乎就差不多了。

但把“帮我写个登录页”换成真实项目里的需求,场景马上变了。它得先找到现有认证逻辑,不能改坏公开 API;得跑测试;得记住产品说过“移动端先不做”;环境重启后,最好还能知道自己改到哪一步。最后,页面还得真的能登录。

前面是一次生成,后面才是一项交付。

从一次生成到一项交付:模型吐出代码只是开始,读懂仓库、调用工具、记住约束、从中断恢复,才构成一次真实交付

因此,别急着问“这台机器能跑多大的模型”。拿一个完整但规模不大的仓库任务,固定需求、工具权限、测试和验收步骤,让本地模型与云端模型分别跑几次。比起一张 benchmark 图,这种比较更接近你每天真正要付出的时间和返工成本。

先看它会不会读仓库

第一项测试不该是从零做一个 Todo 应用。给它一个已经存在的仓库,效果更容易看出来。

比如让它给列表页增加筛选项:不能改 API,要补一条失败状态测试。先别让它动手,先问四件事:相关组件在哪,数据从哪里来,现有测试覆盖了什么,这次改动最不该碰什么。

模型如果能指出文件和调用关系,也知道哪些地方少动为妙,后面才值得继续。反过来,刚读两眼就想新建状态管理、顺手重构半个页面,往往已经暴露问题了。它不一定不会写代码,只是没有抓住任务边界。

我更愿意把需求、不可变约束和验收标准放进仓库里的说明文件,再让 Agent 先给计划。这样做很省事:代码还没改,就能看出它理解的是你的要求,还是它自己脑补出来的项目。

再看它会不会用工具找答案

不少本地部署演示停在聊天界面。模型回答流畅,文件没读过,测试没跑过,浏览器也没打开过。那更像一个本地聊天助手,不是能干活的 Agent。

一个简单的测试是:给它读取仓库、修改指定目录、运行测试命令的权限,然后让它修一个已有的失败测试。观察的重点不在于它第一次能不能修好,而在于它会不会根据工具输出继续调整。

只看报错文字猜一个答案,改完就宣布完成,风险很高。它愿意重新运行命令,看到新错误后收缩改动范围,才说明终端输出真的进入了判断过程。

工具调用的另一面是分辨失败类型。依赖没装、端口被占、测试超时、权限不足,表面上都会出现红字。把这些全当成代码 bug,只会制造更多无关修改。一个可用的 Agent 不需要次次都解决环境问题,但至少要知道自己卡在代码、环境,还是权限。

本地环境让文件、终端和日志都很近,同时也把环境脏乱的问题摆在你面前。模型没法自动把一套缺依赖、命令不统一的开发环境变成可靠工具链。

上下文长,不等于约束能记住

长任务常见的翻车方式,不是第一步就写错。

开始时,Agent 还记得“不要改公开 API”。几轮工具调用之后,它发现改 API 更省事,于是改了。开始时,它知道“这次不做移动端”;读了几十个文件后,又顺手补起响应式布局。不是它故意违约,而是早先的约束在后续信息里被冲淡了。

这时测试的重点不应只是上下文窗口大小,而是约束有没有被稳定保存。

可以在任务里放两三条不会反复提醒的条件,例如保持接口兼容、不加新依赖、只动两个模块。多轮之后,先让它复述边界,再看最终 diff 有没有越线。这比问它支持多少 token 有用得多。

也没必要把聊天记录无限重传。旧工具输出、重复检索内容会把真正重要的信息盖住。更实在的办法是把约束从聊天里单独摘出来:一份短任务说明,或者每个阶段结束时写一个 checkpoint(检查点),记录当前目标、已确认事实、未解决问题和禁止改动的范围。

本地工作流有个好处就在这里:哪些信息留在机器上、怎样压缩、何时重开会话,可以由你决定,而不是完全交给一个看不见的会话机制。

故意断一次,看看它怎么回来

本地 Agent 迟早会被打断。笔记本合盖、终端关掉、模型服务重启、显存被占,或者你临时改了需求,都是日常情况。

所以测试时不妨故意停掉它。

让 Agent 完成计划和部分修改后,保存状态。再开一个新会话,只给它仓库、任务说明和留下的 checkpoint。它是否会先看 git diff、测试状态和未完成项?还是直接沿用旧结论,假装任务已经结束?这两种表现差别很大。

恢复不该靠复制整段旧对话。成本高,也会把失效信息一起搬回来。更好的恢复像一次交接:新会话拿到一份简短可信的记录,知道哪些事实已经确认,哪些命令跑过,哪些结果还没验。

如果 checkpoint 里没有验收记录,恢复后的 Agent 就应该继续验证,而不是马上写一段“任务已完成”的总结。

验收不做,交付就还没发生

最后一项最容易省掉。

模型说测试通过,不一定真的通过;测试绿了,也不代表用户路径能走通。涉及 UI、登录、文件上传、异步状态或外部服务时,光看 diff 很难知道结果。

因此,任务开始前就该写好验收方式。后端改动可以跑固定测试、打一遍 API、检查迁移;前端改动至少要启动应用、走关键路径、看看控制台有没有新错误。危险操作则应留下人工确认点。

不需要一上来搭复杂的多 Agent 系统。一条必须成功的测试命令,一份验收清单,一次浏览器点击,已经能挡住很多“模型说完成了”的假象。

评测项 最小测试 合格信号 常见失败
仓库理解 先读代码再给改动计划 能说清文件、边界与风险 直接重构、臆造项目结构
工具调用 修一个失败测试 会反复运行命令并根据输出调整 只凭文字猜答案
约束记忆 多轮后复述不可变条件 diff 未越过既定范围 忘记 API、依赖或范围限制
中断恢复 中途停止后新会话续做 先核对状态再继续 复制旧结论、跳过未完成验证
最终验收 测试、关键路径或人工检查 有可观察的完成证据 用“已完成”代替验证

同一套任务,在本地模型、云端模型,甚至不同量化版本上各跑几次,才看得出差别。未必需要一次全自动跑通;更重要的是知道它通常在哪一步掉链子,以及每次掉链子要花多少人力补回来。

本地 Agent 评估闭环:读仓库、用工具、记约束、断点恢复,最终落到可观察的验收证据

本地化不是免费午餐

把模型留在本地,确实有实际收益。不能轻易上传的代码、文档和日志,可以少经过一层外部服务;网络不稳定时,一部分任务还能继续;模型、量化方式和工具协议可以替换,团队不必把所有流程押在某一个 API 上。

代价也很具体。驱动版本、模型格式、量化质量、内存和显存分配、服务启动方式、工具权限、日志位置,最后都会变成要有人处理的事。模型越大,链路越长,越像在维护一套小型内部服务。个人开发者可能周末调一次就够,团队则很快会遇到部署、升级、监控和访问控制。

所以不太适合把问题简化成“本地还是云端”。更现实的是分段看:哪些任务需要最强模型、超长上下文或弹性算力,就继续交给云端;哪些任务围绕敏感仓库、重复性内部操作或离线环境,本地模型可能更合适。

把模型当作可替换组件,比把整个工作流绑定在某种部署方式上靠谱。

模型、Agent 与工作流,别混成一个词

模型负责推理和生成。它决定一轮任务里代码、解释和下一步建议的质量。

Agent 拿着模型的判断去读文件、调命令、编辑代码、调用服务。走到这一步,工具可用性和权限边界已经和模型回答质量一样重要。

工作流把执行串成可交付的过程:保存约束,安排工具调用,写 checkpoint,处理失败与恢复,最后要求测试、浏览器或人给出证据。

“能跑大模型”解决的是能力能不能出现在你的机器上;“能跑工作流”解决的是这份能力能否在真实任务里被约束、被接续、被验证。两者差得不止一块显卡或几个 token/s。

本地化也不是反云端。它只是把模型这一层重新变成可以选择和替换的部件。任务能不能安全交出去,取决于 Agent 实际怎么做,以及工作流有没有把它带回一个能检查的结果。

参考来源

以上来源用于观察厂商发布口径、本地 AI 趋势和社区反馈。Reddit 配置与性能描述来自单一发帖者,媒体报道与社区讨论都不等同于独立基准测试;实际部署前仍应在自己的硬件、模型版本和真实任务上复核。

RSS Feed 使用 Hugo 构建
主题 StackJimmy 设计