代理工作流模式是一个存储库,展示了用于在Python中构建多代理和代理工作流程的最佳实践和设计模式。该存储库强调模块化,可扩展和可重复使用的设计技术,旨在通过单代理和协作的多代理体系结构来促进智能自动化和稳健的工作流程管理。该存储库伴随着一篇介质文章,该文章深入深入介绍模式:设计认知架构:从头开始的代理工作流模式

该存储库提供了设计代理工作流程的示例和模板,这些工作流是由独立代理组成的工作流程,每个工作流程负责不同的任务。重点是创建可重复使用的组件,这些组件可以适用于各种自动化任务,从而实现智能决策和简化处理。
反射模式使用参与者批评的框架实现了迭代的内容生成和改进系统。这种模式通过演员(内容生成器)和评论家(内容审阅者)之间的连续反馈循环来实现自我改善的内容生成。
?此模式的所有代码都可以在此处找到。

Web访问模式实现了用于检索,处理和汇总Web内容的代理工作流程。它策划了专门代理的管道,通过搜索,刮擦和总结操作来处理Web内容获取和处理的各个方面。
?此模式的所有代码都可以在此处找到。

语义路由模式实现了基于语义意图的专用代理,以智能将用户查询将用户查询路由。这种模式使用协调员 - 贵族建筑,其中主要旅行计划确定用户的意图和路线请求,并要求专门的子代理,以完成与旅行相关的特定任务,例如飞行预订,酒店搜索和汽车租赁。
?此模式的所有代码都可以在此处找到。

并行授权模式通过通过命名实体识别(NER)识别不同实体并将这些实体委派给专门的代理以进行并行处理来处理复杂的查询。这对于可以同时执行独立子任务的方案有效。
?此模式的所有代码都可以在此处找到。

动态碎片模式通过将工作负载动态分为较小,易于管理的碎片并并行处理,从而有效地处理大型数据集。通过使用Web搜索获取名人的传记(在模式2中讨论)来证明这种模式。
?此模式的所有代码都可以在此处找到。

任务分解模式将复杂的任务分为独立的子任务,每个任务由单独的子任务代理管理。这种模式有益于提高效率和可扩展性。
?此模式的所有代码都可以在此处找到。

动态分解模式使用大型语言模型(LLM)自主将复杂的任务分解为多个子任务,以生成由单独的代理处理的子任务。
?此模式的所有代码都可以在此处找到。

DAG(定向的无环图)编排模式以灵活的方式管理复杂的工作流程,从而可以按指定顺序执行多个任务。它使用YAML定义的DAG来构建工作流程。
?此模式的所有代码都可以在此处找到。

克隆这个存储库开始。该项目需要Python 3.8或更高版本。
pip (带有Python 3.8+) 克隆存储库:
git clone https://github.com/arunpshankar/Agentic-Workflow-Patterns.git
cd Agentic-Workflow-Patterns设置虚拟环境:
python -m venv .venv
source .venv/bin/activate # On Windows, use `.venvScriptsactivate`升级PIP和安装依赖项:
pip install --upgrade pip
pip install -r requirements.txt在项目root中创建credentials夹:
mkdir credentials设置GCP服务帐户凭据:
key.json保存在credentials夹中。设置SERP API凭据:
credentials夹中创建一个名为key.yml的文件。 serp :
key : your_serp_api_key_here注意: .gitignore中包含credentials夹,以防止敏感信息的投入。
要保持清洁的环境并禁用Python字节码生成,请配置以下环境变量:
export PYTHONDONTWRITEBYTECODE=1
export PYTHONPATH= $PYTHONPATH :../src/patterns/包含工作流模式的所有源代码。./data/patterns/包含用于系统和用户提示的模板,结构化输出的JSON模式以及代理的输出(最终和中间)。 设置环境后,您可以开始尝试此存储库中包含的工作流程模式。每种模式都记录在示例中,以证明其在建筑物代理工作流程中的应用。
例如,运行反射模式:
python src/patterns/reflection/pipeline.py我们欢迎并感谢捐款!这是对代理工作流模式做出贡献的方法:
git checkout -b feature-branch-namegit commit -m " Add feature or fix description "添加测试(如果适用)以维持存储库稳定性。
该存储库是根据MIT许可证获得许可的。有关详细信息,请参见许可证文件。