AI编程实测:上下文衰减问题及解决方案

2026年,AI编程已成趋势,但你真的会用AI开发App吗?本文分享一个资深iOS工程师的真实踩坑经历。

本文首发于掘金,同步发布于CSDN。如果你也在用AI编程,这篇文章可能会帮你省很多坑。


一、AI编程的现状:真的能自动开发App吗?

前段时间,斑马内部发起了一个AI挑战赛:完全不懂技术的人员,只通过与AI对话,开发出一个可用的App。

结果:有人2小时做出了一个待办事项App。

作为一名有10年+经验的iOS工程师,我的第一反应是:我快失业了吗?

过去6个月,我深度体验了各种AI编程工具——Claude、Cursor、GitHub Copilot、Xcode AI Assistant……我想搞清楚:AI到底能做到什么程度?

先说结论:AI能生成30%的代码,但70%的核心逻辑、架构设计、复杂问题解决,仍然需要人类。

更重要的是,我遇到了一个致命问题:上下文衰减

这篇文章,专门讲这个问题,以及我的解决方案。


二、什么是"上下文衰减"?

问题表现

一开始,让AI生成基础框架,还行。

然后添加功能模块,AI开始"变蠢":

  • 数据模型不统一:前面用SwiftUI的@State,后面突然变成Combine
  • 架构混乱:一开始说用MVVM,到后面代码全写在ViewController里
  • 命名不一致:同样的概念,AI一会儿叫"userId",一会儿叫"user_id"
  • 重复造轮子:AI忘了前面已经实现了某个功能,又写了一遍
  • 偏离设计决策:之前说用Core Data,后面AI用了UserDefaults

问题根源

因为AI的上下文窗口有限。

随着对话越来越长,AI"记不住"最初的设计决策,开始"自己发挥"。

更糟糕的是:当你发现问题时,已经偏得太远了,回不去。

具体案例

我让AI开发一个待办事项App:

第1-5轮对话:
我:帮我开发一个待办事项App
AI:好的,用SwiftUI + MVVM + Core Data

第6-10轮对话:
我:添加列表功能
AI:好的,列表用@State管理

我:等等,我们不是用Core Data吗?
AI:哦,那我用Core Data...

第11-15轮对话:
我:添加编辑功能
AI:好的,编辑功能用UserDefaults存储

我:又变UserDefaults了?...

问题越来越严重,代码越来越混乱。


三、我的解决方案:模块化AI开发

经过反复尝试,我总结了一套"模块化AI开发"的方法。

核心思路

错误做法:让AI做整套流程

开发者:帮我开发一个待办事项App,要有列表、详情、编辑、删除功能
AI:好的,开始生成...
(30轮对话后)
开发者:不对,数据模型应该用Core Data,你用了UserDefaults
AI:好的,我改...但是前面的代码都改不了了

正确做法:人工拆解,AI做模块

第1步:人工拆解(资深工程师的价值)
- 确定技术选型:SwiftUI + Core Data + MVVM
- 确定数据模型:TodoItem(id, title, isCompleted)
- 确定架构分层:View层、ViewModel层、Model层

第2步:AI做模块1 - 数据层(5轮对话)
开发者:用Core Data实现TodoItem的数据存储,包括CRUD操作
AI:生成数据层代码...

第3步:AI做模块2 - ViewModel(5轮对话)
开发者:基于TodoItem数据模型,实现TodoViewModel
AI:生成ViewModel代码...

第4步:AI做模块3 - View层(5轮对话)
开发者:实现TodoListView,基于TodoViewModel
AI:生成View层代码...

第5步:人工组装(资深工程师的价值)
整合三个模块,调整细节,优化体验

为什么这样有效?

  1. 每个模块的上下文很短(5轮对话),AI不会"遗忘"
  2. 模块边界清晰,每个模块有明确职责
  3. 人工把控方向,AI负责执行,不会偏离
  4. 出问题容易定位,某个模块有问题,重新生成即可

四、具体实施步骤

Step 1:人工拆解

这是资深工程师的核心价值。

