LangChain 从入门到实战(09):不再一问一答——真正的 Agent(ReAct 循环)
前 8 篇的链都是「单步」:你问一句,配好的 prompt 跑一遍就出答案。可真实任务往往是「拿到结果还要再决定下一步」——比如你先问天气、它发现要查坐标、查完再答。这一篇让模型进入循环:自己决定要不要调工具、要不要再想想,直到给结论。这就是 Agent(智能体)。
一、从「链」到「Agent」:多了一步「自己判断」
链是固定管线(检索→prompt→生成),Agent 是带分支的循环(推理→行动→观察→再推理)。ReAct 是其中最有名的一种循环策略:
Thought: 用户问杭州天气,我需要调查询工具 Action: 调用 get_weather(city="杭州") Observation: 杭州晴 24度 Thought: 可以回答了 Final: 杭州今天晴,24 度。模型每一步输出Thought/Action,系统执行工具拿到Observation,喂回去让模型再想——直到模型输出「Final」结束。这就是ReAct = Reason + Act的循环。