主流AI大模型能力对比

发表于 2024-12-18 22:41 1992 字 10 min read

Spring AI学习笔记(四)工具调用和MCPSpring AI学习笔记(三)RAG从文档入库到回答Spring AI学习笔记(二)ChatClient从怎么调到怎么封装Spring AI学习笔记(一)它到底解决什么问题java新版本-java25学习笔记(四)用JFR和GC日志做一次体检java新版本-java25学习笔记(三)虚拟线程要和资源边界一起看java新版本-java25学习笔记(二)运行时基线先统一java新版本-java25学习笔记(一)LTS版本对比和学习路线主流AI Agent能力对比与工程选型我用Kiro做了个自己的工具站盘一盘虚拟线程我用Trae做了个AstrBot的AI角色扮演插件Python初学笔记(六)常用标准库先学这几个Python初学笔记(五)读写文件和处理异常Python初学笔记(四)函数让代码开始有结构Python初学笔记(三)条件、循环和推导式Python初学笔记(二)变量和基础类型比想象中重要Python初学笔记(一)先把环境和运行方式弄明白主流AI大模型能力对比Java 21和Spring Boot 3升级笔记(五)日志指标与可观测性Java 21和Spring Boot 3升级笔记(四)数据访问层适配Java 21和Spring Boot 3升级笔记(三)虚拟线程使用边界Java 21和Spring Boot 3升级笔记(二)Jakarta迁移要点Java 21和Spring Boot 3升级笔记(一)工程基线整理How Can We Tolerate Magic Values! Major Overhaul of JPA Specification!处理生僻字乱码:JPA框架对于Oracle的NVarchar2,NChar,NClob类型支持Redis Stream能不能当轻量消息队列用RocketMQ 5学习笔记:普通消息之外要看什么事件流不是换个消息队列这么简单Kubernetes学习笔记04:发布、排障和观测Kubernetes学习笔记03:配置、密钥和存储Kubernetes学习笔记02:Deployment、Service和IngressKubernetes学习笔记01:Pod和控制器mysql索引原理02--存储引擎索引的实现mysql索引原理01--索引的数据结构
This post is not yet available in English. Showing the original.
  2024 年看 AI 模型,感觉已经不能只问“哪个模型最强”了。   这一年主流模型的变化很快,GPT-4o 把多模态和响应速度推到了一个很实用的位置,Claude 3.5 Sonnet 在代码和长文本理解上表现很突出,Gemini 1.5 Pro 让超长上下文成为一个很有辨识度的能力,Llama 3.1、Qwen2.5...

前言

  2024 年看 AI 模型,感觉已经不能只问“哪个模型最强”了。

  这一年主流模型的变化很快,GPT-4o 把多模态和响应速度推到了一个很实用的位置,Claude 3.5 Sonnet 在代码和长文本理解上表现很突出,Gemini 1.5 Pro 让超长上下文成为一个很有辨识度的能力,Llama 3.1、Qwen2.5 这类开源或开放权重模型也让私有化和本地部署有了更多选择。

  但从 Java 后端项目的角度看,模型选型不能只看榜单。真正接入业务时,还要看成本、延迟、稳定性、上下文长度、输出格式、数据安全和后续维护成本。

先按场景分

  我现在不太喜欢直接说“某某模型最好”。因为不同场景下,好的标准不一样。

比如客服回复建议,更看重中文表达、稳定性和成本。代码生成或代码解释,更看重推理能力、上下文理解和对工程结构的把握。合同摘要、制度问答,更看重长文本能力和不乱编。图片理解、截图分析,则需要多模态能力。

所以模型对比第一步应该先问:这个功能到底要模型做什么?

常见场景可以简单分成几类:

1.文本生成:摘要、改写、文案、邮件。 2.信息抽取:从文本里抽字段、分类、打标签。 3.代码辅助:解释代码、生成单元测试、排查报错。 4.长文本处理:合同、制度、会议纪要、技术文档。 5.多模态理解:图片、截图、表格截图、简单视觉问答。

如果场景没分清,很容易拿一个模型做所有事,最后某些功能效果很好,某些功能又很不稳定。

GPT-4o 的优势

  GPT-4o 在 2024 年很有代表性。它给我的感觉是综合能力比较均衡,响应速度也比以前的重模型友好很多。

它比较适合做通用型 AI 能力,比如文本总结、对话助手、结构化抽取、图片理解、简单代码解释。这种模型的好处是不用为了每个小功能单独换模型,早期验证效率比较高。

但综合能力强不代表所有场景都应该无脑用它。正式接入业务时,还是要看调用成本、接口稳定性、输出格式是否可控。

