一人公司10天完成双平台App:我与AI协同开发的方法论
本文分享了作者作为一人公司(OPC)在高德空间智能开发者大赛中10天内完成Android和鸿蒙双平台开发的经验。核心方法论是:AI作为执行者辅助开发,而开发者专注于设计决策。作者将开发分为三个阶段:头脑风暴与架构设计(2天)、Android开发(3天)、鸿蒙适配(5天),详细阐述了人机协作的具体分工。AI擅长代码实现、问题分析等重复性工作,而开发者需把控产品创意、架构设计等核心环节。文章还通过实战
作为一人公司(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生成的代码不能直接用,必须:
- Review逻辑:AI可能误解你的意图
- 检查边界:AI容易忽略边界情况
- 测试运行:实际跑一遍才知道对不对
- 调优参数: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的建议:
- 动画节流
- 减少重绘
- 优化渲染
实际情况:全部无效。
我的解决:
- 放弃WebView方案,改用原生SDK
- 发现原生SDK有Bug,把源码引入本地依赖
- 通过双端日志定位问题,直接修复原生层代码
教训:AI对新平台(鸿蒙)的了解有限,复杂问题还得靠自己。
4.2 案例二:二次精定位技术的诞生
背景:初版算法定位误差约50米,在做标记点时漂移严重,会标记到到水体上,体验差。
我问AI:如何提高定位精度?
AI的建议:
- 提高图片分辨率
- 使用更大的AI模型
- 增加训练数据
问题:这些方案要么成本高,要么周期长,10天内根本做不了。
我的思考:
- 误差的本质是什么?→ AI在大范围图片中识别目标的视觉误差
- 能不能缩小识别范围?→ 先粗定位,再精定位
- 如何确定精定位的区域?→ 根据粗定位结果选择子区域
最终方案:我设计了一个"象限细分+二次定位"的方案,将误差从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协同的方式不同,关键是:
- 多尝试,找到适合自己的节奏
- 记录有效的prompt和工作流
- 持续优化,形成肌肉记忆
七、写在最后
10天完成双平台App,这件事证明了两点:
第一,OPC技术闭环是可行的。 一个人,从产品设计到架构设计,从算法实现到双平台适配,从测试调优到材料准备,完整走完全流程。AI让这成为可能。
第二,AI确实强大,但要以人为中心。 AI是工具,不是主人。你要能把控住它,而不是信马由缰。
具体来说:
- 你定方向:产品做什么、技术怎么选、架构怎么设计,这些必须你来决定
- 你做设计:核心算法、创新点、差异化,这些是你的价值所在
- 你把控质量:AI生成的代码要Review,效果要验证,参数要调优
- 你承担责任:最终交付的是你的作品,不是AI的作品
AI是放大器,放大的是你本来就有的能力。如果你有清晰的思路和扎实的基础,AI能让你一个人顶一个小团队。
但如果你自己都不知道要做什么,AI只会让你更快地走向错误的方向。
决赛结果公布
赛事证书:
更多推荐

所有评论(0)