Skip to content

Agent基础概念 (李宏毅笔记)

📅 发表于 2025/05/13
🔄 更新于 2025/05/13
👁️ -- 次访问
📝 0 字
0 分钟
agent
#agent
#function call
#tool use
#memory
#planning
#reasonning
本文关键点

学习李宏毅老师agent课程的笔记。

  1. Agent 构建、应用
  2. Agent Memory、调整行为
  3. Agent 使用工具
  4. Agent Plan 能力及强化

AI Agent 基础

什么是 Agent

类似于RL,人类给定Goal,期望Agent能自主完成任务。

  • Agent 观察环境
  • Agent 执行Action
  • 不断循环,直到完成任务

Agency Level (HF定义)

Introduction to Agents

AI Agents are programs where LLM outputs control the workflow.

Agency LevelDescriptionShort nameExample Code
☆☆☆模型输出和流程无关Simple processorprocess_llm_output(llm_response)
★☆☆输出简单的if elseRouterif llm_decision(): path_a() else: path_b()
★★☆LLM output controls 函数执行Tool callrun_function(llm_chosen_tool, llm_chosen_args)
★★☆LLM output controls iteration and program continuationMulti-step Agentwhile llm_should_continue(): execute_next_step()
★★★One agentic workflow can start another agentic workflowMulti-Agentif llm_trigger(): execute_agent()
★★★LLM acts in code, can define its own tools / start other agentsCode Agentsdef custom_tool(args): ...

如何构建 Agent (LLM Agent)

直接使用 LLM来构建Agent

  • 做接龙游戏,goal, obs1, action1, obs2, action2, obs3, action3...
  • 相比于传统AlphaGo类似专有Agent,LLM近乎无限可能,能用工具、做很多事情

需要解决的问题

优势无限可能

Agent 应用

包括NPC、购物、训模型、做报告、上网操作电脑等等。

Agent 根据经验来调整行为

按照是否微调模型,可以分为 微调模型(如RL/SFT)不微调模型两种,本节聚焦在后者。

整体思路

Agent检索历史Memory来调整当前的行为。

  • 经验(memory)主要来自自身,外部也可以(RAG)。
  • Agent可以有 write模块,来决定当前经验是否存下来。
  • Agent可以有 read模块,检索经验来做指导。检索就是一个 RAG
  • Agent可以有 reflection模块,对检索来的经验做 总结汇总得到更好的经验和想法

Stream Bench

  • 正向经验有用
  • 负向经验无用

更多(MemGPT/A-MEM)

Agent 使用工具

工具可以看作是Function,使用工具就是调用Function,又叫做 Function Call。常用工具包括:

  • 搜索引擎
  • python
  • 其他AI
  • ...

工具怎么调用的

以下是一个通用的调用方法,不是唯一的。

Prompt配置

  • System Prompt:介绍工具定义、如何使用工具等。
  • User Prompt:具体用户Query
调用流程

模型根据User Prompt来决定是否调用工具。如果需要调用,则输出工具调用指令

  • <tool>Temperature('高雄', '2025.03.10 14:00')</tool>
  • 系统根据指令执行工具,工具返回结果
  • 把结果拼装到 <output>32度</output>,再次调用模型
  • 模型整理结果,返回给用户

工具很多怎么办

由于冗长问题,并不能把所有工具说明都放到System Prompt里。工具集合说明放到Agent Memory里,再接一个RAG,仅选择所需要的工具即可。

工具结果有误怎么办

过度相信

模型会因为过度相信工具而犯错。比如:

  • RAG结果错误,用胶水粘披萨🍕,可能仅仅是一个玩笑话,模型却无法判断。

比如

工具错误

如果工具结果出现明显错误,模型会认为其错误。 比如

  • 比如高雄温度达1000度。
  • 精神病药量每日100mg。

LLM有一定自己判断力,取决于模型自身能力和知识。

那么什么样的外部知识信息,模型会比较容易相信呢?

模型容易相信的
  • 和模型内部知识 比较相近的外部知识。(可以计算模型自身知识的置信度)
  • 其他AI说的话。不相信人类的话
  • 比较 新的文章
  • 美观的?

平衡工具和模型自身能力

比如3*4,一下能计算出12,但通过工具,可能会更慢。

工具效率

使用工具不一定总是有效率

Agent Planning

什么是做计划

让模型做执行前,先做计划,列举一系列的action,再根据action来执行。

计划需改变

但原有的计划不一定适用,会发生改变。

比如,每次action时让模型重新review plan。

有一定 Plan 能力

Plan能力介于有和无之间

模型有一定Plan能力,但效果一般,需考虑强化。

如何优化 Plan 能力

1、暴力搜索可行吗?

  • 暴力搜索可达,但成本太高

2、优化暴力搜索

  • (2407) Tree Search for LLM Agents,暴搜+去除低分路径。
    • 缺点:无法回溯错误,覆水难收
    • 解决:可以自行在脑内,提前想象脑内小剧场
      • 由环境来决定行为的。

3、提前脑补,模拟环境交互

4、推理模型

  • 推理模型 (DeepSeek-R1):整体reason模型效果比非reason好
overthinking

但存在overthinking的问题,想太多

5、优化Overthiking

参考内容

总访客数:   ·   总访问量:
PLM's Blog @ 2016 - 2026