腾讯云代码助手 CodeBuddy 尝鲜,带你认识中国版 Cursor

我看远山,远山悲悯

写在前面


  • 博文内容为 CodeBuddy Craft 一个体验Demo
  • 理解不足小伙伴帮忙指正 :),生活加油

我看远山,远山悲悯

持续分享技术干货,感兴趣小伙伴可以关注下 ^_^


体验最新版本的 CodeBuddy, 只能说颠覆我的认知。新版的 Craft Agent 可以胜任大部分工作,对于一些小项目,可以直接通过 Craft 完成,对于大型项目可以进行业务模块拆分,单独开发

Craft Agent 通过自然语言指令自主完成多文件代码生成和改写,AI深度理解需求,自动生成可执行的应用,并且可以多文件代码自主编写与修改能力,更智能,更自主,可以更高效、更沉浸的方式完成研发任务。

对于 Craft Agent 可以全程通过与AI对话协作的方式,输入需求,Craft 自主完成需求理解和工程理解,任务拆解,代码检索,自主多文件编码实现,提交变更,评审验证,终端执行,开发者可以清楚地看到多个文件的生成过程及状态,并可选择一键采纳或局部修改到当前文件,也可通过快照手动回退并重新提问,轻松完成复杂编码任务

在这里插入图片描述

CodeBuddy 是什么?

腾讯云代码助手(Tencent Cloud CodeBuddy,以下简称CodeBuddy),由腾讯自研的一款专为开发者提供的一款 AI 辅助编程提效工具,基于腾讯混元 + Deepseek 双轮模型,构建对开发者友好,好用易用的代码助手,为开发者提供AI技术问答、全新开发智能体Craft 、代码补全、单元测试、代码诊断和智能评审等多Agent能力,兼容 MCP 开放生态,并可支持团队知识库管理、自定义智能体与指令管理、多模型接入、企业账号集成等功能,辅助开发者提升编码效率和质量,助力研发团队提质增效。

兼容 Visual studio Code、JetBrains lDEs (IntellijIDEA、Rider、Pycharm、Android studio、鸿蒙DevEcoStudio)、Visual studio、cloudstudio 、微信开发者小程序工具、XCode等主流 IDE)。

编程语言及框架:支持 Java、Python、Go、C/C++、JavaScript、TypeScript、HTML、PHPRuby、Rust、Swift、Scala、Lua、Dart、Node.JS、CSS3 等200+种编程语言。

访问官网介绍: https://copilot.tencent.com

CodeBuddy 产品介绍手册说明:https://doc.weixin.qq.com/doc/w3_AXwAxgbpACQCN1drGgrRiQi0XAXBU?scode=AJEAIQdfAAoT1Jjc4o

产品文档地址(各功能介绍比较详细):https://cloud.tencent.com/document/product/1749

在这里插入图片描述

实际体验 Demo

下面我们来看一个实际的 Demo ,我正在用python写一个小工具, S3 的客户端,用于在应用中上传文件到云厂商的 OSS 上,并且我已经完成了一个基本的Demo,我想把优化和一些功能增量的工作交给 Craft 去完成。

完整项目代码生成

帮我写一个s3客户端,用于上传文件到天翼云,同时提供基本的功能

在这里插入图片描述
然后 Craft 会去读我当前的目录结构,他会推理需要了解的信息:

  1. 当前项目的结构
  2. 是否已有相关的依赖或代码
  3. 用户期望的基本功能具体是什么

并且分别解析之前代码的操作,每个文件做了什么,会分析用到的代码文件

在这里插入图片描述

分析之后,会生成对应的改进措施

基于我对项目的了解,我可以改进现有的S3客户端,使其更加完善,并确保它能够正确连接到天翼云。以下是我计划实现的改进:

  1. 改进S3Client类:
  • 将凭证从硬编码改为可配置的(通过环境变量或配置文件)
  • 添加更多的功能,如删除文件、创建存储桶、获取文件元数据等
  • 改进错误处理和日志记录
  • 添加文件类型验证
  1. 改进S3ClientServer:
  • 修复拼写错误(如upload_iamge改为upload_image)
  • 添加更多的端点,如删除文件、列出文件等
  • 改进错误处理和响应格式
  • 添加更好的文档和注释
  1. 添加配置文件支持:
  • 创建一个配置文件,用于存储S3客户端的配置信息
  • 支持从环境变量或配置文件中读取配置

之后会生成对应的代码文件

基于我对项目的了解,我将改进现有的S3客户端,使其更加完善,并确保它能够正确连接到天翼云。首先,我将创建一个配置文件,用于存储S3客户端的配置信息。

下面是配置文件生成

在这里插入图片描述

在生成配置文件之后,网络一直在请求中,所以我重新问了一次,可以看到这么大的上下文数据还可以保存.

在这里插入图片描述

每个对应的代码文件生成,有一个核对和确认生成的过程,即会在生成代码的时候参与到 agent 的决策中。

在这里插入图片描述

并且在生成完成会有明确的生成结果说明

在这里插入图片描述

全部的代码生成之后会做简单总结

在这里插入图片描述

同时会生成完整的 readme 文件生成

在这里插入图片描述

下面是 Craft 在操作完成之后的一些总结

现在我已经完成了所有主要文件的创建和更新:

  1. s3client.py:S3客户端实现,提供与天翼云对象存储交互的功能
  2. s3cli.py:命令行界面,使用户可以通过命令行使用S3客户端
  3. s3server.py:FastAPI服务器,提供RESTful API
  4. config.py:配置文件,存储S3客户端和API的配置信息
  5. 更新了Dockerfile,使其使用新的服务器实现
  6. 更新了README.md,提供详细的使用说明

