wuxiai.com.cn
← 返回目录 ARTICLE 04 · AGENT

AI 智能体 Agent

所谓 AI 智能体,就是把 LLM 放在一个循环里:让它不再只是"回答一次",而是观察环境、做出决策、调用工具、看到结果,然后继续下一轮,直到任务完成。

从一次问答到一个循环

普通 LLM 应用是单步:用户问 → 模型答 → 结束。智能体应用是循环:

while not done:
    思考 = LLM(目标, 历史, 可用工具)
    if 思考.需要调用工具:
        结果 = 调用工具(思考.工具, 思考.参数)
        历史.追加(思考, 结果)
    else:
        return 思考.最终答案

这就是 ReAct(Reason + Act)的核心思想。绝大多数现代 Agent 框架——LangChain、LlamaIndex、AutoGen 等——都是在这个循环上做工程化封装。

工具调用(Function Calling)

让模型可靠地调用工具,关键是把"工具能做什么、参数是什么形状"用 JSON Schema 明确告诉它,并且训练或微调过的模型会按结构化格式输出调用。

{
  "name": "search_inventory",
  "description": "按关键词检索库存条目",
  "parameters": {
    "type": "object",
    "properties": {
      "keyword": { "type": "string" },
      "limit":   { "type": "integer", "minimum": 1, "maximum": 50 }
    },
    "required": ["keyword"]
  }
}

工程上需要注意:

规划(Planning)

单纯的 ReAct 在简单任务上很好用,但任务一复杂,模型容易"走歪一步、错一路"。常见的强化手段:

记忆(Memory)

上下文窗口是短期记忆,但对话一长就放不下。工程上一般这样分层:

多智能体(Multi-Agent)

把不同角色(产品经理、程序员、测试、评审)分配给不同的 Agent,让它们以消息交互完成复杂任务。在某些场景下确实有效,但要清醒:

多智能体不会让一个原本不能解决问题的系统突然能解决,它更像是一种"任务结构化"的手段。如果单 Agent 都跑不通,多 Agent 通常只会失败得更复杂。

把 Agent 放到生产里要回答的问题

  1. 可观测:每一步的输入、思考、工具调用、返回都能审计。
  2. 可中断:有明确的步数上限、token 上限、时间上限。
  3. 可回滚:危险操作(写库、发邮件、付款)需要二次确认或人工审批。
  4. 可评测:用一组带标准答案的任务集做回归,每次升级模型或修改提示都重跑。
  5. 失败优雅:当 Agent 卡住或循环时,能稳妥退出而不是无限烧资源。

结语

Agent 不是魔法。它本质上是一个写得巧妙的循环加上一组工具加上一个语言模型。理解这一点,你就能用它做出真正可靠的产品,而不是被各种"自主"、"通用"、"智能"的话术带跑。

← 回到目录看其它文章