AI编程实战:谁说AI改代码乱套?SOLO 20分钟补全图片上传功能

前言

前段时间,我陆续分享了"AI 写作助手实战系列"的几篇文章。上周刚完成 AI 助手模块的开发,本打算自测后部署使用,却发现一个关键功能还没实现------图片上传。

今天,我们就来补上缺失的这块。同时,也想借这次分享,和大家一起验证下:"AI 只能生成新项目,一碰老代码就乱套"。这到底是真相,还是误解?

该系列以往几次分享链接我也放在下面了,感兴趣的可以回顾一下。

AI编程实战:Cursor突然收费封禁?用Trae开发一个写作助手(前端篇) - 掘金

AI编程实战:使用Trae从零开始实现写作助手的后端开发及前后端联调 - 掘金

AI编程实战:写作助手进化,Trae+Kimi-K2两小时搞定"带样式复制" - 掘金

AI编程实战:写作助手再进化,AI 能力前后端一锅出 - 掘金

项目介绍

这个项目开始的初衷一个是因为市面上的工具和我想要的有些差距,另一个就是 AI 对开发的提升真的很大,写一个小工具花不了多久。

何不搭建一个自己用起来舒服的工具呢?

目前已经实现了:

  • 文章的增删改查
  • 文章带格式复制(微信、知乎)
  • 自定义格式
  • AI 助手(对话、快捷操作)

给第一次了解这个实战系列的同学简单补充下。

项目包括前后端两个工程:

  • 前端 chengzhang-vue,基于 Vue+ElementUI 构建。
  • 后端 chengzhang-rest,基于 Spring Boot + Hibernate + MySQL。

今天主要实现上传功能,会包括前后端一起开发。

实战记录

下面开始实战,整个过程都是基于 TRAE SOLO + Claude-4 完成的。

分析设计

指令

复制代码
请帮我添加一个新的功能:
主页编辑器内的上传图片实现上传,存储位置设置为服务器路径,同时实现编辑器内粘贴图片进行上传。
先进行分析设计,等待确认后再进行代码生成。

可以看到,我的指令并不是特别复杂,也没有过多地指定项目细节。

SOLO 模式的一大优势是:接收到我们的指令后,它不会一上来就写代码,而是先进行需求分析和架构设计。这种"想清楚再动手"的方式,能有效避免 AI 花十几分钟生成一堆偏离需求的代码,造成时间浪费。

但这里我碰到一个问题,SOLO 模式的分析设计过程,好像并不是硬性规定,有时候 SOLO 可能觉得内容太过简单,直接就开始生成代码了。

这并不符合我的预期。因此,大家可以像我一样,在指令中强调"先进行分析设计,等待确认后再进行代码生成"。

这样,SOLO 就非常听话的先进行了分析设计。

之前分享提到过好几次,Trae 的特点就是"老实、听话",如果有些内容比较重要,那我们最好显式强调一下,这点确实不如 Cursor 那么聪明。

过程

从下面的生成过程我们可以看到,SOLO 会先扫描工程中现有的代码,并作为要求约束后续的生成。

然后就是生成了相关文档:

  • 需求文档
  • 技术架构文档:普通模块一般都是前后端对接的接口约定
  • 实现方案:普通模块直接会在这里出现代码,感觉 SOLO 模式针对小修改有点浪费

结果

分析设计的结果,3个文档:

初版生成

文档可以修改,全部确认后,点击"确认,开始开发"或者直接手动选择文档,发送指令。

指令

xml 复制代码
<需求文档><技术架构文档><实现方案>
确认,开始开发!

过程

熟悉的 todo-list,还算比较清晰:

  • 前端
  • 后端
  • 对接部分
  • 测试

然后就是一个任务一个任务解决,最后运行,运行如果有问题,SOLO 会自行修改。

这是我认为 SOLO 的第二点优势:不管多复杂的任务,都无需人工反复确认"继续",这样,我们就可以在复杂任务执行的同时,摸摸鱼,喝喝茶,等它完成后再来验收成果~

当然也有一定概率,搞不定,SOLO 自行放弃了。

该说不说,我今天就碰到了。

错误修复

初版生成代码没有语法编译错误,但是,复制粘贴功能有问题,发现数据库 SQL 和代码有不对应的。

指令

xml 复制代码
<截图>
修复

过程

常规修复。

结果

如下图就是粘贴图片后实现上传的效果,markdown 中显示上传后的图片 URL。

下面是上传文件的位置。

结语

回到开头的问题:

"AI 只能生成新项目,一碰老代码就乱套"。

我们得承认有这种情况的存在,但更多时候,尤其是针对模块级别的修改,现阶段的 AI 还是很能打的,甚至针对一些我们不是了如指掌的项目,AI 改起来可能比我们还要全面。

如果确实碰到了上面的问题,可以考虑一下:

  • 任务是否过于复杂,能否拆分一下
  • 指令是否足够明确,能否通过限定上下文,减少 AI 幻觉的可能
  • 或者直接在指令中指定文件、指定思路,让 AI 不要 360 度发散

毕竟,我们不是为了反对 AI,我们只是为了更好地使用 AI 完成我们自己的目标。

好了,今天的分享就到这里了。

这次"成章"的基本功能应该算是齐全了,接下来我打算部署到个人服务器,真实使用一段时间。后续再把真实的体验和持续的改进分享给大家。

如果大家在 AI 写作助手或者 AI 改老代码方面有什么想法和问题,欢迎留言交流~

相关推荐
NAGNIP9 小时前
一文搞懂深度学习中的通用逼近定理!
人工智能·算法·面试
冬奇Lab11 小时前
一天一个开源项目(第36篇):EverMemOS - 跨 LLM 与平台的长时记忆 OS,让 Agent 会记忆更会推理
人工智能·开源·资讯
冬奇Lab11 小时前
OpenClaw 源码深度解析(一):Gateway——为什么需要一个"中枢"
人工智能·开源·源码阅读
AngelPP14 小时前
OpenClaw 架构深度解析:如何把 AI 助手搬到你的个人设备上
人工智能
宅小年14 小时前
Claude Code 换成了Kimi K2.5后,我再也回不去了
人工智能·ai编程·claude
九狼15 小时前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
ZFSS15 小时前
Kimi Chat Completion API 申请及使用
前端·人工智能
天翼云开发者社区16 小时前
春节复工福利就位!天翼云息壤2500万Tokens免费送,全品类大模型一键畅玩!
人工智能·算力服务·息壤
知识浅谈16 小时前
教你如何用 Gemini 将课本图片一键转为精美 PPT
人工智能
豆包MarsCode16 小时前
一文快速理解 Spec 模式
trae