news 2026/7/13 16:09:09

AI 工具开发实战(10):开发一个 AI Agent 自动化工作流——让多个 Agent 协作完成复杂任务(完结篇)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AI 工具开发实战(10):开发一个 AI Agent 自动化工作流——让多个 Agent 协作完成复杂任务(完结篇)

AI 工具开发实战(10):开发一个 AI Agent 自动化工作流——让多个 Agent 协作完成复杂任务

系列最后一篇,做一个最有野心的工具——AI Agent 工作流引擎

不是写一个 Agent,而是做一个框架,让你可以定义多个 Agent 角色,让它们协作完成复杂任务。

框架做什么

定义一个任务:"调研 AI 编程工具市场,输出一份分析报告" ↓ 1. 研究员 Agent:搜索信息,收集数据 2. 分析师 Agent:分析数据,提炼观点 3. 写手 Agent:整理成报告 ↓ 最终输出:一份结构化的分析报告

项目结构

agentflow/ ├── agentflow.py # CLI + 工作流引擎 ├── agents.py # Agent 定义 └── requirements.txt

核心实现

# agentflow.pyfromopenaiimportOpenAIimportos,json,clickfromdotenvimportload_dotenv load_dotenv()client=OpenAI(api_key=os.getenv("DEEPSEEK_API_KEY"),base_url="https://api.deepseek.com/v1",)classAgent:"""工作流中的单个 Agent。"""def__init__(self,name,role,instruction):self.name=name self.role=role self.instruction=instructiondefrun(self,context,task):prompt=f"""## 你的角色{self.role}## 任务{self.instruction.format(task=task,context=context)}## 当前上下文{context}请完成你的任务,输出结果。"""resp=client.chat.completions.create(model="deepseek-chat",messages=[{"role":"user","content":prompt}],temperature=0.5if"写手"inself.nameelse0.3,max_tokens=2048,)returnresp.choices[0].message.contentclassAgentWorkflow:"""Agent 工作流引擎。"""def__init__(self):self.agents=[]self.context=""defadd_agent(self,agent):self.agents.append(agent)defrun(self,task):results=[]fori,agentinenumerate(self.agents):print(f"🤖 [{i+1}/{len(self.agents)}]{agent.name}工作中...")result=agent.run(self.context,task)self.context+=f"\n\n##{agent.name}输出\n{result}"results.append({"agent":agent.name,"result":result})returnresults# 预定义的工作流defcreate_research_workflow():wf=AgentWorkflow()wf.add_agent(Agent("研究员","信息收集专家","搜索并收集关于「{task}」的关键信息、数据、趋势。""输出格式:按要点列出 5-10 个关键发现。"))wf.add_agent(Agent("分析师","数据分析专家","基于研究员的发现,分析「{task}」的核心趋势和洞察。""上下文:{context}""输出格式:3-5 个核心洞察,每个包含趋势分析和影响评估。"))wf.add_agent(Agent("写手","技术写作专家","基于研究员和分析师的工作,撰写一份关于「{task}」的综合报告。""上下文:{context}""输出格式:Markdown 结构,包含:概述、关键发现、趋势分析、建议。"))returnwfdefcreate_code_review_workflow():wf=AgentWorkflow()wf.add_agent(Agent("安全审查员","安全专家","审查代码安全问题:注入、XSS、密钥泄露。""代码:{task}\n输出有问题的行号和修复建议。"))wf.add_agent(Agent("性能审查员","性能优化专家","审查性能问题:N+1查询、内存泄漏、低效算法。""上下文:{context}\n代码:{task}\n输出具体问题和优化方案。"))wf.add_agent(Agent("代码规范审查员","代码规范专家","审查代码规范:命名、注释、结构。""上下文:{context}\n代码:{task}\n输出不合规的代码和建议。"))returnwf@click.group()defcli():pass@cli.command()@click.argument("task")defresearch(task):"""多 Agent 协作研究。"""wf=create_research_workflow()results=wf.run(task)forrinresults:print(f"\n{'='*60}")print(f"📋{r['agent']}")print(f"{'='*60}")print(r['result'])@cli.command()@click.argument("file",type=click.Path(exists=True))defreview(file):"""多 Agent 代码审查。"""withopen(file,encoding="utf-8")asf:code=f.read()wf=create_code_review_workflow()results=wf.run(code)forrinresults:print(f"\n{'='*60}")print(f"📋{r['agent']}")print(f"{'='*60}")print(r['result'])if__name__=="__main__":cli()

