AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


我的第一个智能体员工:Python代码终结者
发布日期:2024-09-04 07:18:17 浏览次数: 1701 来源:AI智能体研究


创作动机

之前我在《Kimi、豆包与ChatGPT的对比分析》一文中提到了豆包没有代码解释器的问题。虽然我可以用自己的 Code Interpreter 代替,但总是要切换平台,并非无缝集成到豆包或者飞书的对话中。组织内部的其他员工也并非人人都有 Code Interpreter,使用起来不太方便。

现如今,打工人不管是做企业决策、科学研究,还是个人项目,都离不开对数据的深入分析和处理。而 Python 作为一种功能强大且简洁易学的编程语言,在数据分析和科学计算领域占据重要地位,也是 Code Interpreter 的编程语言。然而,并非人人都是 Python 高手,大多数打工人都还在不断学习,所以想要利用 Python 进行代码运行和数据分析并非易事。如果在工作对话过程中,通过自然语言的交互就能运行 Python 程序做一些类似数据分析的事,那会方便不少。

为了解决豆包环境中缺乏代码解释器的难题,我花了些时间,基于扣子平台做了一个“Python代码终结者”的AI智能体。通过在豆包环境中模拟Code Interpreter的功能,为用户提供一种便捷的、实时的编程体验。用户可以直接在聊天窗口用自然语言发出指令,机器人就会分析需求,运行代码,获取数据可视化结果,并导出必要的文件。


初步测试下来,除了能作为学习Python的好帮手,还能解决一些日常的数据分析和可视化的任务。机器人链接是:https://www.coze.cn/store/bot/7400768722895683599,或者在扣子的Bot商店里搜索”Python代码终结者“,也能找到,大家可以试用一下。

主要功能与特点

支持的编程语言和环境

Python代码终结者智能体主要支持Python语言,它能够根据用户的需求准确运行各种类型的 Python 代码。无论是简单的数学计算、字符串处理,还是复杂的数据分析算法和机器学习模型,智能体都能轻松应对。

支持的代码类型和复杂程度

例如,如果你需要计算两个数的和,可以直接向智能体发送以下指令:“计算 5 + 3 的结果。”智能体会产生对应的Python代码来进行计算,避免了大模型输出的不确定性。当然,如果你有一段想执行的数据分析代码,只需将代码片段发送给智能体,它也会立即运行并返回结果。基于扣子插件的沙盒技术,智能体还可以加载外部模块,如 numpy、pandas 和 sympy等,为你的数据分析提供更强大的支持。

代码执行和结果展示

用户可以在聊天窗口中输入Python代码,智能体将尝试运行并返回结果。我使用了扣子的卡片格式返回结果,相比纯文本回复,更加直观和高效。这种无缝的互动体验,使用户无需离开豆包环境即可完成代码编写、调试与执行。

数据可视化功能

在数据分析过程中,数据的可视化尤为重要。Python代码终结者智能体支持Matplotlib这样的绘图库,用户可以通过简单的代码生成图表,并直接在聊天窗口中查看。Python 代码终结者智能体支持多种数据可视化方式,包括折线图、柱状图、饼图、散点图等。

文件输出与管理

智能体支持将代码执行的结果以文件形式导出,如CSV文件、图像文件等。用户可以方便地下载这些文件,以便后续处理或分享。

使用场景与应用

编程教学与学习

Python代码终结者智能体应该能在编程教学与学习中有着一定的应用。教师可以在豆包中与学生实时互动,通过智能体演示代码的运行结果,学生则可以即时提交代码并获取反馈,从而大大提高学习效率。

例如,你想看一个Matplotlib的例子,就可以发送指令:“展示一个简单的Matplotlib代码示例”,智能体就会自动给出示例代码,如果你想执行看结果,就点击“执行这段代码“的快捷指令。

数据分析与处理

日常的数据分析任务,比如数据清洗、统计分析和可视化等,都能在智能体中运行并得到即时的反馈,使得数据分析过程更加高效、灵活。

