
又双叒叕经历从0到1翻译一个安卓应用到鸿蒙的需求,并且近期Skill的概念很火,想着能通过Skill真正的解决一些实际业务遇到的一些问题,所以开始着手维护一个鸿蒙依赖分析的Skill,为了协助Curosr更好的理解端侧的二方包,最后我得出了两个暴论:
1、目前很多知识库是冗余的,随着模型能力越来越强,需要提供的业务知识库是需要减负的
2、未来我们各种二方包的接入方式都会以Skill的形式提供,从面向人转到面向AI
// 你向 AI 提问:"帮我将 Android 定位服务迁移到鸿蒙"// AI 生成的代码(看起来很专业)LocationExpires.ONE_MINUTE // ❌ 这个枚举值不存在params.onSuccess = (result) => { ... } // ❌ 回调位置错误// 编译器提示:13 个错误Property 'ONE_MINUTE' does not exist on type 'LocationExpires'开发者的困惑:
AI 不是能理解代码吗?为什么会犯这种低级错误? 文档明明存在,为什么 AI 不看文档? 第一次踩坑修好了,第二次还会踩,知识怎么沉淀?



表面问题:Android 代码如何迁移到鸿蒙?
深层问题:
- 知识获取:开发者如何快速掌握新平台的 API?
- 知识传递:团队如何避免重复踩坑?
- 知识演进:API 更新后如何快速同步?
- AI 协同:如何让 AI 使用最新的领域知识?


知识的三个状态:
- 隐性知识:在老员工脑子里("这里要用 ONE_MIN,别用 ONE_MINUTE")
- 显性知识:在文档里(但分散、滞后、难搜索)
- 可执行知识:在 Skills 里(结构化、可索引、AI 可读)





关键环节:
- 输入阶段:AI 加载 Skills 获取领域知识
- 生成阶段:AI 使用 Skills 中的映射表
- 验证阶段:编译/测试验证准确性
- 反馈阶段:问题 → 提炼 → 更新 Skills
- 沉淀阶段:成功经验 → 记录到 Skills

▐ 问题背景
业务场景:穿搭业务需要从0到1迁移到鸿蒙
技术挑战:
154 个 Android 服务需要迁移 每个服务涉及不同的 API 映射 团队中大部分人不熟悉鸿蒙 API

▐ 三种方式对比
方式 1:纯 AI 翻译(❌ 快但不准)
方式 1:纯 AI 翻译(❌ 快但不准)
方式 1:纯 AI 翻译(❌ 快但不准)
操作:
提问:"帮我将 Android 的 LBSService 翻译到鸿蒙"
// AI 基于"常识"猜测的枚举值LocationExpires.ONE_MINUTE // ❌ 实际是 ONE_MINLocationExpires.FIVE_MINUTE // ❌ 实际是 FIR_MINLocationAccuracy.MID_MODE // ❌ 这个枚举不存在// AI 推测的回调方式const params = new LocationRequestLocationParams();params.onSuccess = (result) => { ... }; // ❌ 回调不在这里结果:
编译错误:13 个 调试时间:无法估计 根本原因:AI 没有准确的 API 文档
方式 2:查源码 + 人工修正(✅ 准但慢)
方式 2:查源码 + 人工修正(✅ 准但慢)
方式 2:查源码 + 人工修正(✅ 准但慢)
操作流程:
打开 Mega Location 源码 查看实际的枚举定义 逐个修正 AI 生成的错误 测试验证
// ✅ 实际的枚举定义(非常反直觉)export enum LocationExpires { ONE_MIN = "ONE_MIN", // 不是 ONE_MINUTE SEC_MIN = "SEC_MIN", // 不是 TWO_MINUTE (SEC = SECOND) THR_MIN = "THR_MIN", // 不是 THREE_MINUTE (THR = THREE) FOR_MIN = "FOR_MIN", // 不是 FOUR_MINUTE (FOR = FOUR) FIR_MIN = "FIR_MIN" // 不是 FIVE_MINUTE (FIR = FIVE)}// ✅ 实际的回调方式const options: Location.LocationRequestOptions = { onSuccess: (result: LocationData) => { ... } // 回调在 options 内};结果:
编译错误:0 个 耗时:40 分钟 问题:知识留在开发者脑子里,下次还要重新查
方式 3:AI + Skills(✅ 又快又准)
方式 3:AI + Skills(✅ 又快又准)
方式 3:AI + Skills(✅ 又快又准)

