作为一人公司(OPC),我在高德空间智能开发者大赛中获得了二等奖。从立项到提交只用了10天,完成了Android和HarmonyOS NEXT双平台适配。本文分享我与AI高效协同开发的方法论。

一、10天,一个人,两个平台

先说结论:AI不是来取代开发者的,而是来增强开发者的。

10天完成双平台App,听起来不可思议。但拆解下来,核心在于:

  • 知道什么必须自己做
  • 知道什么可以交给AI
  • 知道如何让两者高效配合

时间分配

阶段 天数 主要工作 AI参与度
头脑风暴与架构设计 2天 产品定义、技术选型、架构设计、算法设计、开发计划 中(利用AI做可行性分析)
Android开发 3天 核心业务逻辑、算法实现与迭代、UI开发、联调测试 高(AI加速编码)
鸿蒙适配 5天 平台适配、原生SDK集成、Bug修复、双端调试 低(AI帮助有限)
Day 1-2:头脑风暴与架构设计

这两天没写一行代码,但做了最重要的事:

  • 产品定义:明确要解决什么问题、核心差异化是什么
  • 技术选型:Flutter跨平台?原生双端?WebView还是原生SDK?
  • 架构设计:模块划分、数据流、接口定义
  • 算法设计:核心算法的思路和流程
  • 开发计划:拆解任务、估算时间、确定优先级

AI在这个阶段的价值:充分利用AI知识的广度做可行性分析。

比如我会问:

  • “Flutter在鸿蒙上的适配现状如何?有哪些已知的坑?”
  • “高德地图有哪些API可以获取卫星图?各自的限制是什么?”
  • “WebView方案和原生SDK方案各有什么优缺点?”

AI能快速给我一个全景视图,帮我避开明显的坑,但最终的技术决策还是我自己做。

Day 3-5:Android开发

这3天是开发强度最高的阶段,核心逻辑和算法迭代占了极大比重:

工作内容 时间占比 AI参与方式
核心算法实现与迭代 50% 我设计算法流程,AI帮我快速实现,我测试验证,发现问题后调整设计,再让AI重新实现
业务逻辑开发 30% 我定义接口和数据结构,AI生成实现代码
UI开发 15% 我画草图,AI生成Flutter代码,我调整细节
联调测试 5% 主要靠自己,AI帮忙分析错误日志

关键点:算法不是一次写对的,而是"设计→实现→测试→发现问题→重新设计"的循环。AI的价值在于让每次"实现"的时间从几小时缩短到几十分钟,让我有更多时间思考和迭代。

Day 6-10:鸿蒙适配

这5天是最痛苦的阶段,AI帮助有限:

  • 鸿蒙是新平台,AI的训练数据少
  • 很多问题需要实际运行才能发现
  • 原生层的Bug需要自己读源码、加日志、定位修复

教训:对于新平台,要预留足够的buffer时间。

二、人机分工:各司其职

2.1 我负责的部分(不可替代)

职责 为什么AI做不了
技术选型 需要结合比赛要求、时间约束、个人技术栈综合判断
产品创意 需要对用户痛点的洞察和差异化思考
架构设计 需要预判扩展性、维护性、平台差异
算法设计 核心创新点,是项目的灵魂
测试调优 需要实地验证、主观判断、反复迭代
最终决策 当AI给出多个方案时,选择权在我

2.2 AI负责的部分(效率倍增)

职责 效率提升
框架搭建 项目结构、配置文件、样板代码 → 效率提升5倍
代码实现 根据我的设计快速生成代码 → 效率提升10倍以上
文档编写 API文档、注释、README → 效率提升5倍
问题分析 解释错误信息、提供解决思路 → 效率提升5倍以上

特别是代码实现和问题分析这两块,AI的提升是数量级的。以前写一个模块可能要半天,现在设计好接口后,AI几分钟就能生成初版代码。以前遇到报错要自己查文档、搜Stack Overflow,现在直接把错误信息丢给AI,秒出分析。

2.3 协同完成的部分

  • UX优化:我提需求,AI生成代码,我调整细节
  • 性能优化:我发现问题,AI提供方案,我验证效果
  • 疑难排查:我定位现象,AI分析原因,我实施修复

三、协同开发的正确姿势

3.1 先设计,再动手

这是我认为最重要的一条经验:在写第一行代码之前,先把架构设计清楚。

