Easy Agents
综合介绍
Easy-Agents 是一个旨在简化智能自动化智能体(Agent)构建的框架。它提出了一种新的自动化实现方式,用自然语言指令来替代传统的复杂脚本编写。使用者只需用简单的语言描述任务的高级步骤,框架便能利用先进的大型语言模型(特别是Claude Code)来理解这些指令,并调用外部工具来完成工作流。该框架的核心是模型上下文协议(MCP),它为AI与外部API和服务交互提供了一种标准化的方式,使得工具集成变得像修改配置文件一样简单。这个项目不仅是一个工具,更是一个模板,团队可以用它来快速构建符合自身特定场景的自动化工作流。
功能列表
- 自然语言定义逻辑:用户无需编写复杂的代码,只需用自然语言描述操作流程,即可定义智能体的行为。
- LLM驱动的任务编排:利用Claude Code等先进大语言模型,将高层次的目标分解为详细的执行计划,并能应对执行中的意外情况。
- 标准化的工具集成:通过模型上下文协议(MCP),轻松地将智能体与各类第三方服务(如Slack、GitHub、VirusTotal)连接,集成新工具只需更改配置。
- 易于维护:自动化逻辑就是团队的操作手册(playbook),团队成员可以轻松理解、修改和扩展工作流。
- 提供真实世界案例:项目内置了多个网络安全领域的应用案例,例如安全警报调查、应用程序安全修复等,展示了框架的实际应用能力。
- 高度可扩展:用户可以方便地创建自己的智能体,并通过FastMCP构建定制化的MCP服务器来扩展智能体的能力。
使用帮助
Easy-Agents 提供了一个完整的框架,让你可以快速上手并构建自己的自动化智能体。
1. 先决条件
在开始之前,请确保你已准备好以下环境:
- uv:一个快速的Python包管理器,用于管理项目依赖。
- Claude Code:作为智能体执行的核心,需要能访问其服务。
2. 安装与启动
按照以下步骤来安装和运行Easy-Agents:
第一步:克隆项目仓库你可以直接克隆此仓库,或者使用它作为模板创建一个新项目。
git clone https://github.com/kpolley/easy-agents.git
cd easy-agents
第二步:安装依赖进入项目目录后,使用uv
来同步并安装所有必需的依赖包。
uv sync
第三步:启动开发服务器安装完成后,运行以下命令来启动一个基于FastAPI的开发服务器。服务器会加载main.py
中定义的智能体。
uv run fastapi dev main.py
3. 如何创建自定义智能体
创建属于你自己的智能体非常直接,主要分为三个步骤:
- 用自然语言定义行为:在一个文件中,用清晰的、分步骤的自然语言写下你的智能体需要完成的任务。例如,定义一个安全调查智能体:
你是一名负责调查安全警报的专家。 完成任务的高级步骤: 1. 根据给定的ID查找警报。 2. 对警报进行极其深入的分析。 3. 生成一份详细的调查结果报告。 4. 如果警报是有效的,则将报告发送到Slack的 #security-alerts 频道。
- 指定所需的MCP服务器:在智能体配置中,明确指出它需要访问哪些工具或服务。这些服务通过MCP服务器接入。
- 部署智能体:通过项目提供的FastAPI端点或设置
cron
定时任务来触发你的智能体,使其可以自动执行任务。
4. 如何创建自定义MCP服务器
如果现有工具无法满足你的需求,你可以扩展智能体的能力。使用 FastMCP 框架,你可以为任何API或服务创建自定义的MCP服务器。项目中的mcps/github_extended.py
文件是一个很好的参考示例,它展示了如何扩展已有的GitHub MCP服务。
应用场景
- 网络安全警报调查智能体可以自动接收和分类传入的安全警报。它通过关联来自多个数据源(如Panther Security Monitoring、VirusTotal)的事件,评估风险等级,然后将问题智能地分配给相应的团队处理。
- 应用程序与代码安全该智能体可以审查GitHub Advanced Security发现的代码扫描警报。对于确认的漏洞,它可以自动创建修复问题的拉取请求(PR),甚至运行测试和代码格式化工具来确保代码质量,最后指派合适的成员进行审查。
- 软件供应链安全管理此场景下的智能体专注于处理GitHub Dependabot发出的依赖项漏洞警报。它会评估漏洞的影响,尝试将软件包更新到安全的版本,确保所有测试都能通过,并管理从创建PR到合并的整个工作流程。
- 自动化项目周报该智能体可以配置为在每个周末自动运行。它会连接到项目管理工具(如Linear),审查团队本周完成的工单和项目进展,然后撰写一份详细的摘要报告,说明当前项目状态、本周完成事项以及每个人的贡献。
QA
- Easy-Agents的工作原理是什么?它的核心是利用像Claude Code这样的大语言模型(LLM)来理解用自然语言编写的高级指令。然后,LLM作为“大脑”负责任务编排,通过一个名为“模型上下文协议(MCP)”的标准化接口,调用各种外部工具和API来执行具体的子任务,从而完成整个自动化工作流。
- 什么是模型上下文协议(MCP)?模型上下文协议(Model Context Protocol, MCP)是一种为AI与外部工具交互而设计的标准规范。它让工具的集成过程变得非常简单,开发者无需为每个API编写特定的适配代码,只需通过简单的配置就能让智能体使用新工具。
- 为什么用自然语言来定义自动化逻辑是一种更好的方法?因为自然语言是人类最熟悉的沟通方式。将操作手册(playbooks)直接作为自动化逻辑,使得团队中无论是技术人员还是非技术人员都能轻松理解、修改和维护工作流。这降低了维护成本,并提高了团队协作的效率。