Appearance
AI 编程:现状、工具与实践
“AI 编程”目前应该是 AI 落地应用中比较成功的一个领域
参考文档
一、AI 编程的价值
AI 编程通过降低技术门槛、提升开发效率,正在重塑软件开发行业:
- 降低技术门槛:业务人员能通过自然语言描述直接参与原型构建,甚至上手参与编程
- 提升开发效率:释放程序员资源,聚焦高价值任务
- 拓宽能力边界:辅助开发者快速切入陌生技术栈或业务领域(如非GIS专业开发GIS应用)
- 强化代码质量:通过智能审查、错误提示、模式建议等方式,提升代码的健壮性、可读性与容错性
行业影响:
- 传统开发模式向“AI 辅助+人工审核”转型。
二、核心范式与架构
交互范式
- 问答模式/Chat:一问一答模式,不直接修改代码,只给出问题相应结果,需要程序员手动修改代码(适用于,独立工具方法实现、代码段审核、疑难解答)
- 构建模式/Builder✅:AI根据需求,完成结果,直接作用于代码,开发者 review(审阅)代码审核通过后,直接生效
智能体架构
程序员提出需求,AI驱动,感知环境、自主规划、执行工具(Tools)、并达成目标(适用于绝大多数情况,但不完全适用于老旧且复杂逻辑业务,AI可能遗漏或改出问题【可以锦上添花、不能屎上雕花】)
- 多智能体(Multi-Agent) ✅:多个专门的 Agent 会协作、讨论甚至辩论来完成复杂任务(如:一个负责编码,一个负责测试,一个负责审核)(多智能体开发中可能因角色协商和结果融合产生额外开销)多个中高级开发
- 单智能体(Solo-Agent) ✅✅ 模式:单个 Agent 负责处理整个任务或与用户的全流程交互。它独立完成规划、工具调用和决策。(优势在于,逻辑连贯性、高稳定性、可预测性)一个超级开发者
| 场景 | SOLO 模式 | 多智能体模式 | 理由 |
|---|---|---|---|
| 快速原型开发 | ⭐⭐⭐⭐⭐ | ⭐⭐ | SOLO Builder 可单智能体完成全流程,多智能体模式因协调成本反而降低效率。 |
| 大型代码库重构 | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | 多智能体可并行处理不同模块,SOLO 模式受上下文窗口限制难以覆盖全库。 |
| 实时交通调度 | ⭐ | ⭐⭐⭐⭐⭐ | 多智能体是分布式系统的天然解决方案,SOLO 模式无法处理动态环境中的协作需求。 |
三、AI 开发工具分类
1、AI IDE
AI IDE 是深度集成人工智能技术的开发环境,通过自然语言交互、智能代码生成、自动化调试等功能。
使用场景:
- 快速原型开发:通过自然语言描述需求,AI 自动生成完整项目代码。
- 复杂代码重构:AI 分析代码库,提供跨文件重构建议。
- 多模态交互:支持手绘草图、语音输入生成代码,降低开发门槛。
主流产品:
| 产品名称 | 国内外 | 模型丰富性 | 是否需要翻墙 | 易用程度 | 准确程度 | 价格 |
|---|---|---|---|---|---|---|
| Trae✅✅ | 国内 | 国内外主流模型,更新及时 | 登录需翻墙,后续无需翻墙 | ★★★★☆ 自然语言交互直观,Builder 模式快速生成项目,设计稿转代码功能强大 | ★★★★☆ 代码生成质量高,复杂逻辑处理需优化,界面布局还原度 98% | 免费(基础版) Pro 版本:10 美元/月 或包年 7.5 折 |
| Trae CN | 国内 | 国内主流模型,更新及时 | 无需翻墙 | ★★★☆☆ | ★★★☆☆ | 免费(基础版) Pro 版本:69 元/月 或包年 7.5 折 |
| Cursor✅ | 国外 | 模型丰富,模型更新及时 | 需要翻墙 | ★★★★☆ 基于 VS Code 改造,Tab 补全流畅,多文件关联分析适合高级开发者 | ★★★★★ 代码生成准确率高,复杂重构能力强,错误诊断精准 | 个人版:20 美元/月 团队版:定制化报价(支持按需购买 |
| GitHub Copilot | 国外 | 模型选择相对固定 | 需要翻墙 | ★★★☆☆ 深度集成 VS Code,但需适应 AI 辅助开发模式,新手学习成本较高 | ★★★★☆ 日常代码补全准确,中文注释处理偶现偏差,高峰时段响应延迟(约 800ms) | 个人版:10 美元/月 学生免费 企业版:19 美元/用户/月 |
| Qoder✅ | 国内 | 国内外主流模型,更新及时 | 无需翻墙 | ★★★☆☆ 界面简洁,适合轻量级开发,但功能深度不如国际竞品 | ★★★☆☆ 基础代码生成可用,复杂场景准确性一般,需人工校对 | 免费(基础功能) Pro 版本:10 美元/月 Pro+ 版本:30 美元/月 Ultra 版本:100 美元/月 |
2、AI 插件
扩展现有 IDE功能,提供智能代码补全、错误检测、自动化文档生成等能力,无需切换开发环境
使用场景:
- 代码补全:根据上下文生成函数级代码块,减少手动编写。
- 错误修复:实时检测代码漏洞,提供修复建议。
- 文档生成:自动生成 API 文档、单元测试用例。
主流产品:
| 产品名称 | 厂家 | 集成 VS CODE | 集成 IDE A | 是否免费 | 其它 |
|---|---|---|---|---|---|
| 通义灵码✅ | 阿里巴巴 | ✅ | ✅ | ✅ | 可用,还行,免费 |
| Claude Code❌ | Anthropic | ✅ | ✅ | ❌ | 目前最好用的模型厂家、但是ban掉中国了 |
3、低代码AI应用开发平台
基于人工智能技术的业务流程自动化系统,通过整合大语言模型(LLM)、机器学习算法和传统工作流引擎,实现复杂业务任务的智能化编排、调度与执行。
使用场景:
- 功能快速搭建:可视化快速搭建功能流程调度
| 对比维度 | Coze | Dify✅ |
|---|---|---|
| 国内外 | 国内(字节跳动旗下产品) | 国外(独立开发者社区主导,部分功能依赖国际模型) |
| 本地化部署 | 支持 | 支持 |
| 本地化 vs 互联网差异 | - 数据存储在字节跳动服务器,依赖网络稳定性 - 响应速度受网络延迟影响(约 500-800ms) - 需遵守国内数据合规要求 | - 数据完全本地存储,适合敏感场景(如金融、医疗) - 响应速度更快(<200ms) - 需自行维护服务器和模型更新 |
| 是否免费 | 基础版免费(提供有限功能,如单场景模板、基础 AI 能力) | 开源免费(社区版可自部署,企业版按需付费) |
| 易用性 | ★★★★☆ - 预置模板丰富(如电商直播、客服对话),拖拽式操作 - 适合快速验证场景(如 MVP 测试) | ★★★☆☆ - 需技术背景配置(如 Docker、模型微调) - 适合开发者或技术团队深度使用 |
| 准确率 | ★★★☆☆ - 常规任务准确率约 80%-85%(如简单问答、数据提取) - 复杂逻辑需人工干预 | ★★★★☆ - 集成 LLMOps 优化后,准确率达 90%-95%(如合同风险审查、知识问答) - 依赖高质量数据和 Prompt 工程 |
| 插件丰富程度 | ★★★☆☆ - 提供 20+官方插件(如电商生态、语音合成) - 扩展性有限,依赖字节生态 | ★★★★☆ - 支持自定义插件开发(如连接企业内部系统) - 社区贡献插件超 100 个(如 ERP 对接、数据分析) |
4、其它工具
web chat 工具,可以作为补充,询问的方式处理,以替代百度
使用场景:适合独立工具开发,通过对话生成代码片段
- DeepSeek web ✅
- 文心一言 Web
四、AI编程模型
| 模型名称 | 开发公司 | 翻墙 | 价格 | 模型能力与特点 | 编程场景准确性/好用程度 |
|---|---|---|---|---|---|
| GPT系列 | OpenAI (美国) | 不需要 | 订阅制或API按量计费,成本较高 | 综合能力强大,在复杂推理、生态成熟。 | 代码生成和问题解决能力强,通用性好。 |
| Claude系列 | Anthropic (美国) | 需要 | API按量计费或专业版订阅;评估成本较高。 | 长上下文处理突出,擅长复杂任务推理。 | 在理解大型代码库、进行跨文件重构等复杂编程任务上表现优异。 |
| Gemini系列 | Google DeepMind (美国) | 不需要 | 有免费额度,超出后按API计费。 | 原生多模态能力强,上下文窗口大(最新版达200万token)。 | 多模态理解强 |
| Grok | xAI (美国) | 需要 | 需订阅X平台的高级服务。 | ||
| DeepSeek | 深度求索(中国) | 无需 | 完全免费(个人使用),成本效益极高。 | 推理能力强,成本控制出色 | 生成代码可用性高,是性价比极高的选择。 |
| GLM(智谱AI) | 智谱华章(中国) | 无需 | 提供免费额度和付费API。 | 综合能力强,在代码生成、多轮对话中表现稳定,支持长上下文。 | 精准理解需求并一步到位完成,好用程度高。 |
| 通义千问(Qwen) | 阿里巴巴(中国) | 无需 | 提供免费额度和阶梯计费API。 | 上下文长,Agent能力强。 | 在云原生、Java/Go等场景下与阿里云生态结合深。 |
| Kimi | 月之暗面(中国) | 无需 | 提供免费服务。 | 以超长上下文(远超20万汉字)处理能力著称,适合分析长代码文档。 | 在需要处理超长代码库或文档的场景下是独特优势。 |
五、概念补充
AI Agent:智能代理
AI Agent(人工智能代理/智能体/AI 助手) 是一个能够感知环境、自主决策并执行行动以实现特定目标的智能系统。它不止是简单的对话助手,而是能够主动思考、规划、使用工具和行动的自主实体
Prompts:提示词
Prompts(给AI的“任务指令单”)是与AI模型进行沟通的指令、问题或信息输入。它的核心是一种精确的“翻译”,负责将模糊意图,翻译成AI能理解和执行的明确任务。好的提示词一般包含:角色设定、任务指令、背景上下文、输出要求、示例
- 模糊提示:“修复这个bug。” (AI不知道从哪里入手)❌
- 精确提示:“分析这段xxx函数,它本应过滤出列表中的正数,但返回了空列表。请指出逻辑错误,并给出修正后的代码。” (AI能精准定位问题)✅
MCP:模型文本协议
Anthropic 在 2024年11月发布的开源协议
MCP(AI 应用间的对接规范)是标准化 AI 应用与外部系统的交互的开源协议, 定义了三种 Server 可以暴露的原语:
- Tools: 模型控制。可执行的函数,AI 可以调用来执行操作
- Resources:应用控制。数据源,为 AI 提供上下文信息
- Prompts:用户控制。预定义的提示模板,帮助结构化与 AI 的交互
Skills:技能包
Anthropic 在 2025年10月16日发布功能将其作为一种封装指令、脚本和资源的新方式,用于增强Claude执行特定任务的能力。12月18日将Skills规范改为开放标准
Skills(本地预设工作流)一种 执行预设的工作流程,它将完成某个任务(例如生成一份PPT或分析一份Excel报表)所需的专业知识、操作步骤和脚本,都打包成一个文件夹 demo示例。 在执行任务时,可以智能地调用这些模块,从而大幅提升完成复杂、专业化流程的效率和准确性。信息分层设计设计(内容按需加载,只加载md文件的name和description,剩下的使用时再加载),解决MCP token 爆炸的问题(Skills与MCP并不是替代关系,是扩展补充关系,是介于“明确指令(Prompt)”和“外接硬件(MCP)”之间的“预设流程”)
六、真实案例
开源 GIS 平台
- 背景:Arcgis 技术栈对应开源 GIS 的迁移
- 开发人员:何琪/文俊
- 开发语言:Java
- 系统:独立系统
- AI 开发平台:trae-cn、通义千问、DeepSeek
- 开发情况:手动搭建框架结构,基于现有的需求文档让“trae-cn”搭建功能架构,手动完善纠偏修改。具体功能再通过“trae-cn”、“通义千问”或“DeepSeek”单独实现(具体会涉及到反复纠偏及手动修改),通过人工测试 AI 实现是否满足功能的预期。
文档生成系统
- 背景:验收材料冗杂且繁复,构建节省人工的文档自动处理系统
- 开发人员:栩滨
- 开发语言:Python/Html
- 系统:独立系统
- AI 开发平台:trae
- 开发情况:通过“trae”全构建,人工测试构建的结果是否满足预期,不满足时大部分为通过对方方式让 AI 修改,少部分人工介入修改。
成片开发(日常开发)
- 开发语言:Java/Vue/css
- AI 开发平台:trae、通义千问、DeepSeek
- 使用情况:代码自动生成、纠错、重构等
七、演示
代码补全
- 代码
随便找个模块回车
代码编写
新功能
加一个天气浮窗(文档系统测试✅)
- 提示词
text
作为前端开发专家,请在我的页面中添加一个美观实用的天气浮窗组件。需要实现以下功能:
### 一、基本要求
1. **显示内容**:
- 当前城市名称
- 实时温度(摄氏度)
- 天气状况(晴、多云、雨等)
- 天气图标
- 最高/最低温度
- 湿度、风速等详细信息(可折叠)
2. **交互功能**:
- 可拖拽移动位置
- 点击展开/收起详细信息
- 点击刷新天气数据
- 可手动关闭/开启
- 城市切换功能
### 二、设计风格
当前页面风格:简约
请确保天气浮窗的设计与页面风格协调。
颜色方案建议:
- 主色调:{如果无特别要求,请使用渐变色背景}
- 字体:{使用系统字体或指定字体}
- 图标:{使用Font Awesome或SVG图标}
数据源:
- 可以使用天气api仿写
- 代码
/Users/demo/code/svn/ztgis-boot/trunk/code_unit/code/web/monorepo/admin/teal/src/views/system/notice/index.vue;
- 提示词
text
参照smsSendLog模块,帮我改造当前模块原型设计
成片原型(✅)
- 提示词
text
你是一个资深的前端工程师,对照设计的图片,帮我快速搭建一个系统原型,原型需要可以交互,样式需要美观
### 技术要求:
- 使用现代CSS(Flexbox/Grid)
- 响应式设计
- 渐进式增强- 提示词2
text
对照如下设计的图片,帮我补充完善批后监管的页面的原型代码审查
- 代码
CpRaffleExpertUtils:专家抽签工具 ✅
- 提示词
text
作为架构师,请从架构设计角度审查以下代码:
审查维度:
1. **模块化设计**:
- 是否符合单一职责原则
- 模块间耦合度是否合理
- 接口设计是否清晰稳定
2. **可扩展性**:
- 新增功能是否需要修改大量现有代码
- 是否支持配置化扩展
- 数据模型设计是否支持未来需求
3. **可测试性**:
- 是否便于单元测试和集成测试
- 是否有大量硬编码依赖
- Mock和Stub是否容易创建
4. **性能设计**:
- 是否有明显的性能瓶颈设计
- 缓存策略是否合理
- 并发处理设计是否恰当
5. **错误恢复**:
- 错误处理策略是否统一
- 是否有重试和回退机制
- 是否考虑了分布式系统的故障场景
请提供:
6. 架构设计的优点
7. 架构设计的缺点和改进空间
8. 建议的重构方案(如果有)
9. 相关设计模式推荐
10. 如果这是新项目开始的代码,你会建议什么不同的架构?代码调试
开发过程中反馈对应的错误,现象、定位原因
辅助测试
接口测试
- 提示词:
text
作为一名资深的测试工程师,帮我测试当前接口
# 测试验证:
- 功能是否正确?
- 边界情况如何处理?
- 性能是否达标?
- 是否破坏已有功能?
# 辅助测试的输出:
- 测试报告(通过/失败)
- bug报告
- 测试覆盖率数据
- 性能基准数据代码迁移
- 代码
js->java代码迁移;FlowNodeUtil.java;FlowCard/util.js 的 isUnreachableNode;
- 提示词
text
帮我在base.util下新建一个工具类FlowTestUtil,参考util.js中isUnreachableNode这段代码,帮我实现判断是否含有不可达节点;
入参为:节点编码列表List<ChildNodeList> nodeList;条件分支列表:List<ConditionList> conditionList;
nodeList与conditionList内数据具有前后顺序关系,判断条件为nodeList的Custom中有当前节点编码nodeId,前一个节点编码prevId;conditionList前节点编码nodeId,前一个节点编码prevId;
出参为:boolean类型,含有不可达节点为true,否则为false;八、总结
目前仍在存在的问题:
- AI生成的代码需人工审核,可能存在逻辑错误
- 复杂业务场景仍需程序员深度参与
- 使用者怎么表述需求让AI理解
AI 编程目前能力已经很强,能极大的提高开发效率,拉低技术门槛,敲碎了不同领域之间的壁垒(不是 GIS 专业也可以写 GIS 程序;不会代码也可以开发)。但是目前 AI 编程仍然存在一些问题,通常用领域下,它能做一件事情的 70%-80%,但是很难做到 90%以上。(写出来的是一坨,后续难以维护等问题),仍需“AI 善后师”手动完善及及时纠偏。在一些特定的场景下,AI 编程难以介入,仍然需要手动处理。