插播:也许有人想看谷歌5-Day AI Agent的学习笔记吗?博主疯狂整理中 (╯▔皿▔)╯
这是写demo的时候注意到的一张图,比较清晰所以先总结了一下!

在这里插入图片描述
基于大语言模型(LLM)的Agent框架中,查询的处理以及插件如何通过回调机制与Agent交互的过程。

Agent工作流解释

阶段一:查询输入与启动

  1. 输入查询(Input Query)
    用户输入一个查询,这个查询被发送给Runner。
    Runner充当整个系统的入口和调度器,负责接收用户输入、初始化上下文并启动代理。
  2. before_agent_callback 触发
    在Runner实际调用 ResearchPaperFinderAgent之前,它会检查是否有配置的插件具有before_agent_callback方法。
    如果Runner执行过程中发现CountInvocationPlugin拥有此方法,则立即调用它。
    目的 为了在任务开始时记录一次“Agent运行”事件。
  3. Agent启动
    Runner正式将任务交给ResearchPaperFinderAgent,Agent接管任务,并思考如何执行。
    以ResearchPaperFinderAgent为例:
  • 分析意图:用户想要查找论文
  • 工具选择:Agent可能会决定需要使用一个搜索工具或调用LLM来规划下一步

阶段二:LLM调用与插件互动

  1. before_model_callback触发
    Agent在处理查询时,确定需要调用LLM来进行推理、工具选择或生成响应。
    在Agent真正向LLM发送请求前,再次检查是否有插件具有before_model_callback方法。
    目的 在每次消耗LLM资源之前进行精确计数。
  2. LLM执行
    Agent正式向LLM发送请求。
    LLM接收到请求,进行推理:
  • 如果是工具调用,LLM返回要调用的工具名称和参数。
  • 如果是最终响应,LLM返回文本答案。

阶段三:结果返回

  1. Agent返回结果
    LLM处理完毕后,将结果返回给Research Paper Finder Agent。Agent会根据LLM的输出采取进一步行动(例如执行搜索工具),或将结果整理成最终答案。
    回传:Agent将最终整理好的结果返回给Runner。
  2. Runner响应
    Runner接收到Agent返回的最终结果。
    Runner将这个结果格式化后,作为Response返回给用户。

总结:非侵入式的监控

整个流程的关键在于 插件(CountInvocationPlugin) 通过 回调函数(Callback) 在关键时间点介入,实现了非侵入式的监控:

  • before_agent_callback (2): 介入 Runner 调用 Agent 之前,用于统计整个任务的开始。

  • before_model_callback (4): 介入 Agent 调用 LLM 之前,用于统计生成式 AI 资源的消耗。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