首页 > 其他分享 >打假B站百万 UP 主? MarsCode AI 真的如此丝滑?

打假B站百万 UP 主? MarsCode AI 真的如此丝滑?

时间:2024-12-12 17:59:52浏览次数:7  
标签:丝滑 AI self UP 问题 复现 MarsCode 代码

文章目录

前言

  • 最近逛B站经常看到一个熟悉的身影,豆包 MarsCode AI ,对于一位对 AI 领域稍有关注的开发者,对 MarsCode AI 也有一些深度体验,但是看一些 B站 UP 主的使用视频,发现有时候我们使用的工具感觉不是同一个东西,秉承着程序员较真的想法,我们来复现一下其中一位百大UP主 英雄哪里出来 发布的一个视频 :不写一行代码,开发一款属于自己的游戏,我们可以看到这个视频接近百万播放,8万点赞,想必具备一定的参考意义。

前置准备

  • 为了让整个复现实验尽可能的相同,我会采取尽可能相似的环境,提示词等等。
  • MarsCode AI ide 插件版本:1.2.1.2
  • 代码仓库:拉取的相同的代码仓库(并尽可能复现相同的问题代码,由于代码仓库中是正常运行的代码因此需要根据视频中的问题进行复现)
  • 问答模式:使用相同的仓库级问答
  • 提示语:使用完全一致的提示语

复现实验

频率调整问题

  • 我们第一个复现的问题是人物动画鬼畜问题,首先复现问题。

  • 复现后效果

在这里插入图片描述

解决方法复现

  • 使用视频中相同的提示词进行复现:请问项目中的角色动画为什么这么鬼畜啊?

  • 第一次问答 MarsCode AI 只是提供了一些解决思路,甚至没有提供相关的代码,我们进行追加问答试一下:请问项目中的角色动画为什么这么鬼畜啊? 提供修复代码?

  • 可以看到 MarsCode AI 甚至没有正确提示到错误代码的范围,经过简单的代码阅读和 MarsCode AI 提示的一些解决思路,我给了他一些修复建议:是不是更新动画帧太快没有限制频率导致的鬼畜,这一次 MarsCode AI 成功的解决了问题,提供了正确的修复代码。

  • 修复后的动画效果

  • 此时此刻我灵机一动,再次问了开头的那一句提示语,发现 MarsCode AI 正确的给我解决了问题,难道?心里埋下了一个小小怀疑种子,当然也有可能是偶然,为了验证猜想,继续复现后面的问题。
  • 这里虽然种下了一颗怀疑的种子,但是也让我们看到了 MarsCode AI 优秀的学习能力,在一个项目的长期开发学习中,具备很大的参考意义,能让我们避免在一个问题上重复犯错。

篮球显示问题

  • 按照老规则,先重现问题代码

    def update(self):
        if self.isGameOver:
            return
        self.player.update()
        [ball.update() for ball in self.balls]
        self.checkCollide()
        # if self.isGameWin():
        #     self.Load( self.level.level + 1 )

解决方法复现

  • 使用相同的提示语询问 MarsCode AI :这个游戏中球为什么显示不出来?告诉我是哪个文件第几行出的问题,别说废话了

  • 我们发现 MarsCode AI 同样没有给我们正确代码,简单分析代码发现错误可能是在 loadOneBall 相关方法,提供给 MarsCode AI ,MarsCode AI 给我们分析了整个方法的作用已经相关上下文。

  • 结合分析和断点我们发现 balls 列表中没有生成球的实例,再次把补充资料提供给 MarsCode AI ,这一次 MarsCode AI 完美的解决了问题。

  • 此时我们再次验证解决第一个问题中遗留的可能猜想,嘿嘿复现失败。

碰撞问题

  • 复现错误代码
    def update(self):
        if self.isGameOver:
            return
        self.player.update()
        [ball.update() for ball in self.balls]
        self.checkCollide()
        # if self.isGameWin():
        #     self.Load( self.level.level + 1 )
        
        
    def checkCollide(self):
        #self.checkBallBlockCollide()
        self.checkBallPlayerCollide()

        flag = True
        while flag:
            flag = False
            for ball in self.balls:
                if ball.GetRect().y > GAME_SIZE[1]:
                    self.balls.remove(ball)
                    flag = True
                    break
        if len(self.balls) == 0:
            self.isGameOver = True

解决方法复现

  • 使用相同的提示语询问 MarsCode AI :球和砖块怎么没有碰撞?是哪里出了问题?

  • 咦,MarsCode AI 机智的发现我们错误代码,原来代码被注释掉了

  • 这一次 MarsCode AI 表现得非常出色和视频中描述一致,快速的帮我们解决了问题。

复现结论

  • 根据上面的几个问题的复现结论其实并不能得到一个准确的答案,因为环境上还存在一定差异,比如项目是使用 MarsCode AI 从 0 到 1 开发,MarsCode AI 获取到了足够的前置知识可以达到视频中的预期效果。有兴趣的朋友可以尝试折腾一下。

如何正确使用 MarsCode AI

  • 对于问题比较简单的场景,MarsCode AI 一般可以帮我们轻松快速解决。
  • 对于问题比较复杂的场景,建议是不要过于相信 AI ,因为它可能会不小心误导你,而是尽可能参考它的解决思路。
  • 给予 AI 的提示词包含尽可能多的依赖数据以及尽可能完整的需求描述,那么它将给于你更完整、更接近解决方案的答案。

