夜雨聆风学习资料网

ARTICLE · 1094960

问 AI 鸿蒙 API,它一本正经给你编一个:怎么破?

问 AI 鸿蒙 API,它一本正经给你编一个:怎么破?
用过 AI 写鸿蒙代码的朋友大概率见过这一幕:你问一个 API,它流利地给你 import 语句、参数表、示例代码——看起来完全能跑,一编译,API 根本不存在。这不是模型笨,是它的处境就这样:模型只有训练记忆,看不见你本机的 SDK 版本。鸿蒙 API 迭代快、各版本差异大,训练语料里混着过时答案,它只能凭印象编。
提示词解决不了这个问题。你在提示词里写「不要编造 API」,模型会答应,然后继续编——只是语气更自信了。因为「知道自己在编」和「知道自己没在编」是两回事,后者需要外部事实。我们的解法:给模型一副眼镜。hmharness 在构建时就把本机 SDK 的 927 个 d.ts 文件全部解析,索引出 20,241 个符号(0.2 秒建完)。
模型每次要用鸿蒙 API,先查索引:查得到,返回真实签名;查不到,返回「此 API 不在你的 SDK 中,不要猜测」。效果很直接:模型从「一本正经地编」变成「诚实地拒绝,并给出正确的替代 API」。幻觉不是被说服的,是被索引拦截的。
三个细节:一、索引按本机实时构建。SDK 更新了,索引跟着重建,永远不会给你训练记忆里的旧 API。二、拒绝时给替代。查不到 systemStartAbilityEx,索引会告诉模型「你可能想找 startAbility」——拒绝和引路一起做。三、这个思路可以复制。
不只鸿蒙:任何有类型定义文件的生态(d.ts、.h、proto)都能这么干。防幻觉的本质是给模型提供「可查询的事实」,而不是「善意的叮嘱」。
这套索引已内置在开源工具 hmharness(MIT)里,连同零 IDE 的鸿蒙全流程工具链(建工程/构建/签名/装机/日志)。做鸿蒙又常被 AI 幻觉折磨的朋友可以试试:github.com/swsgbl/hmharness

相关学习资料