最近很多粉丝在后台私信我:“老哥,现在各种大模型API我都调麻了,但总感觉它们像是个没长手脚的大脑,只能做简单的文字问答。怎么才能让它们像真正的员工一样,自己去搜索资料、写代码、甚至互相协作完成一个大项目呢?”
这就问到点子上了!到了2026年的今天,单纯的“提示词工程(Prompt Engineering)”已经不够用了,现在的核心风口叫做——AI Agent(人工智能体)。
今天,我就带大家沉浸式体验一下,如何用 Python 搭建一个真正的 AI Agent 团队!我们将聚焦目前极其优雅且极其偏向“多智能体角色扮演”的框架——CrewAI
什么是 AI Agent?
在写代码之前,咱们先用一句话弄懂本质:
LLM(大语言模型)是“大脑”,而 Agent 则是“大脑 + 记忆 + 规划 + 手脚(Tools)”。
当你把多个 Agent 组合在一起,给它们设定目标、分配工具,甚至让它们成为上下级关系时,你就不是在写代码了,而是在开公司
目前市面上有 LangGraph、AutoGen 等框架,但我今天强烈推荐CrewAI 。因为它完美契合了人类社会的组织架构:你可以定义员工(Agent)、分配任务(Task)、组建团队(Crew),然后让它们自己去干活。
️ 动手实践:用 Python 雇佣一个“爆款爆文创作团队”
废话不多说,直接上干货。假设我们现在需要写一篇关于“Python 3.14 最新特性”的深度技术文章。如果让你自己写,你需要去查资料、提炼重点、排版、润色。
现在,我们用代码“雇佣”两个数字员工:
- 资深技术研究员(Researcher):负责全网搜索、啃官方文档。
- 千万级自媒体主编(Writer):负责把枯燥的技术要点写成风趣幽默的爆款文章。
第一步:安装依赖
pip install crewai langchain-openai duckduckgo-search第二步:撸代码!(直接Copy就能跑)
import osfrom crewai import Agent, Task, Crew, Processfrom langchain_openai import ChatOpenAIfrom langchain_community.tools import DuckDuckGoSearchRun# 1. 配置你的 LLM 大脑 (这里以 OpenAI 为例,你也可以换成国内的通义、DeepSeek等)os.environ["OPENAI_API_KEY"] = "sk-your-api-key-here"os.environ["OPENAI_API_BASE"] = "https://api.openai.com/v1" # 如果有代理地址填这里llm = ChatOpenAI(model="gpt-4o", temperature=0.7)# 初始化一个搜索工具,给 Agent 装上“眼睛”search_tool = DuckDuckGoSearchRun()# ==========================================# 2. 定义数字员工 (Agents)# ==========================================# 员工A:资深技术研究员researcher = Agent( role='高级技术分析师', goal='挖掘并分析 Python 最新版本中最具突破性的特性', backstory='你是一个在硅谷工作了10年的顶级技术极客,你对新技术的嗅觉极其敏锐,擅长从枯燥的官方文档中找出改变行业格局的核心亮点。', verbose=True, # 开启日志,看着它思考 allow_delegation=False, # 不允许当甩手掌柜,自己干 tools=[search_tool], # 给它配备搜索引擎工具 llm=llm)# 员工B:爆款科技博主writer = Agent( role='科技自媒体主编', goal='将枯燥的技术研究报告转化为幽默、易懂且极具传播力的科技爆文', backstory='你是某知名科技媒体的王牌主编,深谙读者心理。你擅长用生活中的比喻来解释复杂的代码逻辑,文章经常在朋友圈刷屏。', verbose=True, allow_delegation=False, llm=llm)# ==========================================# 3. 分配工作任务 (Tasks)# ==========================================# 任务A:调研task1 = Task( description='使用搜索工具,查找关于“Python 3.14 AI相关最新特性”的资料。提炼出3个最值得关注的核心亮点,并解释其背后的原理。', expected_output='一份包含3个核心亮点的详细技术分析报告,必须包含具体的代码改进说明。', agent=researcher)# 任务B:写稿task2 = Task( description='基于研究员提供的分析报告,撰写一篇面向普通程序员的爆款公众号文章。要求:标题吸引人,开头要有痛点引入,正文要有多处生动的比喻,结尾要有互动引导。', expected_output='一篇Markdown格式的微信公众号推文,字数在1500字左右。', agent=writer)# ==========================================# 4. 组建团队,开始打工!(Crew)# ==========================================tech_crew = Crew( agents=[researcher, writer], tasks=[task1, task2], verbose=True, process=Process.sequential # 工作流:串行(研究员干完 -> 主编接着干))# 老板发话:开干!print("老板:团队组建完毕,准备开始工作!")result = tech_crew.kickoff()print("==========================================")print("老板:这是你们交上来的最终稿件:")print("==========================================")print(result)源码深度拆解,为什么这么写?
这段不到 100 行的代码,背后蕴含了 AI Agent 的核心哲学:
- Role, Goal, Backstory (角色、目标、背景):这三板斧是让大模型产生“自我认知”的关键。你给的 越丰满,它的幻觉越少,做出来的事情越符合你的期待。这就好比面试时你在筛选特定性格的候选人。Backstory
- Tools (工具调用):注意看 自主决定这个 Agent,我给它传入了 researcher[search_tool]。这意味着当它发现自己知识库过时时,它会调用DuckDuckGo去网上现搜资料!这就是 Agent 与单纯 ChatBot 最本质的区别。
- Process (工作流):目前我们使用的是Process.sequential (串行),也就是研究员写完报告直接丢给主编。其实在这个框架里,你还可以设置分级(Hierarchical)管理模式,甚至搞个“Manager Agent”来当项目经理,分配任务给底下的员工。
AI agent学习资料获取方式:转发关注+私信【资料】
跑完上面那段代码,看着终端里两个 Agent 互相交流、检索、反思最后输出一篇完美的排版文章时,你一定会起一身鸡皮疙瘩。
在 AI Agent 时代,程序员的定位正在发生质的转变。 我们不再只是写 if/else的“码农”,而是变成了“架构师”和“企业家”。我们通过代码去调度大模型的算力,去编排不同角色的数字员工,让它们帮我们解决实际业务问题。
如果你对这个赛道感兴趣,赶紧把上面的代码跑起来吧!下一步你可以尝试给它们接入本地的文件读取工具、数据库查询工具,甚至让它们帮你写自动化测试脚本。