让我总结一下我们实现的功能和改进:

S3客户端功能:

  • 上传文件(支持文件路径、文件对象、字节数据、图像、URL)
  • 下载文件
  • 删除文件(单个和批量)
  • 列出存储桶和对象
  • 获取对象URL和元数据
  • 检查对象是否存在
  • 创建和删除存储桶
  • 复制对象
  1. 命令行界面:
  • 支持所有S3客户端功能
  • 提供友好的命令行参数和帮助信息
  1. RESTful API:
  • 支持所有S3客户端功能
  • 提供标准的RESTful接口
  • 支持API认证
  • 提供API文档(Swagger UI和ReDoc)
  1. 改进:
  • 将硬编码的凭证改为可配置的
  • 添加了更多的功能
  • 改进了错误处理和日志记录
  • 添加了详细的文档和注释
  • 修复了拼写错误和代码问题

测试生成结果

Craft 会提供完整的代码使用方法

您可以通过三种方式使用这个S3客户端:

  1. 作为Python库:直接在Python代码中导入s3client.py
  2. 命令行工具:使用s3cli.py执行各种S3操作
  3. RESTful API:启动s3server.py并通过HTTP请求使用

下面为 Craft Agent 帮我生成的 readme 的帮助文档,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
### 使用命令行界面
# 上传文件
python s3cli.py upload path/to/file.jpg --key object_name.jpg

# 从URL上传文件
python s3cli.py upload-url https://example.com/image.jpg --key object_name.jpg

# 下载文件
python s3cli.py download object_name.jpg --output path/to/save.jpg

# 列出对象
python s3cli.py list --prefix images/

# 获取对象URL
python s3cli.py url object_name.jpg

# 删除对象
python s3cli.py delete object_name.jpg

# 查看帮助
python s3cli.py --help

我们通过命令行做简单测试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
PS C:\Users\山河已无恙\Documents\GitHub\S3ClientServer>
PS C:\Users\山河已无恙\Documents\GitHub\S3ClientServer> python s3cli.py upload path/to/file.jpg --key object_name.jpg
2025-05-13 10:40:44,755 - s3client - INFO - S3客户端初始化完成,连接到 http://nmo**********ctyun.cn
2025-05-13 10:40:44,770 - s3client - INFO - S3客户端初始化完成,连接到 http://nmoss**********yun.cn
文件上传失败: 文件不存在: path/to/file.jpg
PS C:\Users\山河已无恙\Documents\GitHub\S3ClientServer> python s3cli.py upload path/to/file.jpg --key 20241021093814.jpg
2025-05-13 10:41:40,781 - s3client - INFO - S3客户端初始化完成,连接到 http://nmoss**********un.cn
2025-05-13 10:41:40,798 - s3client - INFO - S3客户端初始化完成,连接到 http://nmo**********un.cn
文件上传失败: 文件不存在: path/to/file.jpg
PS C:\Users\山河已无恙\Documents\GitHub\S3ClientServer> python s3cli.py upload 20241021093814.jpg --key 20241021093814.jpg
2025-05-13 10:42:11,395 - s3client - INFO - S3客户端初始化完成,连接到 http://nmo**********un.cn
2025-05-13 10:42:11,415 - s3client - INFO - S3客户端初始化完成,连接到 http://nmo**********yun.cn
2025-05-13 10:42:11,780 - s3client - INFO - 文件上传成功: http://nmo**********un.cn/crm-fa************ce/20241021093814.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=JOo0XafANF8QDp3HVhKs%2F20250513%2Fcn-north-1%2Fs3%2Faws4_request&X-Amz-Date=20250513T024211Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=b5eb5bb0cd1a3939c012791075a97e066fd0ba7d8665499befbdb00e4fb2d859
文件上传成功: http://nmo**********un.cn/crm-face/20241021093814.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=JOo0XafANF8QDp3HVhKs%2F20250513%2Fcn-north-1%2Fs3%2Faws4_request&X-Amz-Date=20250513T024211Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=b5eb5bb0cd1a3939c012791075a97e066fd0ba7d8665499befbdb00e4fb2d859
PS C:\Users\山河已无恙\Documents\GitHub\S3ClientServer>

可以看到,完整的操作,我只是点了几个确实,然后问了一个问题,剩下的工作都是由 CodeBuddy Craft完成,通过秒级解析项目结构(如识别已有Dockerfile和README.md),Craft自动定位代码优化点(如硬编码凭证问题),并生成包含配置文件、命令行工具、API服务端等6个关联文件的新架构.

CodeBuddy智能体通过​​需求-代码-交付的全链路自主化​​,和IDE 完美结合,正在将开发者从重复性编码中解放。在S3客户端案例中,原本需要3天的工作被压缩到2小时,且产出代码直接达到准生产标准。其双模型架构、MCP协议支持、工程级代码生成能力,标志着AI编程工具正式进入”自动驾驶”阶段。对于开发者而言,掌握与Craft的协作技巧,将成为比单纯编码能力更重要的核心竞争力

博文部分内容参考

© 文中涉及参考链接内容版权归原作者所有,如有侵权请告知 :)



© 2018-至今 liruilonger@gmail.com, 保持署名-非商用-相同方式共享(CC BY-NC-SA 4.0)

发布于

2025-05-12

更新于

2025-05-13

许可协议

评论
Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×