很多人用AI的方式是边想边写,让AI帮忙"摸着石头过河"。这样做的问题是:

  • AI不知道全局,容易写出互相矛盾的代码
  • 你自己也会迷失在细节里
  • 后期重构成本极高

我的做法:项目全程维护两个核心文档:

文档 内容 作用
架构设计文档 模块划分、接口定义、数据流、技术选型 让AI理解全局,生成的代码风格一致
开发进度文档 已完成功能、进行中任务、待办事项、已知问题 每次对话时给AI上下文,避免重复劳动

实际效果

  • 每次和AI对话,先把相关的设计文档喂给它
  • AI生成的代码天然符合整体架构
  • 遇到问题时,能快速定位是哪个模块的责任

教训:前两天我花了大量时间写设计文档,当时觉得"浪费时间"。但后面8天的开发异常顺利,证明这个投入是值得的。

3.2 你做设计,AI做实现

错误姿势

我:帮我写一个露营选址App
AI:好的,这是完整代码...

正确姿势

我:我设计了一个评分模型,公式是 总分=W1×A+W2×B+W3×C,
   其中W1/W2/W3根据用户选择的模式不同而变化,
   请帮我实现这个评分计算器类
AI:好的,根据你的设计...

核心原则:AI是执行者,你是设计者

3.3 给AI足够的上下文

低效沟通

我:这个函数有bug
AI:请提供更多信息...

高效沟通

我:这个函数在输入为空数组时返回null而不是空列表,
   预期行为是返回空列表,
   相关代码是...,
   错误日志是...
AI:问题在于第15行的判断条件...

3.4 验证AI的输出

AI生成的代码不能直接用,必须:

  1. Review逻辑:AI可能误解你的意图
  2. 检查边界:AI容易忽略边界情况
  3. 测试运行:实际跑一遍才知道对不对
  4. 调优参数:AI给的是"能用",你要的是"好用"

3.5 知道AI的边界

AI擅长的

  • 解释概念、API用法
  • 生成样板代码
  • 提供多种方案
  • 格式转换、重构

AI不擅长的

  • 平台特定的Bug(尤其是新平台如鸿蒙)
  • 需要实际运行才能发现的问题
  • 涉及主观判断的决策
  • 创新性的设计

3.6 问题解决不了时,先反思方向

当AI反复给不出满意答案时,不要死磕,先停下来思考:

是方向错了,还是触及了AI的边界?

  • 方向错了:你问的问题本身就不对,需要换个角度思考
  • 触及边界:这个问题AI确实解决不了,需要你自己上

判断方法

  • 如果AI给的答案都是"正确但没用"的教科书式回答 → 可能是方向错了,需要重新思考问题本质
  • 如果AI明显在瞎编或者说"我不确定" → 可能触及边界了,需要自己查资料或读源码

案例:鸿蒙适配时,我问AI怎么解决WebView卡顿,AI给了一堆优化建议都没用。后来我意识到:不是优化的问题,是WebView方案本身在鸿蒙上就不行。方向错了,换成原生SDK才解决。

四、实战案例

4.1 案例一:鸿蒙适配踩坑

背景:Android端用WebView方案运行流畅,但鸿蒙端卡顿严重。

AI的建议

  • 动画节流
  • 减少重绘
  • 优化渲染

实际情况:全部无效。

我的解决

  1. 放弃WebView方案,改用原生SDK
  2. 发现原生SDK有Bug,把源码引入本地依赖
  3. 通过双端日志定位问题,直接修复原生层代码

教训:AI对新平台(鸿蒙)的了解有限,复杂问题还得靠自己。

4.2 案例二:二次精定位技术的诞生

背景:初版算法定位误差约50米,在做标记点时漂移严重,会标记到到水体上,体验差。

我问AI:如何提高定位精度?

AI的建议

  • 提高图片分辨率
  • 使用更大的AI模型
  • 增加训练数据

问题:这些方案要么成本高,要么周期长,10天内根本做不了。

我的思考

  1. 误差的本质是什么?→ AI在大范围图片中识别目标的视觉误差
  2. 能不能缩小识别范围?→ 先粗定位,再精定位
  3. 如何确定精定位的区域?→ 根据粗定位结果选择子区域

最终方案:我设计了一个"象限细分+二次定位"的方案,将误差从50米降到了15-20米。

教训:AI能给你"教科书式"的答案,但真正的创新需要你自己思考问题的本质。这个方案AI想不出来,因为它需要对具体场景的深入理解。

