// config/ModelConfig.java
@Bean("fastModel")
public Model fastModel() {
return DashScopeChatModel.builder()
.apiKey(apiKey)
// 1.2元/百万token ,或者用最便宜的 qwen-flash 也够了,0.15元/百万token
.modelName("qwen3.6-flash")
.stream(true)
.enableThinking(false)
.build();
}
@Bean("strongModel")
@Primary
public Model strongModel() {
return DashScopeChatModel.builder()
.apiKey(apiKey)
// 12元/百万token 或者用最新的 kimi/kimi-k3 20元/百万token
.modelName("qwen3.7-max")
.stream(true)
.enableThinking(false)
.build();
}
@Bean("strongModelWithThinking")
public Model strongModelWithThinking() {
return DashScopeChatModel.builder()
.apiKey(apiKey)
// 12元/百万token 或者用最新的 kimi/kimi-k3 20元/百万token
.modelName("qwen3.7-max")
.stream(true)
// 开启深度思考
.enableThinking(true)
.build();
}
@Bean("stableModel")
public Model stableModel() {
return DashScopeChatModel.builder()
.apiKey(apiKey)
//6元/百万token
.modelName("glm-5.1")
.stream(true)
.enableThinking(false)
.build();
}
| 模型 Bean | 实际模型 | 深度思考 | 单价 | 用在哪 |
|---|---|---|---|---|
| strongModel | qwen3.7-max | 关 | 12元/百万 | MasterAgent |
| strongModelWithThinking | qwen3.7-max | 开 | 12元/百万 | BookingAgent |
| stableModel | glm-5.1 | 关 | 6元/百万 | InfoAgent |
| fastModel | qwen3.6-flash | 关 | 1.2元/百万 | 会话标题生成 |
模型的分配我们是「按任务价值 + 是否需要慢思考」两个维度切的: 最强档 qwen3.7-max:留给核心决策链。其中主编排和行程单管理用不开思考的版本(要快、要能利用隐式缓存);而预订执行和行程规划这两个最复杂、最容易出错的环节,特意换成了开启深度思考的 strongModelWithThinking——这两处一旦规划错方案或订错票代价最高,用慢思考换准确率是划算的。这是相比上一版 ModelConfig 新增的一档。 中档 glm-5.1(stableModel) 承担「相对确定、但仍需要一定语言能力」的活:信息查询、审批、L3 意图识别、问题改写,还有一个很聪明的复用——所有 Agent 的历史压缩/摘要都用它,因为压缩是后台动作,没必要烧最贵的模型。 最便宜档 qwen3.6-flash(fastModel) 全部给了「锦上添花、对质量不敏感」的轻量旁路任务:标题、推荐问题、偏好抽取——这些就算偶尔差点也无伤大雅,用最便宜的模型批量跑最省钱。 一句话总结这套策略:越靠近"订票/规划"这种一旦错就赔钱的环节,模型越强、还要开慢思考;越是后台/装饰性任务,模型越便宜。