当前位置: 首页 > news >正文

零基础跟我学做AI Agent(第2课:用CrewAI配置一个软件虚拟团队)

今天我们讲第一个AI Agent例子:用CrewAI配置一个软件虚拟团队。实际上,这个需要有69行代码,那为什么不叫开发而叫配置呢?因为代码中几乎没有程序化的内容,基本上就是配置信息。

一、目标

本例中Agent实现的目标是配置一个虚拟开发团队,这个团队中有资深程序员,还有测试工程师,两者协作完成一个具体的开发任务。当然这需要大模型的支持和经过多轮迭代。两种角色经过协调和博弈,让结果越来越接近于人类设定的目标。最后得到的成果是整套源代码。

二、原理

CrewAI是一种AI Agent框架,适合做多种角色Agent协同的应用,因为Crew的意思是“船员”或“机组”,寓意着几个分工不同的虚拟人共同配合完成一个总体的任务。在配置中,需要有以下几个元素:

1、智能体

我们定义了programmer和qa_engineer两个智能体,这些智能体有目标要求和表示角色的技能声明,当然这是通过大模型提示词实现的。

2、任务

与智能体相匹配的任务有development_task和testing_task两种,这些任务要设定由哪个智能体来执行,而且任务之间也有工作成果的交接。

3、团队

智能体、任务以及执行方法共同组成一个团队,通过kickoff(开球)方法开始运转。

三、源码

69行源码全部给出(公众号不便查看源码的话,可到的chapter-x-0base目录查看)。

import os from crewai import Agent, Task, Crew, Process os.environ['OPENAI_API_BASE'] = 'http://localhost:11434/v1' os.environ["OPENAI_API_KEY"] = "EMPTY" os.environ["OPENAI_MODEL_NAME"] = "openai/qwen3" class DevelopmentCrew: def __init__(self, development_description, testing_description): # 定义程序员智能体 self.programmer = Agent( role="资深程序员", goal="编写高质量、可维护的代码,实现功能需求", backstory="你是一位经验丰富的程序员,精通多种编程语言和设计模式。" + "你注重代码质量,善于编写清晰、高效的代码,并且有很强的逻辑思维能力。", verbose=True, max_execution_time=300 ) # 定义测试工程师智能体 self.qa_engineer = Agent( role="测试工程师", goal="确保代码质量,发现并报告缺陷,验证功能完整性", backstory="你是一位严谨的测试工程师,对细节极其敏感。" + "你擅长设计测试用例,能够发现各种边界条件和潜在问题," + "确保交付的代码达到高质量标准。", verbose=True, max_execution_time=300 ) # 定义开发任务 self.development_task = Task( description=development_description, agent=self.programmer, expected_output="完整的Python代码实现,包含所有要求的功能和必要的注释" ) # 定义测试任务 self.testing_task = Task( description=testing_description, agent=self.qa_engineer, expected_output="详细的测试报告,包含测试用例、发现的问题和改进建议", context=[self.development_task] ) # 创建并运行开发团队 def invoke(self): dev_crew = Crew( agents=[self.programmer, self.qa_engineer], tasks=[self.development_task, self.testing_task], process=Process.sequential, verbose=True ) print("开始软件开发流程...") print("第一阶段:程序员进行功能开发") print("第二阶段:测试工程师进行质量验证") result = dev_crew.kickoff() print("\n开发流程完成,最终结果:") print(result) return result.raw if __name__ == "__main__": # 从主函数传入任务描述 dev_description = """开发一个用户管理系统,包含以下功能: 1. 用户注册(用户名、邮箱、密码) 2. 用户登录验证 3. 用户信息查询 4. 密码重置功能 请使用Python编写清晰的代码,包含必要的注释和错误处理。""" test_description = """对开发的用户管理系统进行全面测试: 1. 设计测试用例覆盖正常流程和异常情况 2. 进行边界值测试和错误处理测试 3. 验证所有功能是否符合需求 4. 提供详细的测试报告和改进建议""" dev_crew = DevelopmentCrew(dev_description, test_description) dev_crew.invoke()

四、运行

1、环境安装

用Miniconda建立一个Python虚拟环境,本案例只依赖于crewai库。大模型是在上一节装好的,程序调到API时,Ollama会自动装载qwen3模型的。

# 创建虚拟环境 conda create -n part02 python=3.13 -y # 激活虚拟环境 conda activate part02 # 安装依赖库 pip install crewai==0.201.1 -i https://pypi.mirrors.ustc.edu.cn/simple

2、运行

python agent_crewai.py

五、运行结果

开始运行时,团队开始思考,制定计划,然后进入多轮迭代。

经过多轮迭代,最后生成目标源码和测试用例,结果如下:

至于最后的结果是否符合预期,主要是和模型的能力有关,我们用Ollama跑量化模型,效果应一般,如果要得到更好的效果,得用GPU部署更大的、精度更高的模型。

学习资源推荐

如果你想更深入地学习大模型,以下是一些非常有价值的学习资源,这些资源将帮助你从不同角度学习大模型,提升你的实践能力。

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!​

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获取

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示

​因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获取

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获取

四、AI大模型商业化落地方案

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

http://www.cnnetsun.cn/news/4428.html

相关文章:

  • 大模型中参数中 topP(核采样)与 topK 参数的区别
  • GPT-5.2:引领内容创作的变革,还是算法的牢笼?
  • 智能体长期记忆的真正解法:不只是知识库,而是可演化的“第二大脑”
  • GB28181自动化测试工具终极指南:快速掌握视频监控协议测试
  • SpinningMomo完整指南:轻松掌握无限暖暖摄影技巧
  • 蛋白质结构预测的5大实战技巧:AlphaFold如何帮你识别关键功能区域
  • 3步精通WebODM:从无人机新手到地图制作达人
  • 突破性AI视频生成框架:如何实现消费级部署的技术革新
  • AI学术海报生成神器:3分钟让科研展示效率飙升500%
  • GloVe词向量终极指南:30分钟从零到文本分类实战
  • Wan2.2-T2V-A14B在地质灾害预警宣传视频中的风险可视化
  • Wan2.2-T2V-A14B在公交线路调整公告视频中的动态地图展示
  • 为什么Wan2.2-T2V-A14B成为高端广告生成平台的核心引擎?
  • SpringBoot应用回顾
  • 揭秘气象数据中的极端事件信号:R语言建模全攻略
  • Wan2.2-T2V-5B能否生成天气预报类动态图表视频?
  • 利用Duckdb求解Advent of Code 2025第11题 问题路径
  • 终极Maya皮肤权重优化解决方案:实现自然动画效果的专业指南
  • UI自动化测试中公认最佳的设计模式-POM
  • Python切片总结
  • 重庆思庄技术分享——使用 dd 和 hdparm 进行快速磁盘性能测试
  • 考了两次阿里云ACP认证,骂醒一个是一个
  • 解锁张一鸣思维宝库:从微博记录汲取创业智慧
  • Gitleaks环境变量配置深度解析与实战应用
  • RDPWrap终极配置指南:解决Windows更新后远程桌面多用户失效问题
  • JavaScript 中基于原型和原型链的继承方式详解
  • 至今,我发现前端效率低的人都有一个通病!
  • 精准守护成长:西城微科婴儿电子秤PCBA方案深度解析
  • js循环数组写法
  • 中国独立开发者生态价值重塑:从个体创新到群体智慧的变革之路