AI Agent学习

calmjelly
3
2026-04-11

最近在学习 AI Agent 开发,简单记录下。

目前仍未学完,持续更新中。

Agent

四个关键的能力:大脑、记忆、工具、规划

LLM充当大脑,负责推理、决策

记忆可以分为短期和长期,短期记忆可以简单理解为当前会话的上下文,长期记忆一般通过向量数据库来实现,把过去的经验、只是存起来,需要的时候通过RAG召回。

工具是Agent和普通LLM最大的区别,它的本质就是暴露了一堆函数,可以提供给llm调用。有了工具,通过tool calling机制,LLM可以输出一段约定格式的文本数据,告诉程序他需要调用什么方法、传递什么参数,在运行后再把运行结果返回给llm。

规划可以理解为思考的链路,常见的有ReAct、Plan and Solve、Reflection

ReAct

结合推理和行动,形成一个 '思考-行动-观察' 的循环。

提示词设计

这个是hello agent的教学版提示词:

# ReAct 提示词模板
REACT_PROMPT_TEMPLATE = """
请注意,你是一个有能力调用外部工具的智能助手。

可用工具如下:
{tools}

请严格按照以下格式进行回应:

Thought: 你的思考过程,用于分析问题、拆解任务和规划下一步行动。
Action: 你决定采取的行动,必须是以下格式之一:
- `{{tool_name}}[{{tool_input}}]`:调用一个可用工具。
- `Finish[最终答案]`:当你认为已经获得最终答案时。
- 当你收集到足够的信息,能够回答用户的最终问题时,你必须在Action:字段后使用 Finish[最终答案] 来输出最终答案。

现在,请开始解决以下问题:
Question: {question}
History: {history}
"""

在实际生产中,一般会设计成这样:

system prompt → tools → Few-shot examples-> conversation history → current question-> Agent scratchpad / intermediate steps.

这样的目的有两个:

  1. 注意力机制,llm对开头和结尾的关注度比较高,对中间部分的关注地相对低。

  2. 更好的利用缓存机制来降低llm api的调用费用、以及提升响应速度。【不变的在前,变化的在后】

参考资料

  1. hello agent:https://datawhalechina.github.io/hello-agents/#/

动物装饰