Skip to content

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 CodeAnthropic目前最好用的模型厂家、但是ban掉中国了

3、低代码AI应用开发平台

基于人工智能技术的业务流程自动化系统,通过整合大语言模型(LLM)、机器学习算法和传统工作流引擎,实现复杂业务任务的智能化编排、调度与执行。

使用场景

  • 功能快速搭建:可视化快速搭建功能流程调度
对比维度CozeDify
国内外国内(字节跳动旗下产品)国外(独立开发者社区主导,部分功能依赖国际模型)
本地化部署支持支持
本地化 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)。多模态理解强
GrokxAI (美国)需要需订阅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 编程难以介入,仍然需要手动处理。