4.3 案例三:高效生成代码

我的输入

设计一个统一地图控制器,要求:
1. 抽象接口:setCenter, addMarker, removeMarker, showCircle
2. 两个实现:WebViewAdapter(Android), NativeAdapter(OHOS)
3. 业务层调用统一接口,底层自动切换

AI的输出:完整的接口定义 + 两个适配器实现 + 工厂方法

我的工作:Review、调整细节、补充平台特定逻辑

效率:原本需要1天的工作,2小时完成。

五、工具链

5.1 开发阶段

环节 工具 用法
代码编写 AI编程助手 根据设计生成代码、解释API、排查问题
架构设计 白板/脑图 自己画,AI不参与
测试调优 真机 必须实际运行,AI帮不了

5.2 材料准备阶段

环节 工具 用法
PPT制作 NotebookLM + WPS NotebookLM上传项目文档,AI生成PPT初稿;WPS做微调和美化
视频录制 OBS Studio 录屏
视频剪辑 剪映 剪辑、字幕、配音

六、给一人公司的建议

6.1 拥抱AI,但不依赖AI

AI能让你的效率提升5倍以上,但:

  • 核心竞争力必须是你自己的思考
  • 创新点必须是你自己设计的
  • 质量把控必须是你自己做的

6.2 选择合适的项目

适合AI协同的项目:

  • 技术栈成熟(AI训练数据多)
  • 有明确的设计(你能清晰描述需求)
  • 可以快速验证(能跑起来看效果)

不适合的项目:

  • 前沿技术(AI不了解)
  • 需求模糊(你自己都说不清)
  • 验证周期长(等不起)

6.3 源码即文档

AI时代的一个重要认知转变:源码即文档

过去我们写代码,还要额外写一份文档给别人看。现在有了AI,情况变了:

  • AI可以直接阅读源码,理解代码逻辑
  • 你把源码喂给AI,它能帮你生成文档、解释逻辑、找出问题
  • 维护文档的成本大大降低,因为AI可以随时从源码生成

实际做法

  • 代码写清晰、命名规范、适当注释
  • 需要文档时,让AI从源码生成
  • 架构设计文档还是要自己写,但实现细节的文档可以让AI代劳

这意味着:写好代码本身,就是在写文档。

6.4 自上而下的学习方式

AI时代,学习方式也要变。

传统方式(自下而上)

学基础语法 → 学框架原理 → 学设计模式 → 做项目应用

这种方式扎实,但太慢。学完基础可能热情已经消退了。

AI时代(自上而下)

先有想法 → 让AI帮你实现 → 遇到问题再学相关知识 → 逐步深入

这种方式更高效:

  • 带着目标学习,动力更强
  • 遇到什么学什么,针对性强
  • AI随时可以解释你不懂的概念
  • 先跑通再优化,快速获得正反馈

我的实践:这个项目用到了Flutter、高德SDK、鸿蒙原生开发,我之前都不熟。但我没有先花一个月学Flutter基础,而是直接开始做,遇到不懂的就问AI。10天下来,该学的都学了,还做出了成品。

核心转变:从"学会了再做"变成"边做边学"。AI让这种学习方式成为可能。

6.5 建立自己的方法论

每个人和AI协同的方式不同,关键是:

  1. 多尝试,找到适合自己的节奏
  2. 记录有效的prompt和工作流
  3. 持续优化,形成肌肉记忆

七、写在最后

10天完成双平台App,这件事证明了两点:

第一,OPC技术闭环是可行的。 一个人,从产品设计到架构设计,从算法实现到双平台适配,从测试调优到材料准备,完整走完全流程。AI让这成为可能。

第二,AI确实强大,但要以人为中心。 AI是工具,不是主人。你要能把控住它,而不是信马由缰。

具体来说:

  • 你定方向:产品做什么、技术怎么选、架构怎么设计,这些必须你来决定
  • 你做设计:核心算法、创新点、差异化,这些是你的价值所在
  • 你把控质量:AI生成的代码要Review,效果要验证,参数要调优
  • 你承担责任:最终交付的是你的作品,不是AI的作品

AI是放大器,放大的是你本来就有的能力。如果你有清晰的思路和扎实的基础,AI能让你一个人顶一个小团队。

但如果你自己都不知道要做什么,AI只会让你更快地走向错误的方向。


决赛结果公布
赛事证书:
在这里插入图片描述

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