使用方式

# 多 Agent 研究模式python agentflow.py research"2026年AI编程工具市场"# 🤖 [1/3] 研究员 工作中...# 🤖 [2/3] 分析师 工作中...# 🤖 [3/3] 写手 工作中...# 输出完整分析报告# 多 Agent 代码审查python agentflow.py review src/api/auth.py# 🤖 [1/3] 安全审查员 工作中...# 🤖 [2/3] 性能审查员 工作中...# 🤖 [3/3] 代码规范审查员 工作中...# 输出三维度审查报告

自定义工作流

# 创建自己的 Agent 协作工作流wf=AgentWorkflow()wf.add_agent(Agent("翻译员","...","..."))wf.add_agent(Agent("润色员","...","..."))wf.add_agent(Agent("校对员","...","..."))wf.run("翻译并发布这篇技术文章")

总结

Agent 工作流引擎的核心就两层:

  1. Agent 定义:角色 + 指令模板
  2. 工作流编排:顺序执行,上下文传递

10 篇文章,10 个工具,从翻译到代码审查再到多 Agent 协作——这个系列的目标就是让每个开发者都能用 AI 做出实用工具。


本文是《AI 开发者工具链实战》系列的第 10 篇(完结篇)🎉
全系列 10 篇已完结

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/13 16:06:22

【JavaScript】键盘事件深度解析:从基础监听、组合键到输入法处理

1. 键盘事件基础:理解核心事件类型键盘事件是前端开发中最常用的交互方式之一,掌握它们的工作原理对构建响应式网页至关重要。我们先来看最基础的三个事件类型:keydown事件就像你按下钢琴键的瞬间。无论你按的是字母键、数字键还是功能键&…

作者头像 李华
网站建设 2026/7/13 16:06:00

科研基金立项结果公告采集:从目录页到项目制数据入库的 Python 爬虫实战

㊗️本期内容已收录至专栏《Python爬虫实战》,持续完善知识体系与项目实战,建议先订阅收藏,后续查阅更方便~ ㊙️本期爬虫难度指数:⭐⭐⭐☆☆(进阶级) 🉐福利: 一次订阅后,专栏内的所有文章可永久免费看,持续更新中,保底1000+(篇)硬核实战内容。 全文目录: 🌟…

作者头像 李华
网站建设 2026/7/13 16:05:52

Agent 高可用设计:多实例部署下的状态同步和故障转移策略

Agent 高可用设计:多实例部署下的状态同步和故障转移策略 一、深度引言与场景痛点 大家好,我是赵咕咕。一个真实的故障故事:凌晨两点,我们的 AI 客服 Agent 服务因为一个第三方地图 API 的超时,导致整个 Agent 进程卡死…

作者头像 李华
网站建设 2026/7/13 16:04:49

keras-resnet迁移学习实战:利用预训练模型解决实际问题

keras-resnet迁移学习实战:利用预训练模型解决实际问题 【免费下载链接】keras-resnet Residual networks implementation using Keras-1.0 functional API 项目地址: https://gitcode.com/gh_mirrors/ke/keras-resnet 想要快速构建高性能的图像分类模型却苦…

作者头像 李华
网站建设 2026/7/13 16:02:34

Wand-Enhancer终极指南:免费解锁WeMod专业版的高效解决方案

Wand-Enhancer终极指南:免费解锁WeMod专业版的高效解决方案 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer 还在为WeMod专业版的高昂订…

作者头像 李华