AI 一接入,鸿蒙 App 为什么必须重构?

AI 一接入,鸿蒙 App 为什么必须重构?
在这里插入图片描述

子玥酱(掘金 / 知乎 / ZEEKLOG / 简书 同名)

大家好,我是子玥酱,一名长期深耕在一线的前端程序媛 👩‍💻。曾就职于多家知名互联网大厂,目前在某国企负责前端软件研发相关工作,主要聚焦于业务型系统的工程化建设与长期维护。

我持续输出和沉淀前端领域的实战经验,日常关注并分享的技术方向包括前端工程化、小程序、React / RN、Flutter、跨端方案,
在复杂业务落地、组件抽象、性能优化以及多端协作方面积累了大量真实项目经验。

技术方向:前端 / 跨端 / 小程序 / 移动端工程化
内容平台:掘金、知乎、ZEEKLOG、简书
创作特点:实战导向、源码拆解、少空谈多落地
文章状态:长期稳定更新,大量原创输出

我的内容主要围绕 前端技术实战、真实业务踩坑总结、框架与方案选型思考、行业趋势解读 展开。文章不会停留在“API 怎么用”,而是更关注为什么这么设计、在什么场景下容易踩坑、真实项目中如何取舍,希望能帮你在实际工作中少走弯路。

子玥酱 · 前端成长记录官 ✨
👋 如果你正在做前端,或准备长期走前端这条路
📚 关注我,第一时间获取前端行业趋势与实践总结
🎁 可领取 11 类前端进阶学习资源(工程化 / 框架 / 跨端 / 面试 / 架构)
💡 一起把技术学“明白”,也用“到位”

持续写作,持续进阶。
愿我们都能在代码和生活里,走得更稳一点 🌱

文章目录

引言

很多团队在接入 AI 时,都会有一个共同的预期:

“只是加一个功能,不需要动原有架构。”

于是常见的做法是:

新增一个 AI 页面 ↓ 接入大模型接口 ↓ 返回结果展示 

前期看起来一切正常,甚至还挺“顺利”。但只要项目稍微往前走一点,很快就会出现一系列问题:

  • AI 能力无法复用
  • 业务逻辑开始变乱
  • 页面越来越重
  • 代码耦合越来越高

最后很多团队都会走到同一个结论:

必须重构。

这不是技术能力问题,而是:

AI 的引入,改变了 App 的底层架构逻辑。

一、问题从哪里开始失控

最开始,AI 通常只是这样接入:

asyncsend(){this.reply =await aiService.chat(this.input)}

看起来很干净,但当需求变成:

帮我查订单 帮我推荐商品 帮我生成总结 

你就不得不:

AI → 调用业务逻辑 

于是代码开始变成:

if(intent ==="order"){returnawait api.get("/orders")}

问题开始出现: AI 开始直接操作业务层。

二、传统架构的第一个崩点:入口被替换

传统鸿蒙 App:

入口 = 页面 

AI 应用:

入口 = 意图 

例如:

“查订单” 

以前:

用户进入订单页 → 点击按钮 

现在:

AI 直接调用 OrderService 

这会导致一个严重问题:

原本围绕“页面设计”的架构,失去中心。

三、第二个崩点:业务逻辑不再属于页面

很多项目里,业务逻辑写在:

Page ViewModel 

例如:

asyncloadOrders(){this.orders =await api.get("/orders")}

AI 想复用: 完全不行。

你不得不做一件事:

把所有逻辑从页面里拆出来 

例如:

exportclassOrderService{asyncgetOrders(userId:string){returnawait api.get("/orders")}}

这一步,其实已经是:

架构级重构。

四、第三个崩点:流程变成动态的

传统 App:

流程 = 写死 

例如:

点击 → 请求 → 展示 

AI 应用:

流程 = 运行时决定 

例如:

“帮我安排出差” 

可能变成:

查航班 → 查酒店 → 安排行程 

问题在于:传统代码无法表达“动态流程”

if(...){stepA()}else{stepB()}

这种写法完全不够用。

五、第四个崩点:能力无法复用

传统 App:

页面 = 功能 

例如:

OrderPage SearchPage ProfilePage 

但 AI 需要的是:

能力 

例如:

查询订单 搜索商品 获取用户信息 

如果没有拆分:AI 根本无法组合能力。

六、第五个崩点:数据流彻底混乱

传统数据流:

UI → Service → Data → UI 

AI 接入后:

UI → Service AI → Service 

如果没有设计,会变成:

多个入口同时改数据 

结果:

  • 状态错乱
  • UI 不更新
  • Bug 难以复现

七、为什么“必须重构”

到这里,其实已经很清楚了,AI 带来的变化,不是:

多一个功能 

而是:

改变了系统入口 改变了调用方式 改变了流程结构 

换句话说:

AI 改变的是“系统结构”,而不是“功能层”。

八、正确的重构方向

如果你准备做 AI 鸿蒙 App,建议直接重构这几件事:

1 去页面中心化

Page → Service 错误 AI → Service 正确 

2 拆分 Service

所有业务逻辑必须独立:

UserService OrderService SearchService 

3 引入 Tool 层

AI → Tool → Service 

示例:

exportclassOrderTool{asyncexecute(params){returnawait orderService.getOrders(params.userId)}}

4 引入 Agent 层

exportclassAgent{asyncrun(input:string){const intent =awaitthis.parse(input)returnawaitthis.dispatch(intent)}}

5 重构数据流

统一为:

AI / UI → Service → Data → State → UI 

九、一个重构前后对比

重构前

Page ├─ 请求 API ├─ 处理逻辑 └─ 更新 UI 

重构后

Agent ├─ Tool │ ├─ Service │ │ └─ Repository 

UI:

只负责展示 

十、本质

如果用一句话总结:

AI 接入后,App 的“控制权”从 UI 转移到了 AI。

对比:

维度传统 AppAI App
控制中心UIAgent
入口页面意图
流程固定动态
结构页面驱动能力驱动

总结

很多团队在接入 AI 时都会经历一个阶段:

一开始只是加功能,最后不得不重构架构。

这其实不是“踩坑”,而是一个必然过程。因为:

你在用旧架构,承载一个全新的应用形态。

如果你正在做鸿蒙 AI App,可以记住一句话:

AI 不是功能,而是入口。

一旦入口变了,架构就一定要变。

Could not load content