同一个工具里,把 DTO 的userName改成username,和把一段五百行的 Service 拆成三个类,该用同一款模型吗?
换个问法:工具给了你一串模型可以选,你会每次都停下来挑一遍吗?
模型接得越多,选哪一款就越像一道要用户自己做的题。
任务和模型,本来就不是一一对应
改一个字段名,和重构一个模块的职责边界,对模型的要求不一样。
前者要的是快。名字改了就是改了,多花十几秒推演意义不大。
后者要的是装得下。它得先看清这个类被哪些地方调用、有没有子类覆写、上游哪个服务在依赖它,然后才谈得上判断这段逻辑该留还是该搬走。上下文给得不全,答案再顺也不敢用。
中间还有一类量最大的活:读一段没见过的老代码,说清它做了什么。它不需要多深的推理,但要求一次性装下足够多的文件,不然读一半就开始猜。
这三类活在一周里轮着出现,切换也不是按天排的,是按分钟来的。上午可能只是给几个字段改个名,下午就要判断一个耦合很深的模块该怎么拆;隔一天接手一个三年前的项目,得先把调用关系读明白,才敢动手。
同一款模型去应付这几件事,往往哪一头都不舒服。改字段名的时候嫌它慢,重构模块的时候嫌它浅,读老代码的时候嫌它记不住。
这类问题在别的地方也有现成的处理。编译器给优化等级,数据库连接池给最大连接数,CI 给并行任务数。它们都不是功能本身,但没有它们,用户只能在「全速跑」和「干等」之间二选一。
清单变长,是这半年的实际变化
这半年,模型的更新几乎没有停过。GLM 迭代到了 5.3,DeepSeek 的 V4 系列也换到了 V4.1,两家隔几个月就推一个新版本。
工具的模型清单跟着一批批更新,能接到的都是当下更强的版本,这本身是好事。谁接得新,谁就不用为版本落后做解释。
代价落在另一头。清单每长一行,就多一个要重新判断的选项:这次该用哪一款。这个动作单看很轻,落到一天要切几十次任务的节奏里,它就成了反复出现的停顿。
麻烦在于这个判断没有现成的标准答案。哪款模型对上哪类活,说明里不会写,试错的成本得用的人自己承担。
以前是没得选。现在选项多了,挑本身成了一道工序。工具们给的应对也差不多,都是让系统自己挑,叫法不同而已。
自动挑不稀奇,挑的是哪一批模型才关键
自动挑这件事,国内主流的 AI 编程工具基本都做了,它本身说明不了什么差别。再往下看一层:这个自动动作的背后摆着哪一批模型,这批模型是怎么来的。
飞算 JavaAI 的模型层是两路搭起来的。
一路是在开源模型上自己做调优。选型标准不是「谁的名字响」,是谁在 Java 开发这件事上更好用。哪家的开源模型处理 Spring 工程、读存量代码、做重构时表现更好,就把哪家接进来调,不绑死任何一家。这组模型按 Java 研发里真会遇到的任务分了工:改字段、补方法、做小范围重构这类日常活归极速那一档,图的是响应快;跨文件的改动和结构层面的判断归深度那一档;复杂系统的设计、难啃的问题归专家那一档;代码生成和问答归基础那一档,顺带把 token 和成本压下来。几档默认由智能路由来挑,覆盖日常开发的多数场景。
另一路是直连业界的第三方大模型,GLM 的 5.2 和 5.3、DeepSeek 的 V4-Pro 和 V4.1-Flash 都能直接选,遇到需要通用模型长处的任务,切过去就行。
两路并存的用意不在于清单上有多少名字,在于每个名字进来都是有理由的:一路对着 Java 场景调,一路把最强的通用能力留在手边。这套模型目前只提供给订阅了个人专业版的用户。
边界也一样清楚。模型层再厚,补不上需求本身的含混,需求没想清楚,换哪个模型都白搭,那是澄清环节该解决的问题。
差别要落到具体任务上才算数
发布说明里写模型参数多大、推理能力提升多少,写代码的人听不太出来。这类消息看的时候有感觉,用的时候没感觉。
清单长也说明不了什么。接了一长串模型却没按任务分过工,用户还是得一款款试;分过工,但没对着 Java 场景分,分得准不准也没人验过。模型这一层的差别,最后要落到「它能不能对上你手上这个任务」上。
按这个标准看,几种搭法的差距就出来了。押死一家的,那家掉队的时候只能等;只做直连的,能用到什么取决于别人开放什么;清单长但没有分工的,多出来的名字只是把判断成本换了个承担的人。飞算这一路是把模型按 Java 任务分过工,再往上一层还有工程侧的封装接住产出,模型负责生成,产物能不能进仓库、能不能被下一个人接手,由那一层管。
Java 后端转全栈,模型层要接得住
模型层怎么搭,要回答的是用它的人手上的活正在变成什么样。
Java 后端的边界以前很清楚:接口、表、服务,写完交给前端。现在不少团队希望一个人从头走到尾,也就是转全栈。职责一扩,页面结构、接口对齐、联调排查都成了份内的活。
跨度大了,要求就不一样。同一套模型要同时应付改一个字段和从零搭一个页面,光靠通用能力顶不住,得有人在上面把 Java 这一侧做扎实。
飞算 JavaAI 的模型层就是冲这件事搭的:Java 专有模型那一层守住专和精,把日常研发的活做准;第三方权威模型接进来,补上通用能力的上限。两边合起来,能接的活比单靠一头宽。
转全栈真正难的地方在这儿:原来分散在几个人手上的活,现在得一个人串完,每一段都要有东西顶得住。底层窄了,第一段卡住,后面的活就接不上。
你手上那个工具,够应付你现在的活,还是连下一步要碰的活也留了余量?