当我们开始给 Agent 选择底座模型时,"开源还是闭源"几乎是绕不开的问题。
但只要你做过模型部署,就会发现一个很有意思的现象:
一个模型可以让你下载权重,却不一定能让你拿到完整的训练代码;
可以本地部署,却不一定允许你商用;
可以正常运行,却不一定适合你的 Agent;
甚至:
代码和模型都公开了,你可能依然没有足够的信息复现它。
所以,"这个模型开源吗?"其实并不是一个简单的 Yes / No 问题。
更准确的问题应该是:
它到底开放了什么?
我可以拿它做什么?
它能不能真正进入我的 Agent 生产环境?
如果把大模型当成一个完整的软件系统来看,你会发现至少有四类核心资产值得检查:
模型权重、推理代码、训练代码、训练数据。
但这四类资产只是第一轮检查。
真正进入 Agent 项目之后,还需要继续看许可证、工程可用性、模型能力和长期维护成本。
先别急着谈"开源"
一个大模型到底由什么组成?
传统软件谈开源,通常比较直观。
代码公开了,我们可以阅读、修改、编译,然后按照许可证允许的方式使用和分发。
但大模型不太一样。
我们平时说的"模型",实际上是很多东西共同组成的:
这条流程依次经过以下环节:

这条链路上的每一部分,都可能拥有不同的开放程度和许可证。
所以:
下载了一个模型文件,不代表你拿到了这个模型完整的"生产过程"。
这也是理解"开放权重"和"完整开源"区别的第一步。
第一类资产:模型权重
拿到的是"训练结果",不是"训练过程"
模型权重可以简单理解成:
模型训练完成以后留下来的大量参数。
如果把训练模型比作培养一名厨师:
- 训练数据 = 厨师学过的食材和菜谱
- 训练代码 = 培养厨师的方法
- 训练过程 = 厨师长期学习的过程
- 模型权重 = 厨师最终形成的能力状态
你拿到了一个训练好的厨师,并不意味着你知道他过去到底学过什么。
开放权重通常意味着你可以:
- 下载到自己的环境运行
- 进行量化
- 进行微调
- 在企业内网部署
- 对运行环境拥有更多控制权
这对于 Agent 来说非常重要。
比如公司的合同、财务数据、客户信息是不能发送到外部 API的,那么开放权重模型就可能提供一种本地部署的选择。
但这里有三个非常容易产生的误解:
能下载权重 ≠ 训练代码开放
能本地运行 ≠ 一定允许商用
权重开放 ≠ 一定适合你的 Agent
所以看到一个模型可以下载的时候,准确的描述应该是:
开放权重模型
而不是直接把它等同于:
完全开源模型。
第二类资产:推理代码
有权重,不代表拿来就能稳定运行
模型权重解决的是:
"我有没有拿到模型本身?"
推理代码解决的是:
"我能不能把这个模型真正跑起来?"
推理代码通常需要处理:
- 模型架构
- Tokenizer
- Chat Template
- 特殊 Token
- 前向计算
- Sampling
- KV Cache
- 批处理
- 流式输出
- API 服务
如果模型已经被 vLLM、SGLang、TensorRT-LLM 等主流框架很好地支持,那么部署可能非常简单。
但如果遇到新架构、自定义算子、多模态编码器、MoE 路由或者特殊 Chat Template,事情就没那么简单了。
尤其是在 Agent 场景里,有些问题甚至不会表现成"模型跑不起来"。
而是:
模型能回答,但工具调用不稳定。
模型能聊天,但 JSON 格式经常错误。
单轮测试很好,多轮 Agent 就开始出现问题。
低并发正常,高并发以后显存和延迟突然失控。
所以对于 Agent,我们还需要继续检查:
- 是否支持结构化输出?
- 是否支持 Tool Calling?
- 流式输出是否稳定?
- 长上下文表现如何?
- 并发情况下资源消耗如何?
- 是否有成熟的推理框架?
- 有没有可靠的量化方案?
这时候你会发现:
权重解决的是"模型资产在哪里",推理栈解决的是"它能不能成为一个可靠的服务"。
第三类资产:训练代码
"能微调"距离"能复现"还很远
很多模型项目会公开训练代码。
但这里又存在一个很容易混淆的问题:
公开了训练代码,不等于你可以复现这个模型。
因为真正完整的训练体系远不止一个 train.py。
它可能包括:
- 模型架构
- 数据清洗
- 数据去重
- 数据过滤
- 预训练配置
- SFT
- 偏好优化
- 数值精度
- 数据并行
- 张量并行
- 评估集
- 检查点策略
- 训练稳定性
- 失败恢复
所以:
"可以用 LoRA 微调"与"可以复现基础模型",完全是两回事。
你可以把它理解成:
给你一份赛车的改装说明书,不等于给你整个汽车工厂。
因此看到"训练代码开放"时,还要看:
开放的是微调代码,还是完整训练体系?
数据处理流程是否公开?
关键训练配置是否公开?
评估方法是否公开?
外部团队是否真的具备复现条件?
第四类资产:训练数据
这是最难完整开放的一部分
如果说模型权重决定了:
"我拿到了什么结果。"
那么训练数据决定的是:
"这个结果到底是怎么形成的。"
但训练数据往往是最难完整公开的。
原因很多:
- 版权
- 隐私
- 商业数据
- 第三方授权
- 数据来源变化
- 无法再分发的数据
- 合规要求
而且现代大模型训练数据也不是简单地:
把一堆网页下载下来 → 扔给模型训练。
中间还可能经历:
收集 → 清洗 → 去重 → 过滤 → 分类 → 质量评估 → 数据混合 → 合成数据 → 标注 → 多阶段训练
所以判断数据开放程度时,不能只看:
"训练数据有没有下载链接?"
更应该看:
- 数据来自哪些类型和来源?
- 如何筛选?
- 如何清洗?
- 如何标注?
- 哪些数据公开?
- 哪些数据受到限制?
- 是否披露已知风险?
- 外部团队能不能据此构建大体等价的数据流程?
这也是为什么现在讨论 AI 开放性时,"数据说明"本身也是非常重要的一部分。
所以,"开源"到底应该怎么看?
到这里,我们已经可以把一个模型拆成四类核心资产:
| 资产 | 解决什么问题 |
|---|---|
| 模型权重 | 我拿到了什么训练结果? |
| 推理代码 | 我能不能把它跑起来? |
| 训练代码 | 我能不能理解甚至复现训练过程? |
| 训练数据 | 我能不能理解模型的原料和边界? |
但对于 Agent 开发来说:
四类资产还不够。
因为你最终不是为了研究这个模型,而是要把它放进一个真实系统里。
所以还需要进行第二轮检查。
进入 Agent 项目后,还要检查这 6 件事
① 技术资产
不要只看模型权重。
还要看:
- 架构
- Tokenizer
- 推理代码
- 训练代码
- 数据说明
- 评估材料
② 法律许可
这是最容易被忽略的一项。
需要确认:
能不能商用?
能不能修改?
能不能再分发?
模型、代码和数据是不是使用不同许可证?
千万不要因为 GitHub 仓库写着 Apache 2.0,就默认:
这个项目里面所有模型权重、数据和衍生制品都是 Apache 2.0。
它们完全可能使用不同的许可证。
③ 工程可用性
你的机器到底跑不跑得动?
需要考虑:
- 显存
- 上下文长度
- 并发
- KV Cache
- 推理框架
- 量化
- 延迟
- 扩缩容
- 监控
一个模型 Benchmark 很强,但如果你的硬件根本跑不起来,对你的项目来说依然没有意义。
④ Agent 能力
这也是最容易被普通模型评测忽略的一点。
传统 Benchmark 可能告诉你:
数学能力不错。
代码能力不错。
综合能力不错。
但 Agent 真正关心的可能是:
Tool Calling 稳不稳定?
结构化输出是否可靠?
多轮任务能不能保持状态?
复杂任务中会不会乱调用工具?
所以:
模型能力强,不等于 Agent 能力强。
最终还是应该拿真实业务任务测试。
⑤ 安全治理
尤其是企业 Agent。
你会更关系:
- 数据会去哪里?
- 谁能访问模型?
- 能不能审计?
- 能不能回滚?
- 如何升级?
- 出现漏洞谁负责?
- Prompt Injection 怎么处理?
- 敏感数据怎么处理?
这时候你会发现:
"本地部署"只是安全能力的一部分,不是安全的终点。
⑥ 供应风险
最后还要考虑:
这个模型半年以后还能不能稳定使用?
包括:
- 模型版本是否稳定
- 权重来源是否可信
- 依赖的推理框架是否稳定
- 制品是否可以长期获取
- 社区是否活跃
- 官方是否持续维护
对于真正进入生产环境的 Agent:
模型不是下载下来就结束,而是一个长期需要维护的软件依赖。
把"开源模型"放进真实 Agent 看看
假设我们现在要给一家企业做一个:
合同审查 Agent。
我们有两个选择:
方案 A
使用闭源旗舰模型 API。
方案 B
使用开放权重模型,在企业内网部署。
如果只看:
开源 vs 闭源
很容易直接得出:
"B 更安全、更便宜、更可控。"
但真正进入工程评估以后,你会发现事情远没有这么简单。
方案 A:闭源 API
你需要确认:
- 合同原文是否允许发送到外部服务?
- 服务商是否保存数据?
- 是否会用于训练?
- API 服务区域在哪里?
- 是否满足企业合规要求?
- 有没有 SLA?
- 有没有限流?
- 模型升级会不会影响结果?
- 长期调用成本是多少?
方案 B:开放权重模型
你需要确认:
- 模型许可证是否允许商用?
- 权重来源是否可信?
- Tokenizer 是否匹配?
- 推理框架是否成熟?
- 企业现有 GPU 是否跑得动?
- 长合同 + 高并发能不能扛住?
- Tool Calling 是否稳定?
- JSON 输出是否可靠?
- 谁负责升级?
- 谁负责漏洞修复?
- 谁负责监控和灾难恢复?
到这里你会发现:
开放权重不会自动消除工程成本。
同样:
闭源 API 也不代表一定缺少企业级的数据控制能力。
最终应该比较的是:
约束 + 能力 + 成本 + 风险 + 长期维护
而不是简单给模型贴一个:
开源 / 闭源
的标签。
结语:开源只是起点,不是准入结论
说到底,"开源"回答的是模型开放到了什么程度;"能不能做 Agent"回答的,则是它是否值得被纳入你的生产系统。两者有关,但从来都不是一回事。
既然自建底座模型需要承担许可证核查、硬件采购、推理优化、Agent 评测、安全治理和长期维护等一整套成本,那么是不是大多数企业都应该直接选择已经成熟的 LLM 服务?
答案是:是的,大多数企业都应该优先从成熟的托管模型服务开始。,当然你们公司实在是太有钱了的另说!
