创建时间: 2026-04-01最后更新: 2026-09-12

1. Agent 解决什么问题

前几篇使用 StateGraph 编排节点、边和循环。图中的执行路径由代码提前确定,这种方式很适合步骤固定的业务流程。

有些请求很难提前列出所有组合,例如:

user-request.txt
1
查一下明天上海的天气,如果下雨就提醒我带伞,再算一下 365 × 24。

这条请求同时包含天气查询、条件判断和计算。随着工具数量增加,用户还可能改变任务顺序、只执行其中一步,或者在拿到结果后继续追问。为每一种组合编写路由判断,代码会逐渐变得复杂。

Agent 把模型放进工具调用循环中。开发者负责提供工具、提示和运行边界,模型根据当前消息决定是否调用工具、选择哪个工具以及填写什么参数。工具结果写回消息列表后,模型会再次判断;没有新的工具调用时,本轮运行结束。

我们可以先记住这个关系:

agent-parts.txt
1
Agent = 模型 + 工具 + 模型与工具之间的循环

本篇使用 createAgent() 创建 ReAct Agent,然后逐步加入多轮记忆、工具调用限制和流式输出。

正在验证登录状态
请稍候,验证完成后将继续显示文章内容