Flutter你看看人家RN

大家好,我是老刘

做Flutter的兄弟可能都有过这种体会,让AI帮你写JS或者Python,那叫一个行云流水。换成Dart多少就差点意思,有时候需要人工纠偏。

老刘一直盼着有顶级模型专门针对Flutter做优化。毕竟谷歌手里既有算力又有模型,Flutter和Dart的全部数据也都在它手里,这事它不干谁干?

结果Flutter没等到,RN先等到了。

RN生态的Callstack公司前段时间发布了一个叫Apex的模型,专门针对React Native场景做了后训练。今天老刘就来聊聊这件事,顺便说说咱们Flutter开发者在等来专属模型之前,自己能做点什么。


Apex是个什么东西

模型官网在这里

apex.callstack.com/

一句话概括,Apex等于Qwen开放权重底座加上Callstack的RN领域后训练。

模型ID是callstack/apex,背后的Callstack是一家波兰软件咨询公司。注意它不是Meta,也不是React Native官方团队。

不过Callstack在RN生态里确实是核心贡献者,React Native Paper、Re.Pack、react-native-webview这些知名库都是它在维护,也常年参与RN核心代码贡献。所以它在RN领域的发言权是实打实的,你可以理解成RN生态里最有名望的公司之一出来做了个专用模型,但不是官方出品。

它自称的优化方向是React Native加React、Next.js,256K上下文,主打RN场景接近前沿模型质量,同时成本低得多。输入 0.5每百万token,输出0.5每百万token,输出 0.5每百万token,输出3每百万token。

这里老刘要提醒一句,官网上那些benchmark、3.7倍更便宜、接近Opus之类的数字全是厂商自报的,数据来自rn-evals.vercel.app和nextjs.org/evals,跟竞品大概率不是同一套口径。参考一下就行,别当成第三方独立结论。


现在有哪些使用入口

官方直连API,主渠道

platform.callstack.ai,这是Callstack自己的平台,注册拿key就能用。

接口同时提供OpenAI兼容和Anthropic兼容两种配置,所以能直接塞进Claude Code、Cursor、Codex、Zed这些工具,官方还给了npx @callstack/apex init一键配置。

提醒一下,Claude Code和Cursor这些是客户端集成,不是分发渠道,底层调的还是官方API。

自托管和私有部署,企业渠道

可以跑在客户自己的云或者机房里,支持EU数据驻留和SOC 2合规,签商业协议。对数据合规要求高的团队主要走这条路,也是官网"Ready for enterprise"那一块的核心。

注意Apex不是开源模型,私有化部署是付费服务。

Vercel AI Gateway

vercel.com/ai-gateway/...

顺便说个有意思的背景,Apex最早是匿名以Pixel Canary的名字先上的Vercel AI Gateway做公测,跑了5天、200B以上token,正式发布时才揭晓背后是Callstack。也算是蹭了一波匿名模型的新玩法。


其实Flutter比RN更需要定制模型

RN用的语言是JS,而几乎所有主流编程模型在训练时都吃了海量JS代码,天然对RN友好。所以Apex最大的意义可能不在于提升编程能力,而在于把RN场景的速度和成本优势做上去。

Flutter完全是另一回事。从Dart语言到整个生态,都是一个相对独立的体系。模型训练语料里Dart代码的占比跟JS、Python根本不在一个量级,这才是AI写Flutter代码时经常水土不服的根源。

所以说,Flutter才是真正在编程能力上最需要后训练来补救的那个框架。RN做定制模型是锦上添花,Flutter做定制模型是雪中送炭。

可惜谷歌今年在模型上的进展似乎进入了某种僵局。Gemini 4.0推迟了很久才发,能力也谈不上惊艳。Gemini Flash最新是3.8版本,被称为美国版豆包,老刘自己用了一阵,速度确实飞快,但整体能力也确实还差点意思。

