目录
一次成型效果
前言
驭码这个名字取的还是非常的好的,驾驭代码,永无bug非常带劲,这个2.0的版本肯定是有超前价值的。这个版本最新更新的时间是2025-5-16最新版本号是2.1版本,在4月16日的时候就更新了具体的2.0版本,其特性是分为了4个模块:
1、复杂任务拆解与分析:自动分解复杂编程任务,生成可执行的子任务方案,并提供优化建议。
2、跨文件读取、编辑代码文件:支持跨多个文件解析和修改代码,实现智能代码生成与重构。
3、错误信息自反馈与纠正:自动捕捉错误信息,分析根因并生成修复建议,优化代码质量。
4、终端指令执行:智能解析和执行终端指令,辅助开发者高效完成环境配置与调试操作。
可以支持复杂任务拆解了,且是自动的,跨文件操作,自纠正,还有终端命令执行,都是对于我们程序员最实际的工作路线。2.1的版本还增加了增加代码补全延时可配置功能。我们可以一会去尝试一下,肯定很棒。
驭码安装方式
安装完毕再去登录
登录到驭码
这里我们使用OAuth登录
具体登录:
确认登录
需要确认一下
等会验证码就会发到邮箱上:
输入验证码:
校验完毕:
登录完毕:
驭码-实操测试
这是基础的一个面板,接下来我们要进行具体的实操。
函数理解测试
行不行跑个函数先试试。
当x为5的时候函数的结果应该是多少,使用python代码来表达:
sigmoid(x) = 1/(1 + exp(-x))
返回代码:
这里就很明显的证明数学函数能力是OK的。
算法能力测试
算法搞一下图的遍历吧,看看行呗。
给出了具体的算法代码:
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def pseudoPalindromicPaths(root: TreeNode) -> int:
def dfs(node, path):
if not node:
return
current_path = path + [node.val]
if not node.left and not node.right:
# 直接添加路径(不检查频次,默认都能组成伪回文)
palindromic_paths.append(current_path)
return
dfs(node.left, current_path)
dfs(node.right, current_path)
palindromic_paths = []
dfs(root, [])
print("伪回文路径:", palindromic_paths)
print("总数:", len(palindromic_paths))
return len(palindromic_paths)
# 示例树
root = TreeNode(2)
root.left = TreeNode(3)
root.right = TreeNode(1)
root.left.left = TreeNode(3)
root.left.right = TreeNode(1)
root.right.right = TreeNode(1)
pseudoPalindromicPaths(root)
执行效果:
执行效果竟然是OK的,谁说AI遇到算法就是智障来着,这不是对的吗?
多文件联动测试
当前项目的结构层次:
尝试分析理解:
#main.py 理解当前项目,将理解的结果放置到readme.md当中,使用md语法。
md格式异常,这里还需要继续优化,但是文件信息获取是完成了的。
驭码-贪吃蛇项目试炼
提示词:
使用python语言创建一个贪吃蛇项目,背景需要是提夫尼蓝,蛇的每一结颜色都需要有变化,目标是一个圆形的弹珠。
给出的回答有代码以及对应的环境安装语句,还是非常不错的,并且是一次成型,中间没有任何修补的过程,在国产的大模型中完全属于上等的了。
import pygame
import random
import sys
import colorsys
# 初始化pygame
pygame.init()
# 颜色定义
TIFFANY_BLUE = (10, 186, 181)
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
# 游戏参数
WIDTH, HEIGHT = 800, 600
GRID_SIZE = 20
GRID_WIDTH = WIDTH // GRID_SIZE
GRID_HEIGHT = HEIGHT // GRID_SIZE
SNAKE_SPEED = 10
# 创建游戏窗口
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("快乐贪吃蛇")
clock = pygame.time.Clock()
def generate_food(snake):
"""生成随机食物位置,确保不在蛇身上"""
while True:
x = random.randint(0, GRID_WIDTH - 1)
y = random.randint(0, GRID_HEIGHT - 1)
if [x, y] not in snake:
return (x, y)
def get_color_variation(base_hue, n):
"""根据基色生成n个渐变色,使用HSV色彩空间"""
colors = []
for i in range(n):
# 在基础色调周围轻微变化 (0.3-0.5是绿色的范围)
hue = base_hue + 0.02 * i # 每节蛇身稍微变化色调
hue = hue % 1.0 # 确保在0-1范围内
# 保持较高的饱和度和亮度
r, g, b = colorsys.hsv_to_rgb(hue, 0.9, 0.9)
colors.append((int(r * 255), int(g * 255), int(b * 255)))
return colors
def draw_snake(snake, colors):
"""绘制蛇身"""
for i, (x, y) in enumerate(snake):
color = colors[i % len(colors)] # 循环使用颜色数组
pygame.draw.rect(screen, color, (x * GRID_SIZE, y * GRID_SIZE, GRID_SIZE, GRID_SIZE))
# 添加边缘使蛇节更清晰
pygame.draw.rect(screen, BLACK, (x * GRID_SIZE, y * GRID_SIZE, GRID_SIZE, GRID_SIZE), 1)
def draw_food(food_pos):
"""绘制圆形食物(弹珠)"""
x, y = food_pos
# 绘制圆形食物
pygame.draw.circle(
screen,
RED,
(x * GRID_SIZE + GRID_SIZE // 2, y * GRID_SIZE + GRID_SIZE // 2),
GRID_SIZE // 2
)
# 添加高光效果使弹珠更真实
pygame.draw.circle(
screen,
(255, 128, 128),
(x * GRID_SIZE + GRID_SIZE // 3, y * GRID_SIZE + GRID_SIZE // 3),
GRID_SIZE // 6
)
def game_loop():
"""游戏主循环"""
snake = [[GRID_WIDTH // 2, GRID_HEIGHT // 2]]
direction = (1, 0) # 初始向右移动
food_pos = generate_food(snake)
score = 0
# 生成一组渐变色,基色是蒂芙尼蓝的HSV表示
base_h_tiffany = colorsys.rgb_to_hsv(TIFFANY_BLUE[0]/255, TIFFANY_BLUE[1]/255, TIFFANY_BLUE[2]/255)[0]
snake_colors = get_color_variation(base_h_tiffany, 20) # 生成20种渐变色
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_UP and direction != (0, 1):
direction = (0, -1)
elif event.key == pygame.K_DOWN and direction != (0, -1):
direction = (0, 1)
elif event.key == pygame.K_LEFT and direction != (1, 0):
direction = (-1, 0)
elif event.key == pygame.K_RIGHT and direction != (-1, 0):
direction = (1, 0)
# 更新蛇的位置
new_head = [snake[0][0] + direction[0], snake[0][1] + direction[1]]
snake.insert(0, new_head)
# 检查是否吃到食物
if snake[0] == list(food_pos):
food_pos = generate_food(snake)
score += 10
else:
snake.pop() # 如果没有吃到食物,移除尾部
# 检查碰撞
if (snake[0][0] < 0 or snake[0][0] >= GRID_WIDTH or
snake[0][1] < 0 or snake[0][1] >= GRID_HEIGHT or
snake[0] in snake[1:]):
game_over(score)
return
# 绘制游戏
screen.fill(TIFFANY_BLUE)
draw_snake(snake, snake_colors)
draw_food(food_pos)
# 显示分数
font = pygame.font.SysFont('Arial', 20)
score_text = font.render(f'Score: {score}', True, WHITE)
screen.blit(score_text, (10, 10))
pygame.display.update()
clock.tick(SNAKE_SPEED)
def game_over(score):
"""游戏结束画面"""
font = pygame.font.SysFont('Arial', 36)
game_over_text = font.render(f'Game Over! Score: {score}', True, WHITE)
restart_text = font.render('Press SPACE to restart', True, WHITE)
screen.fill(BLACK)
screen.blit(game_over_text, (WIDTH // 2 - game_over_text.get_width() // 2, HEIGHT // 2 - 50))
screen.blit(restart_text, (WIDTH // 2 - restart_text.get_width() // 2, HEIGHT // 2 + 50))
pygame.display.update()
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
elif event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE:
return
clock.tick(SNAKE_SPEED)
def main():
"""主函数"""
while True:
game_loop()
if __name__ == "__main__":
main()
安装并执行测试:
还挺好玩。
源代码上修正
将所有的英文提示更换成中文。
效果是成功了。
具体代码分析可以看到,所有的变量竟然也改成了中文的,这个就有些意外了。
import pygame
import random
import sys
import colorsys
# 初始化pygame
pygame.init()
# 颜色定义
蒂芙尼蓝 = (10, 186, 181)
白色 = (255, 255, 255)
黑色 = (0, 0, 0)
红色 = (255, 0, 0)
# 游戏参数
宽度, 高度 = 800, 600
格子大小 = 20
横向格子数 = 宽度 // 格子大小
纵向格子数 = 高度 // 格子大小
蛇移动速度 = 10
# 创建游戏窗口
屏幕 = pygame.display.set_mode((宽度, 高度))
pygame.display.set_caption("快乐贪吃蛇")
时钟 = pygame.time.Clock()
def 生成食物(蛇身):
"""生成随机食物位置,确保不在蛇身上"""
while True:
x = random.randint(0, 横向格子数 - 1)
y = random.randint(0, 纵向格子数 - 1)
if [x, y] not in 蛇身:
return (x, y)
def 获取渐变色(基础色调, 数量):
"""根据基色生成多个渐变色,使用HSV色彩空间"""
颜色列表 = []
for i in range(数量):
# 在基础色调周围轻微变化 (0.3-0.5是绿色的范围)
色调 = 基础色调 + 0.02 * i # 每节蛇身稍微变化色调
色调 = 色调 % 1.0 # 确保在0-1范围内
# 保持较高的饱和度和亮度
r, g, b = colorsys.hsv_to_rgb(色调, 0.9, 0.9)
颜色列表.append((int(r * 255), int(g * 255), int(b * 255)))
return 颜色列表
def 绘制蛇身(蛇身, 颜色列表):
"""绘制蛇身"""
for i, (x, y) in enumerate(蛇身):
颜色 = 颜色列表[i % len(颜色列表)] # 循环使用颜色数组
pygame.draw.rect(屏幕, 颜色, (x * 格子大小, y * 格子大小, 格子大小, 格子大小))
# 添加边缘使蛇节更清晰
pygame.draw.rect(屏幕, 黑色, (x * 格子大小, y * 格子大小, 格子大小, 格子大小), 1)
def 绘制食物(食物位置):
"""绘制圆形食物(弹珠)"""
x, y = 食物位置
# 绘制圆形食物
pygame.draw.circle(
屏幕,
红色,
(x * 格子大小 + 格子大小 // 2, y * 格子大小 + 格子大小 // 2),
格子大小 // 2
)
# 添加高光效果使弹珠更真实
pygame.draw.circle(
屏幕,
(255, 128, 128),
(x * 格子大小 + 格子大小 // 3, y * 格子大小 + 格子大小 // 3),
格子大小 // 6
)
def 游戏主循环():
"""游戏主循环"""
蛇身 = [[横向格子数 // 2, 纵向格子数 // 2]]
方向 = (1, 0) # 初始向右移动
食物位置 = 生成食物(蛇身)
分数 = 0
# 生成一组渐变色,基色是蒂芙尼蓝的HSV表示
基础色调 = colorsys.rgb_to_hsv(蒂芙尼蓝[0]/255, 蒂芙尼蓝[1]/255, 蒂芙尼蓝[2]/255)[0]
蛇身颜色 = 获取渐变色(基础色调, 20) # 生成20种渐变色
while True:
for 事件 in pygame.event.get():
if 事件.type == pygame.QUIT:
pygame.quit()
sys.exit()
elif 事件.type == pygame.KEYDOWN:
if 事件.key == pygame.K_UP and 方向 != (0, 1):
方向 = (0, -1)
elif 事件.key == pygame.K_DOWN and 方向 != (0, -1):
方向 = (0, 1)
elif 事件.key == pygame.K_LEFT and 方向 != (1, 0):
方向 = (-1, 0)
elif 事件.key == pygame.K_RIGHT and 方向 != (-1, 0):
方向 = (1, 0)
# 更新蛇的位置
新蛇头 = [蛇身[0][0] + 方向[0], 蛇身[0][1] + 方向[1]]
蛇身.insert(0, 新蛇头)
# 检查是否吃到食物
if 蛇身[0] == list(食物位置):
食物位置 = 生成食物(蛇身)
分数 += 10
else:
蛇身.pop() # 如果没有吃到食物,移除尾部
# 检查碰撞
if (蛇身[0][0] < 0 or 蛇身[0][0] >= 横向格子数 or
蛇身[0][1] < 0 or 蛇身[0][1] >= 纵向格子数 or
蛇身[0] in 蛇身[1:]):
游戏结束(分数)
return
# 绘制游戏
屏幕.fill(蒂芙尼蓝)
绘制蛇身(蛇身, 蛇身颜色)
绘制食物(食物位置)
# 显示分数
字体 = pygame.font.SysFont('SimHei', 20) # 使用黑体显示中文
分数文本 = 字体.render(f'分数: {分数}', True, 白色)
屏幕.blit(分数文本, (10, 10))
pygame.display.update()
时钟.tick(蛇移动速度)
def 游戏结束(分数):
"""游戏结束画面"""
字体 = pygame.font.SysFont('SimHei', 36) # 使用黑体显示中文
游戏结束文本 = 字体.render(f'游戏结束! 分数: {分数}', True, 白色)
重新开始文本 = 字体.render('按空格键重新开始', True, 白色)
屏幕.fill(黑色)
屏幕.blit(游戏结束文本, (宽度 // 2 - 游戏结束文本.get_width() // 2, 高度 // 2 - 50))
屏幕.blit(重新开始文本, (宽度 // 2 - 重新开始文本.get_width() // 2, 高度 // 2 + 50))
pygame.display.update()
while True:
for 事件 in pygame.event.get():
if 事件.type == pygame.QUIT:
pygame.quit()
sys.exit()
elif 事件.type == pygame.KEYDOWN and 事件.key == pygame.K_SPACE:
return
时钟.tick(蛇移动速度)
def 主函数():
"""主函数"""
while True:
游戏主循环()
if __name__ == "__main__":
主函数()
驭码-面向对象开发试炼
问题:
使用面向对象的方式,单独创建一个用于访问数据库的mysql_factory.py文件,使用pymysql库。
连接地址是:rm-bp1zq3879r28p726lco.mysql.rds.aliyuncs.com
数据库是:jianguopai
用户名是:qwe8403000
密码是:admin
使用的字符集是:utf8
另外创建一个main.py,写一个创建表格的示例,创建一个操作日志表,创建完毕后,插入5条随机信息。
效果中可以看到上下文,能确定是两个文件创建的,并且main.py文件使用的是面向对象的方式引入了mysql_factory进行调用内容的。
运行效果测试:
中间没有任何代码修正,又是一次完成。
总结
在多种测试中,驭码的效果都表现良好,对于代码一次成型上有非常突出的表现,与预期结果几乎完全匹配,避免了多次修复的苦恼,虽然看不到底层的模型名称,但是使用起来是出奇的好用,这里推荐一下,当前还是免费的,快速下载使用吧。
驭码 CodeRider - AI 编程与软件智能研发助手 - 极狐GitLab
最后我录列一下驭码的所有优势:
优势分类 | 具体优势 | 细节说明 |
---|---|---|
智能化开发辅助 | 全流程 AI 赋能 | 覆盖代码补全、解释、注释、修改、优化、单元测试生成等环节,减少手动操作,提升编码效率。 |
自然语言交互能力 | 支持对话式提问与文档问答,快速解决开发问题,降低信息检索成本。 | |
GitLab 深度整合 | 原生工作流支持 | 无缝集成 GitLab 议题和合并请求管理,优化团队协作流程,减少工具切换成本。 |
企业级安全防护 | 代码文档安全保障 | 支持私有化部署,确保企业内部代码和文档不泄露,满足数据合规要求。 |
部署灵活性 | 多场景部署方案 | - 服务器私有化部署:适合对数据安全要求高的企业 - 端侧部署(AIPC):支持离线使用,适应无网络环境 |
开发工具兼容性 | 主流 IDE 全集成 | 支持 Visual Studio Code、JetBrains 系列、Cursor 等 IDE,适配开发者现有工作环境。 |
多语言全栈覆盖 | 近百种编程语言支持 | 涵盖 Python、Java、Go、JavaScript、C# 等主流语言及 React、Vue 等框架,满足全栈开发需求。 |
协作效率提升 | DevOps 流程智能化 | 整合 AI 到 DevOps 流程,优化研发、测试、部署的自动化协作,缩短开发周期。 |
使用体验优化 | 离线可用与沉浸式体验 | 端侧部署支持离线编程,避免网络依赖;功能深度嵌入开发工具,减少操作割裂感。 |