## 4. API 对比### 4.1 LocationExpires 枚举值映射| Android 常量 | 鸿蒙枚举 | 说明 ||-------------|---------|------|| "1m" | LocationExpires.ONE_MIN | ⚠️ 不是 ONE_MINUTE || "2m" | LocationExpires.SEC_MIN | SEC = SECOND,不是 TWO_MIN || "3m" | LocationExpires.THR_MIN | THR = THREE,不是 THREE_MIN || "4m" | LocationExpires.FOR_MIN | FOR = FOUR,不是 FOUR_MIN || "5m" | LocationExpires.FIR_MIN | FIR = FIVE,不是 FIVE_MIN |⚠️ **不存在的枚举值**(AI 经常错误生成):- ❌ `ONE_MINUTE`, `TWO_MINUTE`, `FIVE_MINUTE`- ❌ `TEN_MINUTE`, `MID_MODE`### 4.2 定位请求方法对比| Android | 鸿蒙 | 差异说明 ||---------|------|---------|| `LocationServiceBridge.requestLocation()` | `Location.requestLocation()` | 回调方式不同 |#### 关键差异:回调设置方式**Android**(回调作为独立参数):```kotlinLocationServiceBridge.requestLocation( params, { result -> ... }, // 成功回调 { error -> ... } // 失败回调)const options: Location.LocationRequestOptions = { bizName: 'TB_SHOPPING_PROCESS', onSuccess: (result: LocationData) => { ... }, // ✅ 在 options 内 onFail: (error: string) => { ... }};Location.requestLocation(params, options);▐ 三种方式的本质差异
▐ 三种方式的本质差异


▐ 规模化效果
▐ 规模化效果


102 - 77 = 25 小时关键价值:
⏰ 效率提升:节省 25 小时 📚 知识资产:154 个服务的迁移经验永久沉淀 🚀 团队加速:新人 0 学习成本 🔄 持续演进:API 更新后,只需更新 Skills

方法论推广

方法论推广
▐ 适用场景

▐ 构建 Skills 的原则
原则 1:AI 友好的结构化
原则 1:AI 友好的结构化


原则 2:持续演进
原则 2:持续演进
原则 3:分层组织
原则 3:分层组织


未来展望

未来展望
▐ 从 Skills 到知识图谱


价值:
AI 可以理解模块间的依赖关系 自动推荐相关的 Skills 提供跨模块的最佳实践
▐ 从被动查询到主动建议


技术方案:
IDE 插件实时分析代码 匹配 Skills 中的常见陷阱 编译前预警
▐ 从静态文档到动态生成

价值:
Skills 永远是最新的 0 人工维护成本 覆盖所有场景
▐ 从个人工具到组织能力

终极愿景:
新人入职第一天就能高效工作(AI 教学) 老人离职后知识不流失(Skills 沉淀) 组织智慧持续积累(每次踩坑都是资产)

结语:重新定义软件工程的知识传递

结语:重新定义软件工程的知识传递
▐ 传统模式的困境

▐ AI + Skills 的突破

▐ 核心价值主张
- 效率提升:AI 的速度 + 领域专家的准确度
- 知识沉淀:从"人脑记忆"到"组织资产"
- 持续演进:每次踩坑都让 Skills 更完善
- 团队赋能:新人 0 学习成本,老人不再重复劳动