不过说实话我还挺爱用的,Bug多不多先不说,你就说快不快吧。

而最适合做Flutter针对性微调的主体就是谷歌,整个生态里没有比它掌握更多数据和素材的了。它不动,别人想动也没那个本钱。


等不来模型,我们能做什么

抱怨归抱怨,活还得干。本质上想让模型在Flutter工作里表现得更好,就一句话,提供精确且充分的上下文。

老刘举个简单的例子。

我让opencode在配置文件里隐藏一批用不到的模型,这事隔一阵就要做一次,用的是GLM 5.3 flash。

最开始我只告诉它要隐藏哪些模型。于是它的工作流程是先在本机查找opencode配置文件的位置,Windows的配置文件存放路径跟Linux不一致,模型会连着执行好几条命令去找,上下文里塞满了命令行输出。钱花了不少,事还办得不利索。

后来我把提示词改了,除了列出要隐藏的模型,还明确指定了配置文件的完整路径。其实放在memory里也是同样的效果。

效果是立竿见影的,token省了,速度快了,上下文更干净了。

想提升模型在Flutter项目里的编程表现,道理一模一样。

明确告知位置

要修改的模块、文件、类、函数,直接在提示词里写清楚,别让模型自己满项目去找。

明确编码规范

所有页面都要继承BasePage,所有bloc都要继承BaseBloc,这类项目通用约定要提前交代。放在skill或者AGENTS.md里长期生效。

补齐模块文档

模块间的API要有明确的功能说明文档,模型看不见你的架构图,只能从文字里理解系统。

再进一步,可以用擅长推理的顶级模型先生成精确的修改方案,再交给擅长coding的模型去执行具体修改。一个负责想清楚,一个负责干利索,各司其职。

上下文给得到位,模型的表现就能好上一截。专属的Flutter模型也许明天就来,也许还要等很久,但把手里的模型用好,是今天就能做的事。


写在最后

RN等来了Apex,老刘替RN的朋友们高兴,也替Flutter着急。谷歌手里的牌明明最好,却一直没打出来。

不过换个角度想,专属模型只是加分项,上下文工程才是基本盘。基本盘扎实了,换什么模型都顺手。

你们团队在用AI写Flutter代码时踩过哪些坑?有没有自己的一套提示词心得?评论区聊聊。

🤝 如果看到这里的同学对客户端或者Flutter开发感兴趣,欢迎联系老刘,我们互相学习。

🎁 私信免费领老刘整理的《Flutter开发手册》,覆盖90%应用开发场景。可以作为Flutter学习的知识地图。

💬 : laoliu_dev
📂 老刘也把自己历史文章整理在GitHub仓库里,方便大家查阅。

🔗 github.com/lzt-code/bl...

相关推荐
林壮Allen1 小时前
用 Go 从零实现多 Agent 协作框架:两个让我踩坑的设计问题
go·ai编程
god_cvz2 小时前
第三章:1、Tool Calling(工具调用)
后端·ai编程
DO_Community4 小时前
AI Agent 运行环境难搭、空闲还收费?MicroVMs 正式公测
人工智能·agent·ai编程·agi
OpsEye5 小时前
企业 AI 管理新需求:不仅要接入模型,还要看懂每一次调用
javascript·ai编程
hoLzwEge5 小时前
AI签到「一劳永逸」
人工智能·程序员·ai编程
Rain的Java大神实战圈5 小时前
被问麻了!Function Calling、MCP、Skill 到底啥关系?一张图讲透三层架构,附 Java 生产落地全流程+30个坑
ai编程
文谦南宁AI普工5 小时前
写了个 PAP/PACT 授权面审计器:把 `poppy.json` 和 PACT 委托链的检查项跑成一条命令
aigc·ai编程
楚楚2515 小时前
2026最新5款AI编程助手基础版免费深度对比
ai编程
fthux5 小时前
编程语言:从机器指令到人类思维的演进史诗
ai编程