标签

AI 工具在逻辑权衡上的局限

发布时间:2026-06-12 00:00阅读:2

在利用 Flink 将数据同步至 Doris 的实践中,亟需推导出一套科学的计算公式,以便精准预估 Doris 所需的内存配置。

鉴于数据的抽取与输出全流程由 Flink 掌控,而笔者对 Flink 内部机制尚显生疏,即便多次请教 AI 工具,得到的答复依旧模糊不清。哪怕下载源码并为 AI 补充更多上下文,结果虽略有改善,却仍无法根治问题。基于对 Flink 的浅显认知,笔者归纳出一个简化模型:行数 × 单行数据量 × 检查点周期内的读取批次 × 预留系数 + 基础开销 = Doris 所需内存。其中,前三项之积代表一个周期内传输至 Doris 的数据总量;预留系数意在防止内存耗尽,若预留 50%,该系数即为 2;基础开销则指 Doris 在无业务负载时也必须占用的内存。从逻辑上看,该公式大体成立,若非要挑剔,预留系数是应用于整体内存还是排除基础量后的部分,两者皆有其理。

此公式用于估算个别场景时,似乎能得出一个直觉上合理的数值。然而一旦扩大参数变量的范围,误差便显著加剧。前文已述,Flink 在数据传输过程中,除公式前三项外,已知影响因素尚多,未知变量更是不计其数,且各因素取值跨度极大。因此,将其推广至更多实际场景时,偏差难以避免。

既然人工优化此公式举步维艰,便寄希望于 AI 工具借助源代码进行改良。尽管 Flink 代码库庞大,但这对于 AI 而言并非难事,恰好能弥补笔者对 Flink 数据处理原理认知的不足。于是,将初步公式、现存缺陷、优化需求,连同 Flink 源码及部分真实场景下的参数与内存对应关系,一并投喂给 AI 工具。这是过往积累的经验:要激发 AI 的潜能,必须提供充足的上下文,此次提供的信息已相当完备。同时,明确要求 AI 聚焦于合理估算 Doris 内存,生成的公式需简洁易用,并可借鉴行业最佳实践进行优化。

AI 工具迅速给出了新公式,不仅详尽指出了原公式的诸多弊端,还阐明了新方案如何兼容这些问题,甚至贴心地用各场景数据进行了验证,列出了偏差幅度。然而,新公式的参数多达十余个,且引入了诸如“安全系数”等模糊变量,将诸多不确定因素统统归入此类。若模糊参数仅有一个尚可接受,但近半数参数皆属此类,导致公式在实际应用中极难落地,厘清各参数含义困难重重,完全无法满足“可操作性”的要求。将此反馈给 AI 后,它虽能快速缩减参数数量,但在可操作性上并无实质提升,依旧存在参数难以估测或定义不明的问题。

猛然醒悟,AI 工具本质上仍是机器,在某种维度上表现得“过于严谨”。我们的目标是获取一个能快速估算 Doris 内存的公式,而非追求极致精确;虽不要求分毫不差,但量级必须合理——例如需 16G 内存,算出 12G 可接受,但 8G 则不可行。“快速估算”、“无需精确”、“保持合理”,当目标需要在这些矛盾中寻找平衡时,AI 工具往往难以领会。因此,无论怎样变换提问方式,结果都难以得到实质性改善。