早期 kpro-tools 从 38 个真实 profile 中总结基础规律。当前 KL Profile 又使用 Kaffelogic 最新 16 条官方海拔矩阵、99 条 Community 曲线及多组第三方曲线完成 交叉验证:Natural / Washed 直接从官方目标曲线和风扇曲线出发,产区、含水率、 风味目标与烘焙节奏作为受限的阶段变换叠加,而不是重新生成一条通用曲线。

海拔(同处理法、同冲煮方式下)

项目 0-1200m 1000-1700m 1500-2200m 2000-2700m
一爆温度 expect_fc(Filter-Natural) 212 209 206 205
一爆温度(Filter-Washed) 213 208 206 204
一爆温度(Espresso-Natural) 208 206 204 202
一爆温度(Espresso-Washed) 210 205 203 201
roast_levels(Filter-Natural 第0档) 215 211.8 209 207.4
预热功率(Filter-Natural) 850 850 850 800
风扇降速起始点 365s 370s 375s 380s

规律:海拔越高 → 探针一爆温度越低(每档约 -2~-3°C)、roast_levels 整体 下移、曲线前期更慢、风扇更早保持高速、预热功率略低。高海拔豆密度大、 内部结构紧,需要更稳的前段能量管理和更短的「表观」一爆温度。

处理法

  • 同海拔下 Washed 比 Natural 的 expect_fc 高约 1°C(Filter 213 vs 212; Espresso 210 vs 208);
  • Washed 的预热功率明显更低(Espresso 670 vs 770),roast_levels 整体高 约 1°C;
  • Washed 曲线中段(~160°C)更晚到达:Espresso Washed 189s vs Natural 172s (0-1200m)。

对应专业烘焙经验:水洗豆更「干净」、吸热/放热行为更温和,需要略低的起始 能量;日晒豆糖分多、美拉德反应更活跃,起始能量更高、一爆探针温度更低。

新增处理法:湿刨法 / 蜜处理

expect_fc(Filter,4 档海拔):

处理法 0-1200m 1000-1700m 1500-2200m 2000-2700m
日晒 212 209 206 205
水洗 213 208 206 204
湿刨法 210 207 204 203
蜜处理 213 210 207 206

预热功率(Filter):

处理法 0-1200m 1000-1700m 1500-2200m 2000-2700m
日晒 850 850 850 800
水洗 870 840 840 790
湿刨法 840 840 840 790
蜜处理 830 830 830 780

规律与说明:

  • 湿刨法 fc 最低(低酸、多孔,一爆探针温度低)。预热最初按黄金曼特宁样例 设为很低(570W),但标准曲线第一分钟升温快,低预热与曲线斜率不匹配会触发 Studio「预热过低 / 加热太慢」提示,已校准到与曲线一致(≈日晒 −10W);
  • 蜜处理 fc 依据两份真实样例(埃塞 Elto、哥伦比亚粉波旁厌氧蜜处理)校准为 ≈日晒 +1°C(水洗水平);
  • 预热功率必须与曲线第一分钟斜率匹配(约 12W 每 °C/分,120g / 14700rpm), 否则机器会报预热过低。

冲煮方式

  • Espresso 官方曲线点更密,在推荐档位的 DTR 约为 13%;
  • Filter 官方曲线在推荐档位的 DTR 约为 14%,完整曲线末端不等于实际停火点;
  • Espresso 的 roast_levels 通常为一爆温度 + [0,2,4,6,8,10,12]
  • Filter 档位表随官方模板保留,不再假定所有曲线都有同一固定步长。

烘焙度(深烘)

Natural / Washed 的官方海拔模板本身覆盖 0–6 档,普通深烘继续使用模板档位, 「深浅」由 recommended_level 的停火阈值实现。Very Dark 仍使用专用长曲线。

Community 语料没有支持“所有深烘 Filter 都增加 Zone 1 +3°C/min”的泛化, 因此默认不再注入该区域。控制区域只跟随已经验证的具体模板;目前自动保留的 是官方 Espresso Natural / Washed 在一爆附近的 Zone 3 -0.1°C/min

四阶段曲线优化

Natural / Washed 的产区、含水率、风味与节奏调整建立在官方完整 Bézier 曲线上。算法先在 110°C 早期节点、175°C 黄点/梅纳节点、一爆点和发展中点 精确切分曲线,再分别变换:

  1. 官方基线保真:平衡且无额外调整时,温度曲线、风扇、档位、预热和 高级控制参数与对应官方模板一致;
  2. 阶段化变换:前段调整预热与干燥,中段调整黄点至一爆,后段调整发展 时间;FC 与末端温度只做小幅温度偏移。切分使用 De Casteljau 算法,不会 改变原曲线几何形状,也不会让发展期调整反向移动一爆;
  3. 生成后安全验证:对实际 Bézier 插值结果检查负 RoR、时间倒序、 0–5.9 档位可达性、推荐档位、最小期望 RoR 和控制区域重叠;
  4. 节奏包络标定:Balanced 保持官方基线;Fast 采用 profiles-2026 快速精品曲线的保守侧(典型 FC 约提前 24 秒、发展缩短约 10–20 秒); Slow 参考 CLAB/XCLAB Sweet/Strong 曲线(典型 FC 约延后 12 秒、发展 延长约 5–10 秒)。这些幅度不自动改变用户选择的烘焙档位。

Very Dark 和暂缺官方矩阵的 Wet-Hulled / Honey 仍使用保守回退曲线,但同样 必须通过全曲线安全验证;回退曲线会保证完整 0–5.9 档位可达。

高级参数的安全边界

  • PID 0.717 / 0 / 3.55、比热修正 2.1 / 4.0 和预测参数在官方与绝大多数 Community 曲线中保持一致,不按风味目标动态修改;
  • 最小期望 RoR 与结束比例跟随官方模板,并校验其低于完整目标曲线最低 RoR;
  • Corner、Power Analysis 区域和非默认 Kp/Kd 只在导入时保留,不自动生成;
  • 官方 Filter 的 expect_colrchange 为 0,官方 Espresso 为 175,均随模板写入。