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

第二章:Agent System

Chapter 2: Agent System


从用户界面到代理系统:背后的“大脑”如何运作?

在上一章的用户界面抽象中,我们已经能通过命令行与AI简单对话了。但你有没有好奇过:输入的问题是如何变成“北京今天晴,气温25°C”这样的回答的?就像你按下手机拨号键后,信号塔和基站是如何传递声音的?这一章将揭开“代理系统”的神秘面纱——它是整个AI系统的大脑,负责指挥工具、模型和流程协同工作!


核心问题:如何让AI“自主思考”?

想象你是一名指挥官,需要协调多个士兵完成任务:

  1. 侦察兵(工具):比如天气API、搜索引擎等
  2. 参谋部(LLM模型):负责制定策略和生成回答
  3. 通讯兵(消息系统):传递指令和结果

代理系统就像这位指挥官,通过以下核心组件协调这些“士兵”:


核心概念分解

1. 代理类型:单人 vs 团队作战

就像足球有单人突破和团队配合,代理系统有两种模式:

  • MCPAgent(单兵模式):一个代理独立完成所有任务(如直接调用天气API)
  • Manus(团队模式):多个代理协作(如先让A代理规划任务,再让B代理执行)
# run_mcp.py中创建MCPAgent的片段
self.agent = MCPAgent()  # 单兵模式
# main.py中创建Manus的片段
agent = await Manus.create()  # 团队模式
2. 代理生命周期:从出生到死亡

每个代理都会经历三个阶段:

  1. 初始化:准备工具(如连接天气API)
  2. 执行任务:处理用户问题并生成回答
  3. 清理工作:释放资源(如关闭网络连接)
# 示例:代理初始化过程
async def initialize(self):self.weather_api = WeatherAPI()  # 初始化天气工具self.model = await LLMModel.load()  # 加载语言模型
3. 任务执行:像接力赛一样传递指令

代理会将任务拆解为多个步骤,每个步骤可能调用不同工具:

用户 MCPAgent 天气API 搜索引擎 "今天北京天气如何?" 请求天气数据 返回"25°C,晴" 搜索"北京今日紫外线指数" 返回"中等" "北京今天25°C,晴,紫外线中等" 用户 MCPAgent 天气API 搜索引擎

如何用代理系统解决问题?

场景:查询北京天气并建议是否需要防晒霜

步骤1:创建单兵代理(MCPAgent)
from app.agent.mcp import MCPAgent  # 导入单兵代理类agent = MCPAgent()  # 创建代理实例# 初始化时连接天气API和搜索工具
await agent.initialize(weather_api=WeatherAPI(), search_tool=SearchEngine())
步骤2:让代理执行任务
# 向代理发送问题
response = await agent.run("北京天气如何?是否需要防晒?")# 输出示例:
# "北京今天28°C,多云。紫外线指数中等,建议使用SPF30防晒霜"
步骤3:释放资源
await agent.cleanup()  # 关闭所有连接,释放内存

内部实现揭秘:代理的“指挥中枢”

核心代码流程:以MCPAgent为例
class MCPAgent:async def run(self, user_prompt):# 1. 收集用户需求requirements = self.analyze_prompt(user_prompt)  # 拆解问题# 2. 调用工具获取数据weather_data = await self.weather_api.get_data("北京")uv_index = await self.search_tool.query("北京紫外线指数")# 3. 生成最终回答answer = await self.model.generate_response(f"天气:{weather_data}\n紫外线:{uv_index}")return answer
团队协作模式(Manus代理)
# run_flow.py中创建团队代理的片段
agents = {"weather_agent": MCPAgent(),  # 负责天气查询"adviser": Manus()            # 负责建议生成
}flow = FlowFactory.create_flow(agents=agents)  # 创建协作流程
result = await flow.execute("需要带伞吗?")  # 自动协调两个代理完成任务

深入理解代理系统

代理系统就像一个智能的“任务调度员”,它:
✅ 自动管理工具和模型的生命周期
✅ 通过清晰的接口隔离复杂细节
✅ 支持从简单到复杂的任务模式


小结与展望

通过本章,你已掌握:
✅ 代理系统的两种核心模式(单兵/团队)
✅ 代理从创建到销毁的完整流程
✅ 如何让工具与模型协同工作

下一章我们将探讨配置管理,学习如何通过配置文件让代理系统适应不同场景——就像给指挥官配备不同的作战手册!现在,你可以尝试修改代理代码,添加更多工具(比如翻译API)来扩展功能了!

相关文章:

  • 【亚马逊云】AWS Wavelength 从理论讲解到实验演练
  • AWS PrivateLink vs Lattice:深度解析两大网络服务的异同
  • python_股票月数据趋势判断
  • [leetcode]2302.统计得分小于k的子数组
  • java 使用 POI 为 word 文档自动生成书签
  • 学生管理系统审计
  • 【Java ee初阶】多线程(4)
  • 第十一节:性能优化高频题-响应式数据深度监听问题
  • 大模型(LLMs)强化学习—— PPO
  • Android wifi开发调试总结
  • NIPS2021 | 视觉 Transformer 的有趣特性
  • 华纳云:centos如何实现JSP页面的动态加载
  • Oracle的PLSQL中动态执行函数
  • Ubuntu中C++项目安装二次规划库——qpOASES 库
  • 基于STM32、HAL库的DS2411R安全验证及加密芯片驱动程序设计
  • HarmonyOS NEXT 诗词元服务项目开发上架全流程实战(一、项目介绍及实现效果展示)
  • 蓝桥杯Python组高频考点与解题策略
  • Axios 传参与 Spring Boot 接收参数完全指南
  • Visual Studio 技能:调整软件界面布局
  • SoapUi测试1——REST(WebAPi、Json协议/HTTP、Post通讯方式)接口测试
  • 杭州银行一季度净赚超60亿增逾17%,增速较去年同期有所回落
  • 气温“过山车”现象未来或更频繁且更剧烈
  • 财政部下达农业生产防灾救灾资金3.76亿元,支持黄淮海等地抗旱保春播
  • 重新认识中国女性|婚姻,古代传统家庭再生产的根本之道
  • 政治局会议深读|首提“持续巩固房地产市场稳定态势”,楼市政策还有哪些优化空间
  • 特朗普政府称将恢复被终止的外国学生合法身份