新增实现一个计时器需求为例

  • 我们在提示词中尽可能的完整描述了我们的需求,让 MarsCode AI 解决我们的问题。

  • 出乎意料的是 MarsCode AI 直接给我们生成了正确且符合需求的代码,本来可能需要半个小时的工作,我们在2分钟内完成了需求,极大的提高了我们的开发效率。
    在这里插入图片描述

总结

  • 虽然 MarsCode AI 在处理复杂问题上仍有不足之处,但 MarsCode AI 仍然是我们编程旅程中的超级搭档!无论是写代码、修 Bug 还是生成测试,它都能大幅提升我们的效率。还在等什么?快让你的开发工具箱进化吧!

个人简介

标签:丝滑,AI,self,UP,问题,复现,MarsCode,代码
From: https://blog.csdn.net/qq_35578171/article/details/144424347

相关文章

  • 转载:【AI系统】AI的领域、场景与行业应用
    AI的历史与现状本文将介绍AI的由来、现状和趋势,让大家能够了解AI应用的由来与趋势,为后面理解AI系统的设计形成初步的基础。在后面文章介绍的人工智能系统(AISystem)奠定基础,值得注意的是,这些系统设计原则大部分也适合于机器学习系统(MLSystem)。因为系统本身是随着上层应用......
  • 转载:【AI系统】AI 基本理论奠定
    AI基本理论奠定虽然AI在今年取得了举世瞩目的进展与突破,但是其当前基于的核心理论神经网络等,在这波浪潮开始前已经基本奠定,并经历了多次的起起伏伏。神经网络作为AI的前身,经历了以下的发展阶段:萌芽兴奋期(约1950s)1943年,神经科学家和控制论专家WarrenMcCulloch和逻辑......
  • 转载:【AI系统】AI 发展驱动力
    AI起源于上世纪五十年代,经历了几次繁荣与低谷,直到2016年谷歌旗下的DeepMind发布AlphaGo程序赢得与世界围棋冠军的比赛,大众对AI的关注与热情被重新点燃。其实AI技术早在这个标志事件之前已经在工业界很多互联网公司中得到了广泛应用与部署。例如,搜索引擎服务中的排序、......
  • 转载:【AI系统】计算与调度
    上一篇我们了解了什么是算子,神经网络模型中由大量的算子来组成,但是算子之间是如何执行的?组成算子的算法逻辑跟具体的硬件指令代码之间的调度是如何配合?计算与调度计算与调度的来源图像处理在当今物理世界中是十分基础且开销巨大的计算应用。图像处理算法在实践中需要高效的实现......
  • 转载:【AI系统】算子手工优化
    在上一篇中,探讨了算子计算和调度的概念,并强调了高效调度策略在释放硬件性能和降低延迟方面的重要性。本文,我们将深入讨论手写算子调度时需要考虑的关键因素,并介绍一些著名的高性能算子库。计算分析在优化算子前,首先需要知道当前程序的瓶颈在哪里,是计算瓶颈还是访存瓶颈。对于这......
  • Win10提示CRITICAL_STRUCTURE_CORRUPTION蓝屏代码怎么办?
    在使用电脑的过程中,不少朋友都遇到过蓝屏的现象,像小编就遇到了CRITICAL_STRUCTURE_CORRUPTION蓝屏终止代码,那么遇到这种蓝屏代码应该要怎么办呢?下面就和小编一起来看看有什么解决方法吧。Win10提示CRITICAL_STRUCTURE_CORRUPTION蓝屏代码的解决方法方法一1、......
  • 转载:【AI系统】计算图与自动微分
    在前面的文章曾经提到过,目前主流的AI框架都选择使用计算图来抽象神经网络计算表达,通过通用的数据结构(张量)来理解、表达和执行神经网络模型,通过计算图可以把AI系统化的问题形象地表示出来。本文将会以AI概念落地的时候,遇到的一些问题与挑战,因此引出了计算图的概念来对神经网......
  • 转载:【AI系统】计算图原理
    在前面的文章曾经提到过,目前主流的AI框架都选择使用计算图来抽象神经网络计算表达,通过通用的数据结构(张量)来理解、表达和执行神经网络模型,通过计算图可以把AI系统化的问题形象地表示出来。本文将会以AI概念落地的时候,遇到的一些问题与挑战,因此引出了计算图的概念来对神经网......
  • 转载:【AI系统】计算图基本介绍
    在AI框架发展的最近一个阶段,技术上主要以计算图来描述神经网络。前期实践最终催生出了工业级AI:TensorFlow和PyTorch,这一时期同时伴随着如Chainer、DyNet、CNTK、PaddlePaddle、JAX等激发了框架设计灵感的诸多实验课程。TensorFlow和PyTorch,特别是PyTorch代表了今天AI......
  • 转载:【AI系统】自动微分的挑战&未来
    在前面的文章里面,分别介绍了什么是自动微分、如何实现自动微分,以及更加深入的自动微分的基本数学原理,并贯以具体的代码实现例子来说明业界主流的AI框架在自动微分实现方法,希望让你更加好地掌握自动微分端到端能力。虽然计算机实现自动微分已经发展了几十年,不过在自动微分的演进......