← 返回首页

AI Agent 初探:工具调用与任务拆解

AgentFunction Calling 2026-08-02

大模型只会"说",Agent(智能体)要让它会"做"。这篇笔记记录我对 Agent 架构的初步理解。

一、什么是 Agent

普通的 LLM 应用是"一问一答",而 Agent 是一个循环:模型观察环境 → 思考规划 → 调用工具行动 → 观察结果 → 继续思考,直到任务完成。经典定义下,Agent = LLM(大脑)+ 规划 + 记忆 + 工具使用。

二、三要素拆解

三、ReAct 模式

ReAct(Reasoning + Acting)是最经典的 Agent 范式,交替进行"思考"和"行动":

Question: 明天上海天气如何,适合跑步吗?
Thought: 我需要先查询上海明天的天气。
Action: search_weather("上海", "明天")
Observation: 明天上海小雨,气温18-22度。
Thought: 有雨不适合户外跑步,可以建议室内运动。
Answer: 明天上海有小雨,气温18-22度,不太适合户外跑步,建议改为室内健身。

这个循环由程序框架驱动:解析模型输出中的 Action,执行后把 Observation 拼回上下文,再让模型继续。

四、Function Calling 简化示意

tools = [{
    "name": "search_weather",
    "description": "查询指定城市的天气",
    "parameters": {"city": "string", "date": "string"}
}]

while True:
    resp = llm.chat(messages, tools=tools)
    if resp.has_tool_call():
        result = execute(resp.tool_call)   # 真正调用本地函数
        messages.append(tool_result(result))
    else:
        return resp.content                # 没有工具调用=任务完成

五、初步体会