目录
一、Trae 安装
1、Trae 介绍
2、Trae 安装
二、项目构建
1、项目背景与技术选型
2、开发环境准备
三、需求分析
1、功能模块设计
2、数据库设计
四、功能实现
1、用户系统开发
2、天气服务实现
3、测试用例编写
五、Trae 体验总结
随着人工智能技术的迅猛发展,AI编程工具逐渐进入开发者的日常工作中,成为提升开发效率的得力助手。AI编程工具能够通过自然语言与开发者进行交互,智能生成代码,并在开发过程中实时提供反馈与建议。
一、Trae 安装
1、Trae 介绍
Trae 是字节跳动推出的AI 编程助手,和MarsCode一个团队,提供了更完整的AI体验,它能够智能生成代码,解决开发者在编程过程中遇到的问题。通过使用 Claude模型,Trae不仅支持中文输入,还能够根据上下文提供精准的代码建议和解决方案。不管你是写新功能,还是优化代码,都很方便。
Trae 你能不能用,我的看法是不管你是哪个阶段的程序员都能用。
后面我会展示如何使用 Trae 从零到一完成一个项目。如果你刚接触工作,那么这种交互式的对话相当于一个老师,不管遇到哪些你不懂得问题就直接问“我不明白”,Trae 就能给你详细讲解,干中学嘛!
如果你是工作经验丰富的开发者,那 Trae 就是你的实习生,功能的前因后果交代好,你不想动手的功能就写完了,再补充一些细节,就完事了。
2、Trae 安装
我们以 MacOS 为例,说明如何安装 Trae 到你的设备。
打开官网,我们可以在页面看到下载按钮。
然后,我们只需要双击下载的安装包,将 Trae 图标拖拽到应用文件夹,就完成了安装。
安装完成后,启动 Trae,我们需要登录账号来使用Trae AI。当我们点击登录之后,会跳转到 Trae 的网页进行登录,你可以使用 Githb、Google 以及电子邮箱进行登录。登录完成之后,即可跳转到 Trae 。
二、项目构建
1、项目背景与技术选型
在本项目中,我们将构建一个天气服务系统,涵盖用户注册登录、天气查询和城市收藏等功能。
通过 Chat 模式,我们和 Trae 对话,确认项目中要使用的技术栈。
我正在构建一个基于 Django 的天气服务 API,要求包括用户注册、登录、天气查询、城市收藏认证等功能。项目需要支持高并发查询,数据缓存需要进行优化,并且要支持不同城市的天气数据。请推荐合适的技术栈,包括后端框架、数据库、缓存解决方案,并提供一些技术选择的理由。
在 Chat AI 的模式下,Trae 给出了完整的技术方案,包括后端框架与组件、数据库选择、缓存策略、性能优化建议。
Trae 的 Chat AI 模式基于Claude 3.5,支持上下文,所以我们可以做出追问,继续询问技术方案和细节和调整。
比如,我觉得这个项目使用 MySQL 就足以满足需求,并且项目早期可以使用更加精简的架构设计。
那么,就这样,我们在和 Trae 的 Chat AI 模式下确定了技术选型。
2、开发环境准备
接下来,我们使用 Trae-Builder 模式,快速搭建 Django 项目并配置必要的依赖和数据库。
新建项目文件夹,我们点击 Builder ,将 Chat 模式下的内容发过来。
我们在构建一个基于 Django 的天气服务 API ,要求包括用户注册、登录、天气查询、城市收藏认证等功能。
以下是使用的组件:
- Web 框架 :Django + DRF
- 主数据库 :MySQL
- 缓存系统 :Redis
- Web 服务器 :开发阶段使用 Django 开发服务器,生产环境再使用 Nginx
请你帮我搭建项目
注意:MySQL我已经在本地运行,使用3306端口,可以进行连接;Redis也在本地运行,使用6379端口,也可以直接连接。
当我把要求发给他之后,他会帮我创建对应的文件,注意的是,整个过程并不是自动执行的,不然整个过程会非常不确定。我们可以审查每一个涉及到的文件,以及要执行的命令。
在这个过程中,可能会出现一些报错,Trae 会识别这些报错,并给出解决方案,而我们要做的,就是检查解决方案是否正确,并点击运行。下面的过程就是 Trae 从识别错误,到解决错误、继续执行命令的过程。
由于是从零开始构建项目,所以整个过程会比较长,如果过程出现了中断,你只需要发送"继续",Trae 就能从现在的搭建项目状态继续进行操作,不需要担心任务丢失,也不需要每次都从头开始。
当项目搭建任务完成之后,Trae 会告诉我们已经完成了,你要做的就是检查代码,进行后续的功能开发。
三、需求分析
1、功能模块设计
在项目搭建阶段,因为我们给出了项目的简单信息,所以 Trae-Builder 模式下得到的项目已经包含了基础的业务逻辑,但是这不一定是我们的真实业务想要的。
Chat AI 模式下,Trae 不会运行代码,更适合我们的需求分析和代码优化。
目前的功能模块设计,我会给出完整详细的需求,和 Trae 一起进行对实际需求的实现设计。
下面我们一起对需求进行分析,我会给你完整的功能需求,请你和我一起确认设计思路。
用户模块:目前的用户使用邮箱注册需要增加验证码,需要完善对应逻辑,如果涉及到发送验证码到邮箱就先预留这部分逻辑;要包含完整的邮箱注册、邮箱登录、邮箱找回密码的逻辑。
天气查询:我们使用第三方API进行查询,使用 Token 的方式进行验证,查询结果设置缓存,一分钟内重复查询相同的城市从缓存获取结果
城市列表:我们通过查询第三方 API 的热门城市确定城市列表,通过调用接口获取城市列表并刷新结果,城市的数据要保存到数据库,设置缓存,每天更新一次
城市收藏:登录用户可以选择城市进行收藏,由于城市的 id 是固定的,所以就算城市列表中没有之前收藏的城市后续也可能出现,已经收藏的城市在现在的城市列表中不存在,那么查看收藏城市列表就不展示
以上是目前的功能需求,请你和我分析需求,优化现有设计。注意:涉及到第三方接口的返回结构是后续的问题,现阶段只处理模块设计。
之后,Trae 给出了针对现有项目的结构优化,以及接口的补全,上面我给的内容不算少,他都能逐个给出修改方案。
涉及到的改动,Chat 模式下是可以通过应用按钮对代码修改的,这个特别适合对于局部代码的优化,比如算法优化。
一次对话不能优化所有问题,并且 AI 的解决思路和我们想要的会有差别,那么就需要多次对话,不断追问和调整细节。
2、数据库设计
天气服务 API 的数据库结构,除了基于基本的项目需求外,更多的依赖于使用的第三方。
我们使用 Chat AI 模式,将第三方天气服务的文档发给 Trae ,就能得到对应的数据库结构。
对于涉及到大量第三方字段的模块来说,这种实现方式大幅度降低的我们的工作量。
四、功能实现
1、用户系统开发
用户系统涉及到注册、登录、找回密码,发送验证码。在 Trae 的 Chat AI 中,我们可以选择文件的指定行,特定的文件、文件夹或者整个项目到对话中,再加上对于功能说明,就能让 AI 帮我们完成代码了。
如果你之前没有用过 AI 编程工具,那么要注意,你提供的信息越全,AI 生成的代码越满足需求。
但是,你直接把代码或者报错发给 Trae ,它也可以根据内容以及上下文给出对应的解决方案。
给你一些对话的使用建议:
-
从头开始写的功能,尽可能多的描述要求,包括输入、输出、限制、规范,相当于一篇小作文
-
需要调整的代码,精准选择对应的代码行、文件夹
-
使用追问,对一个问题不断修改,Claude 3.5 和 GPT-4o 的上下文限制足够解决某个代码问题
2、天气服务实现
在数据设计阶段,你已经发现了我们是怎么对接第三方的,就是简单粗暴粘贴文档。
对于需求实现的要求,一定要保证持续追问,一直到找到合理的解决方案。
基于Claude 3.5和GPT-4o ,你可以使用任意的语句进行追问和补充,Trae 都能理解并执行。但是我还是建议你遵循下面的结构,更好地让他输出结果。
基于 xxx ,我需要你实现 xxxx ,注意 xxxx ,请你实现 xxxx 。
完整的诉求可以避免 AI工具的自我补充细节,精准的输出带来精准的输出。
经过几次持续的追问,我们完成了第三方接口的天气获取。
3、测试用例编写
在功能实现完成后,Trae将帮助我们编写单元测试,确保代码的正确性。
在早期的 AI 编程工具中,生成测试用例是被单独列出的功能。
现在对于 Trae 来说,只需要选择对应的函数,在对话框说明,整个过程就和我们之前生成模块功能代码一样。
很多人都不喜欢写测试用例,包括我,我们的整个基于 Trae 的开发过程中,越是固定的输入、繁杂的参数,越是对于 AI 有利。你不愿意做,他做不难,这就是使用 Trae 能够进行最大提效的部分。
五、Trae 体验总结
通过本次天气服务项目的完整开发实践,我们充分验证了 Trae 作为 AI 编程助手的全流程价值。
从技术选型阶段的智能推荐,到项目搭建时的项目构建、解决问题;从复杂业务逻辑的迭代优化,到琐碎测试用例的自动化编写——Trae 始终展现出作为一名开发者的处理方式。其基于Claude 3.5的上下文理解能力,使需求沟通如非常顺滑,既能快速响应"我需要实现JWT"这类明确指令,也能理解"项目初期先不使用复杂架构"的模糊诉求。
特别是在处理第三方 API 对接这类典型场景时,Trae 通过分析非特定格式接口文档,自动生成数据模型,将原本需要数小时的手动编码压缩至分钟级完成。
点击 Trae 官网下载 Trae ,免费的 Claude 3.5和GPT-4o 真的很香。
Trae 这种"对话-审查-一键执行"的开发体验,不仅降低了技术门槛,更重新定义了工程师的工作边界。
我们作为开发者得以将更多精力投入架构设计与业务创新,而机械性编码则由 AI 高效承接。
Trae 已经可以做到融入你的工作流,成为贯穿需求分析、编码调试、性能优化的伙伴。