你需要做的是:

  1. 确定技术选型

    • SwiftUI还是UIKit?
    • MVVM还是MVC?
    • Core Data还是Realm?
  2. 确定数据模型

    • 有哪些实体?
    • 实体间的关系是什么?
    • 数据如何持久化?
  3. 确定架构分层

    • View层:UI组件
    • ViewModel层:业务逻辑
    • Model层:数据模型
    • Network层:网络请求
    • Storage层:数据存储

Step 2:AI做模块1 - 数据层

// 向AI提需求
"用Core Data实现TodoItem的数据存储,包括:
1. TodoItem实体:id(UUID)、title(String)、isCompleted(Bool2. CRUD操作:创建、读取、更新、删除
3. 错误处理:Core Data操作可能失败,需要处理错误
4. 请使用Swift语言"

AI会生成:

  • Core Data模型文件
  • TodoItem实体定义
  • CRUD操作方法
  • 错误处理代码

5轮对话内完成,上下文不会丢失。

Step 3:AI做模块2 - ViewModel

// 向AI提需求
"基于TodoItem数据模型,实现TodoViewModel1. 使用Combine框架管理状态
2. 包含待办事项列表:@Published var todos: [TodoItem]
3. 添加待办方法:func addTodo(title: String)
4. 删除待办方法:func deleteTodo(id: UUID)
5. 标记完成方法:func toggleComplete(id: UUID)
6.Core Data加载待办列表:func loadTodos()"

AI会生成:

  • TodoViewModel类
  • Combine订阅逻辑
  • 业务方法实现
  • 与Core Data的交互代码

5轮对话内完成,上下文清晰。

Step 4:AI做模块3 - View层

// 向AI提需求
"实现TodoListView,基于TodoViewModel1. 使用SwiftUI构建UI
2. 显示待办事项列表
3. 支持添加待办(TextField + Button4. 支持删除待办(Swipe手势)
5. 支持标记完成(Toggle6. 使用@StateObject管理ViewModel生命周期"

AI会生成:

  • TodoListView结构体
  • UI布局代码
  • 用户交互逻辑
  • ViewModel绑定代码

5轮对话内完成,上下文一致。

Step 5:人工组装

// App入口
struct TodoApp: App {
    var body: some Scene {
        WindowGroup {
            TodoListView()
                .environmentObject(TodoViewModel())
        }
    }
}

人工组装三个模块:

  1. 创建ViewModel实例
  2. 传递给View
  3. 测试完整流程
  4. 优化细节(UI、动画、性能)

五、模块化AI开发的优势

1. 避免上下文衰减

每个模块独立开发,上下文短(5-10轮对话),AI不会"遗忘"。

2. 开发效率高

  • AI生成代码快
  • 人工Review快
  • 出问题定位快
  • 重新生成快

整体效率提升3倍。

3. 代码质量好

  • 每个模块职责单一
  • 架构清晰
  • 易于维护
  • 易于测试

4. 可复用

  • 数据层模块可以复用
  • ViewModel模块可以复用
  • View层组件可以复用

六、其他实用技巧

技巧1:使用代码模板

为常见功能创建代码模板:

  • 列表模板
  • 详情页模板
  • 网络请求模板

让AI基于模板生成代码,更符合你的规范。

技巧2:保存AI生成的好代码

把AI生成的高质量代码保存起来:

  • 代码片段
  • 整体架构
  • 最佳实践

下次直接让AI参考之前的代码。

技巧3:定期总结

定期总结AI开发的最佳实践:

  • 如何向AI提需求
  • 如何Review AI代码
  • 如何优化模块划分

形成你自己的AI开发方法论。


七、总结

AI编程不可怕,关键在于:

  1. 不要让AI做整套流程,会上下文衰减
  2. 人工拆解成模块,每个模块独立开发
  3. AI负责执行,你负责架构、Review、优化
  4. 模块组装,调整细节

你的经验+AI的速度 = 超级个体。


八、关于作者

资深移动端研发工程师,10年iOS开发经验,擅长SwiftUI、React Native、性能优化、架构设计。

目前正在探索AI辅助开发的最佳实践,每周分享实战经验。

相关文章:


标签:iOS开发、AI编程、SwiftUI、Core Data、MVVM、Combine、人工智能
分类:移动开发、AI应用
发布时间:2026年3月29日

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