一句话定义:n 参数是大模型 API(Application Programming Interface,应用编程接口)里的一个字段,用来指定「这一次请求返回几条彼此独立的候选结果」,默认值通常是 1。
原理:把「抽一次」变成「抽多次」
模型写每个字(token)时,其实是在做一次抽样(sampling):按概率分布从候选词里抽一个。抽到哪个带随机性,所以同一个问题问两遍,答案可能不一样。n 参数就是把这条随机路径复制 n 份:同一个输入,独立抽 n 条完整结果回来。
打个比方:你让五个实习生分头做同一道题,各自独立完成,最后把五份答卷一起交给你。n 就是「派几个实习生」。注意他们看的是同一份题目(输入 prompt 只处理一次,可以复用),但每份答卷要各自从头写到尾。
这直接决定了成本结构:输入部分基本不涨,输出部分是 n 倍。多数服务按输出 token 总量计费,所以 n=5 大致就是 5 份解码的钱,具体计价以官方页面为准。延迟上,多条候选一般并行解码,但会占用更多算力配额,高并发时更容易撞限流。
和相邻概念的区别
n 是「参数」,Best-of-N 和自一致性(AI 词典:Self-Consistency">Self-Consistency)是「用法」。n 只负责多给几份,不负责挑;挑的动作由下游完成。
| 概念 | 是什么 | 谁来做选择 |
|---|---|---|
| n 参数 | 接口字段,一次返回几条候选 | 不选,全给你 |
| Best-of-N | 策略:生成 N 个候选后用打分器/验证器取最优 | 奖励模型或硬规则(如单元测试通过) |
| 自一致性 | 策略:多条推理链,对最终答案投票 | 多数票 |
| 束搜索(Beam Search) | 解码算法,保留概率最高的若干前缀继续搜 | 按累计概率 |
区别的关键在于:束搜索是在一条生成路径上「留后路」,n 是开出 n 条互不相干的路;Best-of-N 和自一致性都得先有 n 条路,才有得选。
对从业者的意义
n>1 真正划算的场景,是答案能被自动验证的时候:生成 5 份代码跑单元测试、生成 5 份 JSON 看哪份能解析、分类任务多份投票压噪声。这种场景下 n 是最便宜的准确率杠杆。反过来,开放式写作开 n=5 意义不大——还是得人一份份读,钱花了,时间没省。
两个常见的坑:一是 temperature 设成 0 时,n>1 往往返回几乎相同的文本,白花钱;二是部分接口已不支持 n>1 或直接忽略该字段,用之前查一下官方文档。