比如让模型返回 JSON 时,后端一定要做解析和校验。不能因为模型表现好,就默认它永远返回合法结构。

public record AiExtractResult(String type, String summary) {
}

这种结果进入业务系统前,仍然要检查字段是否为空、枚举是否存在、长度是否超限。

Claude 3.5 Sonnet 的特点

  Claude 3.5 Sonnet 在 2024 年给人的印象很明显:代码理解、长文本归纳、复杂指令执行能力都不错。

如果场景是阅读一段比较长的技术文档、解释一段复杂代码、根据已有上下文生成开发说明,它的表现会比较有竞争力。

我觉得它适合放在“需要认真读材料”的场景里,而不是只做一句话分类。因为如果只是简单分类,用很强的模型可能有点浪费。

当然,模型再适合代码场景,也不能把它生成的代码直接当成最终结果。代码类输出至少要经过编译、测试和人工 review。AI 能提高速度,但不能替代工程验证。

Gemini 1.5 Pro 和长上下文

  Gemini 1.5 Pro 在 2024 年比较突出的标签是长上下文。

长上下文适合什么?适合一次性塞入大量资料,让模型在较大范围内理解和总结。比如长会议记录、多份产品说明、比较完整的需求文档。

但长上下文不是银弹。上下文越长,调用成本和响应时间通常也越要考虑。更重要的是,材料变多以后,模型并不一定每个细节都抓得很稳。

所以我觉得长上下文适合做“读大材料”的场景,但不应该因为上下文够长,就完全放弃文档整理和输入筛选。输入越干净,输出越容易稳定。

开源模型的价值

  2024 年开源或开放权重模型也很值得关注,比如 Llama 3.1、Qwen2.5 等。

这类模型的价值不只是“免费”。更重要的是部署可控、数据边界可控、可按业务场景微调或蒸馏。

如果企业对数据外发比较敏感,或者场景非常固定,比如内部文本分类、固定格式抽取、局部知识问答,那么开源模型会很有吸引力。

但开源模型也不是没有成本。你要考虑:

1.推理服务怎么部署。 2.GPU 成本怎么算。 3.并发和延迟是否能接受。 4.模型升级谁来评估。 5.安全和权限怎么做。

有些团队一开始觉得调用外部 API 贵,后来发现自己维护推理服务也不便宜。所以要按总成本看,不要只看单次调用价格。

小模型也有位置

  2024 年还有一个明显趋势:小模型越来越可用。

不是所有功能都需要最强模型。比如标题生成、简单摘要、客服意图分类、固定字段抽取,用小模型可能就够了。

小模型的优势是便宜、快、吞吐高。缺点是复杂推理和长文本理解可能不如大模型。

所以比较合理的方式是分层:

1.简单任务用小模型。 2.复杂任务用强模型。 3.失败或低置信度时再升级模型。

这样比所有请求都打到最贵模型上更现实。

Java 项目里怎么封装

  从 Java 项目角度看,不建议业务代码直接绑定某个模型供应商。

可以抽象一个统一接口:

public interface ChatModelClient {

    AiResponse call(AiRequest request);
}

然后按供应商或模型做实现:

public class OpenAiModelClient implements ChatModelClient {
}

public class LocalModelClient implements ChatModelClient {
}

业务层只关心输入、输出、超时、异常,不直接关心底层请求地址和鉴权方式。

这样后面换模型、做 A/B 测试、按场景路由模型,都会轻松一点。

选型表可以这么看

  如果让我做一个简单选型表,我会看这些维度:

1.效果:能不能完成目标任务。 2.成本:单次调用和总调用量能不能接受。 3.延迟:用户是否愿意等。 4.稳定性:输出格式和服务可用性怎么样。 5.上下文:输入长度是否足够。 6.多模态:是否需要图片或音频能力。 7.数据安全:数据能不能发出去。 8.工程接入:SDK、日志、限流、监控是否好做。

其中效果只是第一项。很多模型 demo 看起来都不错,但一到线上,就会被成本、延迟、限流、格式不稳定这些问题拉回现实。

小结

  2024 年 AI 模型已经不是一个简单的“谁第一”问题。不同模型的优势开始变得清楚:有的综合能力强,有的长文本好,有的代码能力突出,有的适合私有化,有的便宜又快。

  我的理解是,模型选型要从业务场景出发,再结合工程约束做取舍。对 Java 后端来说,最重要的是不要把模型调用写死在业务里。先做好统一封装、日志、超时、结果校验和模型路由,后面模型怎么变,系统才不会跟着乱。

If you enjoyed this, leave a comment~

© 2019 - 2026 VincentHo @VincentHo
Powered by theme astro-koharu · Inspired by Shoka