例如,销售在对话中正好有一组销售数据想要简单画图展示一下,不用打开Excel或者PPT这样的工具来画图。只要向智能体发送指令:“2000到2005年的销售额分别是:1万,3万,4万,5万,6万,7万,请帮我做个柱状图进行展示”,智能体就会根据你的数据自动生成柱状图,并将图表展示给你。

你还可以通过调整指令中的参数,如图表的标题、坐标轴标签、颜色等,来定制自己想要的可视化效果。比如你可以发指令说:“柱状图颜色帮我改成绿色”,智能体就会再画一个绿色的柱状图给你。

文件和图片下载

有时候想把代码运行的结果保存下来,所以就做了文件和图片下载功能,方便用户把文件分享给其他人,或者做进一步的处理。

代码修复和解释

在实际测试过程中,我发现大模型产生的代码有机率会有错误,执行返回error,所以需要再次迭代修复一下代码,这个功能在Code Interpreter里面是自动修复的,目前豆包的插件还不支持,只会返回执行的错误信息,所以我加了一个快捷指令“修复这段代码”,就是让智能体根据返回的错误信息,尝试修复代码并再次运行。

其他待研究功能

因为Python可以做的事情很多,官方并没有给出代码执行器插件具体安装的Python库列表,所以我只能尽量尝试,比如我就发现有安装Sympy库,可以用来求解数学方程式。比如发指令:”x^3+3x^2+3x+1=0,编写程序求解这个方程“,智能体就会运行Python代码来进行数学求解。之后如果我有新的发现,也会分享给大家。

智能体的工作原理

核心插件和挑战

Python代码终结者智能体能够理解用户的自然语言输入,生成对应的Python代码,并在安全的沙箱环境中进行执行。其核心就是扣子的一个官方插件代码执行器(CodeRunner),这个插件接受一段Python代码,运行并返回执行结果。

如果都是正确的代码,那就没有问题,所以这个智能体的核心挑战就是如何自动产生正确的代码。大家很容易想到,LLM可以生成代码,但是实测的时候,发现直接让LLM生成代码成功率很低,因为LLM会以不确定的方式输出代码,而且会前前后后加好多解释和引导语。而这样的字符串给到代码执行器,是肯定无法执行的,所以需要让LLM的输出更精确,不要有多余的废话,然后还需要把生成的代码从上下文中提取出来,这样成功率才会提高。

工作流模块划分

为这个智能体设计的工作流,主要分为四大模块:意图识别、LLM代码生成,代码后处理,以及代码执行模块。意图识别模块负责理解和处理用户输入的需求;LLM代码生成模块就尝试产生包含Python代码的字符串,代码后处理负责提取纯粹的代码,代码执行模块在沙箱环境中安全地运行代码。

豆包环境中的集成

工作流设计好之后,能够无缝集成于豆包的机器人聊天环境中。通过豆包Bot平台的简单设置,智能体就能够调用工作流,快速响应用户请求,并将代码执行结果返回到聊天窗口中,确保用户体验的流畅性。

优势与局限性分析

相比 Code Interpreter,Python 代码终结者智能体能够直接绑定扣子支持的所有发布渠道,如豆包和飞书。这使得用户无需科学上网,就能在工作和生活的社交平台上,通过自然语言进行代码执行和数据分析任务,打破了编程环境的传统束缚。

然而,当前版本仍有一些局限。例如,智能体本身尚不支持上传文件的分析,代码生成执行的成功率并非 100%,LLM 的模型选项中尚无专门用于代码生成的大模型可选,代码执行器的运行时间也有限。期望未来豆包能直接推出类似 Code Interpreter 的功能,或者增强 LLM 和代码执行器对复杂 Python 代码的支持程度。

结语

Python 代码终结者智能体是我基于扣子平台做的首个小实验,旨在弥补豆包中缺少代码解释器的缺陷。它可以依据用户需求运行 Python 代码、进行数据可视化以及输出文件等操作,为用户提供了高效、便捷的编程和数据分析工具。我个人认为,不管是在教学、学习方面,还是在实际项目里,它都能助力用户更出色地达成目标。大家若有时间,不妨体验一下 Python 代码终结者智能体,并给出宝贵的意见和建议。让我们一同开启高效编程与数据分析的崭新篇章!



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询