大家好,我是人月聊IT。
最近几天刚好试用了下腾讯新发布的CodeBuddy软件开发智能体 Craft,所以在这里做一个简单的总结。
虽然我在前面测试过很多的AI编程工具,类似阿里的通义灵码,Cursor,百度的Comate,但是整体来看Cursor+Claude3.7还是具备相当大的优势,实际我也一直期待国内有更好的AI编程助手工具出现。
根据腾讯官网网站介绍:腾讯云CodeBuddy软件开发智能体 Craft以 双核驱动架构 (混元大模型+DeepSeek V3)与 MCP协议生态为核心,重新定义对话式编程范式。
CodeBuddy早期即腾讯云AI代码助手,更多是是试下类似代码自动补全,方法函数自动编写,注释添加,Bug修复,代码辅助阅读等Chat模式常见的功能。而当前已经发展出独立的Craft模式。
Craft模式类似Cursor Agent模式。该模式支持从需求拆解到多文件代码生成、重构、测试的全流程自主化开发,在复杂工程场景中实现无干预的代码生成。同时作为国内首个兼容MCP协议的代码助手,Craft可无缝串联腾讯云生态服务,实现跨平台任务调度,为开发者提供全自动人机协同开发,当然也可以灵活接入第三方的任何MCP Server能力。
当然对于CodeBuddy本身对于主流的开发语言都支持,如下:
今天的简单验证重点还是想看下MCP生态的集成能力,包括Craft模式下对于全新系统开发的完整需求理解能力,任务规划能力。
1. 测试环境准备和插件安装
对于测试环境,我采用VS Code来安装CodeBuddy差距。在插件市场里面搜索 腾讯云CodeBuddy代码助手 ,搜索到进行插件安装即可。
注意在安装完成后打开代码助手,可以看到工具仍然提供了Craft和Chat两种模式。而Craft模式用于完整的软件工程项目和源代码生成,Craft模式和我原来用Cursor的时候最大的差别在于,对于复杂需求,AI具备了理解问题和进行需求分析和拆解的能力,并且可以看到AI的深度思考过程,在规划过程中如何存在异议AI还会进一步和你沟通确认。(注:但是实际我在测试验证过程中发现Craft模式下,本来可以一步完成的动作被AI拆分为多个步骤完成,导致整个代码生成时间加长很多。同时多轮迭代中总是存在无法打断的情况。)
这个我感觉更加类似于MetaGPT的多智能体模式。需要这个能力的可以将Plan设置打开,这样就可以看到AI具体的规划步骤。
2. MCP插件功能简单测试
腾讯当前的CodeBuddy和Cursor一样,已经集成了MCP Server的能力,同时提供了MCP市场信息。在这里我们刚好测试和验证一个网页内容获取解析的MCP Server Firecrawl。但是注意这个MCP需要配置API Key信息,如果不希望配置可以用上面 NPX Fetch这个网页获取MCP进行同样的测试和验证。
整个验证相当简单,就是我个人头条号有一个文章资源列表网页,我希望访问这个网页内容,并将文章里面所有涉及到的含超链接的文章整理为一个表格,采用Markdown文件格式存储,表格第一列为文章名称,第二列为超链接地址。
注意当我们输入我们的请求后,可以看到Craft会自动进行任务规划,并分析出现需要调用MCP工具来辅助完成工作。当第一次尝试遭遇反爬虫机制无法获取内容时候,MCP会继续自动尝试新方式并解决问题。
注意在自动执行完成后,Craft会自动处理网页信息,并将提取的内容结构化生成为一个Markdown文件并做表格化处理。如下:
可以看到在整个过程中,我们并不需要了解html语言的知识,爬虫的知识就能够轻松完成上述的完整处理过程。有了这个列表后,我们就可以进一步让AI帮我们基于这个列表超链接地址,进一步去获取具体的文章内容,并爬取内容生成独立的PDF文件到本地。
具体的提示词如下:
大家注意,这里的所有提示词没有任何技术方面的词语。我记得最早我爬取我头条号文章的时候,还要特意说清楚具体的title位置,href的位置等,在有了mcp辅助后实际这些多余提示都不需要就能够很好的完成网页内容的爬取和pdf文档的生成。
当然,这个我在测试中还有点问题,感觉还是今日头条的反爬虫机制增强了,导致几种模式都没有测试通过。在这里需要明确给出如此提示词约束,注意头条网站有反爬虫机制,因此对于爬虫程序的编写,我需要你基于 Selenium 库,模拟用户在浏览器操作后,最终代码程序才最终跑通。
可以看到这块AI程序在对反爬机制的处理上还存在需要精确提示的问题,暂时没有类似我期望的完全自主去解决该问题。对于调通后的程序。
最终成功将各个文章导出为独立的pdf文件。
3. AI辅助编程测试
在这里参考我前面一篇讲AI辅助软件工程的文章,里面就谈到对于软件需求,开发框架,界面UI规则等都需要通过Markdown文件拆分后进行结构化描述和定义。
因此我提前编写好相关的内容并导入再接着做下面的测试和验证。我们先看下整个系统的总体介绍md文件内容如下:
# 学生选课系统设计文档
## 1. 项目背景
本项目旨在开发一个现代化的学生选课管理系统,用于管理学生选课、教师授课、课程信息等核心教学管理功能。系统采用B/S架构,提供直观的用户界面和完整的业务流程支持。
## 2. 需求背景
随着教育信息化的深入发展,传统的选课方式已经无法满足现代教育管理的需求。本系统旨在提供一个完整的在线选课解决方案,实现课程管理、选课管理、成绩管理等核心功能的数字化和自动化。
## 3. 功能总体描述
系统主要包含以下核心功能模块:
1. 用户认证与授权
2. 学生信息管理
3. 教师信息管理
4. 课程信息管理
5. 选课管理
6. 成绩管理
## 4. 技术架构
### 4.1 开发框架
- 后端框架:Python + Flask
- 前端框架:Bootstrap 5 + jQuery
- 数据库:SQLite
- 模板引擎:Jinja2
### 4.2 技术选型说明
1. **Python + Flask**
- 轻量级Web框架,适合快速开发
- 丰富的扩展生态系统
- 易于学习和维护
- 良好的性能表现
2. **Bootstrap 5**
- 响应式设计
- 现代化的UI组件
- 完善的文档支持
- 广泛的社区支持
3. **SQLite**
- 轻量级数据库
- 无需额外配置
- 适合中小型应用
- 易于部署和维护
### 4.3 系统架构
系统采用经典的三层架构:
1. 表现层(UI Layer)
- 用户界面
- 交互控制
- 数据展示
2. 业务逻辑层(Business Layer)
- 业务规则处理
- 数据验证
- 事务管理
3. 数据访问层(Data Layer)
- 数据库操作
- 数据持久化
- 数据访问控制
## 5. 系统特点
1. 模块化设计
2. 响应式界面
3. 权限分级管理
4. 操作简单直观
5. 数据实时同步
6. 完善的错误处理
## 6. 开发规范
1. 代码规范遵循PEP 8
2. 使用Git进行版本控制
3. 采用RESTful API设计规范
4. 统一的错误处理机制
5. 完整的日志记录
## 7. 部署要求
1. Python 3.8+
2. Flask 2.0+
3. SQLite 3
4. 现代浏览器支持(Chrome, Firefox, Edge等)
## 8. 安全考虑
1. 密码加密存储
2. 会话管理
3. 输入验证
4. SQL注入防护
5. XSS防护
因此我们和Craft的第一次对话是希望AI首先理解我对整个小系统完整的需求描述,具体对话如下:
注意在拿到这个请求后,CodeBuddy进行了完整的需求分析和任务拆解,并对各个Markdown文件内容进行理解。如下图:
可以看到整个内容理解还是相当完整。最终AI输出为:
注意AI会自动帮你给出下一个阶段的任务规划。并给出相关的工作内容和建议。这个也充分体现了CodeBuddy对于复杂任务理解和任务规划的能力。这个能力本身对于解决复杂需求问题是相当重要的。所以到这里基本看CodeBuddy还融入了Devin,MetaGPT等智能体的一些关键能力。
好了,下一步,我们希望AI帮我生成整个系统原型的所有源代码。具体的提示词如下:
好的,我现在需要你帮我生成该系统所有的高保真原型界面,符合需求和界面规范要求。包括登录,系统首页和各个功能页面的html静态页面。注意html页面不需要实现业务规则逻辑,不需要访问数据库。但是仍然需要具备基本的JS能力实现界面之间的链接和跳转等。比如访问登录页面点击登录后可以进入到首页,点击首页左边菜单栏中的菜单可以进入到具体的功能页面。对于登录参考UITemplates目录下的login.html界面实现,对于登录后首页严格参考UITemplates目录下的main_layout.html页面实现,对于其他功能界面风格参考crud_template.html页面实现。也就是我最终需要一个完整的可以访问和演示的原型系统,方便给用户先演示原型效果。注意所有的原型系统源代码全部存放在UIDemo这个子目录下面
这个原型由于前面几天我刚好采用Cursor+Claude3.7做个测试。所以整合可以和腾讯的CodeBuddy原型代码生成能力做一个对比验证。
最终生成的源代码目录结构如下:
下面是AI生成的高保真原型效果。
大家可以看下整个界面原型效果相当不错。大家可以和其前几天发布的AI辅助软件工程那篇文章中cursor生成的效果做对比,感觉比Cursor的效果还更好一些。
注意我在测试验证中并没有采用AI工具提供的DeepSeek-V3-0324大模型,而是直接用的Default模式下腾讯基于混元训练的自研大模型。
在这个步骤验证完成后,基本就可以进入到具体功能的实现中。我们在这里仅仅简单大家开发框架结构和实现一个登录功能。Craft基本可以完全参考我们前面的需求规约,界面原型来生成代码。
最终搭建完成的框架目录结构和登录界面参考如下:
从整个实现过程来看,基本也是一次通过整个登录功能所有源代码文件的编写。而且界面UI风格和当时的原型设计完全一样,数据库DB也参考了我markdown文件格式的要求进行数据库的初始化工作。
由于时间有限,暂时没有做进一步的功能验证和测试。但是从前面的整体测试情况来看,腾讯的CodeBuddy工具基本能够完成Cursor能够实现的大部分工作。而且亮点是增加了Plan计划和深度思考模式。可以和用户协同并对需求进行多次确认和澄清。
同时Craft也支持自己启动应用进行Debug并自我修复问题。如果发现问题,Craft会尝试自动迭代进行问题的解决。由于暂时没有测试复杂功能,暂时无法评估Craft编程助手对于复杂问题的处理能力究竟如何。但是在当前Cursor访问不方便和收费的问题下,至少腾讯的CodeBuddy可以做为一个备选的重要AI辅助工具。
当然在整个试用过程中还是发现两个关键问题需要改进。
其一是代码生成速度,整体感觉还是比Cursor代码生成速度慢,这样就会导致在AI辅助开发的时候需要较长的等待时间而影响到整体的开发效率。其二就是Craft往往会自动运行相关的代码,但是会出现Terminal终端还在运行的情况下又在同时修改代码的情况。同时虽然我Craft模式下没有设置自动运行,但是仍然会自动运行的情况。希望在后续版本中进行改进。
其次,在深度思考模式下往往存在自己对需求模糊地方理解后,不断的自作主张的进行扩展内容生成的情况,自己反复迭代多次,这个本身是好事,但是却增加了多轮迭代的次数。同时有些高可用设计本身不需要,额外过多的思考和代码添加反而影响到了整体代码的可读性和性能。