1. Agent认知架构基础

各位同学好,我是这门课的主讲。今天咱们聊聊Agent的认知架构,这是整个课程的地基。我做了这么多年AI系统,发现很多人一上来就调模型、写Prompt,结果效果总是不稳定。为什么?说白了,就是没搞懂Agent到底是怎么「思考」的。

核心观点:Agent的智能,不是模型有多强,而是认知架构有多合理。

1.1 什么是Agent规划能力

规划能力,就是Agent把一个大目标拆成小步骤的能力。你想想看,如果让你「去北京出差」,你不会直接瞬移过去对吧?你会先订票、再收拾行李、然后去机场...Agent也是一样的道理。

我遇到过不少团队,他们让Agent直接回答复杂问题,结果答得乱七八糟。后来加了规划模块,效果立竿见影。规划能力本质上包含三个层次:

  • 目标分解:把「写一份市场分析报告」拆成「收集数据→分析趋势→撰写结论」
  • 步骤排序:哪些先做,哪些后做,有没有依赖关系
  • 资源分配:每个步骤需要调用什么工具、多少算力

举个例子,我去年帮一个电商团队做客服Agent。用户问「我上周买的手机还没到怎么办?」。没有规划的Agent会直接回复「请耐心等待」。但有了规划能力的Agent会这样思考:

步骤1: 查询订单状态(调用订单API)
步骤2: 如果已发货,查询物流信息
步骤3: 如果物流异常,生成工单转人工
步骤4: 如果正常,告知预计到达时间

你看,这就是规划。每一步都清晰,不会乱来。

1.2 推理能力与认知架构的关系

推理能力,我习惯把它理解为「在信息不全的情况下做判断」。Agent的推理不是靠蒙,而是靠认知架构里预设的推理规则。

认知架构是什么?你可以把它想象成Agent的「大脑结构」。它决定了:

  • 信息怎么进来(感知层)
  • 信息怎么处理(推理层)
  • 行动怎么输出(执行层)

推理能力和认知架构的关系,就像软件和硬件。好的认知架构能让推理更高效。我曾经踩过一个坑:给Agent设计了一个很复杂的推理链,结果每次推理都要调用5次大模型,响应时间直接飙到30秒。后来简化了架构,把一些固定推理规则写死,速度提升了4倍。

我的经验:推理能力不是越强越好,而是越「合适」越好。要根据场景选择推理深度。

1.3 ReAct范式详解

ReAct,全称是Reasoning + Acting。这个范式很有意思,它让Agent边思考边行动,而不是想完了再做。

传统的做法是:先想好所有步骤,然后一步步执行。但现实世界哪有那么完美?你计划好了,结果中间出个意外怎么办?ReAct的思路是:想一步,做一步,观察结果,再想下一步。

我给大家画个流程图,这样更直观:

ReAct范式核心流程 观察 (Observation) 思考 (Thought) 行动 (Action) 循环直到任务完成 观察环境 → 思考下一步 → 执行行动 → 再次观察 每一步都基于上一步的结果动态调整

ReAct的核心代码其实不复杂,我给大家看个简化版:

def react_agent(question):
    context = []
    max_steps = 5
    
    for step in range(max_steps):
        # 1. 观察当前状态
        observation = observe(question, context)
        
        # 2. 思考下一步
        thought = think(observation)
        
        # 3. 执行行动
        action = act(thought)
        
        # 4. 记录结果
        context.append(action)
        
        # 5. 判断是否完成
        if is_finished(action):
            return action
    
    return "任务超时,请重试"

注意:ReAct虽然灵活,但容易陷入死循环。我建议设置最大步数限制,比如5步或10步,防止Agent无限思考下去。

1.4 Plan-and-Execute模式介绍

Plan-and-Execute和ReAct正好相反。它是先制定完整计划,再按计划执行。这种模式适合那些「一步错步步错」的场景,比如金融交易、医疗诊断。

我去年帮一家银行做风控Agent,用的就是Plan-and-Execute。因为风控流程非常固定:先查征信、再算负债率、然后评估还款能力...每一步都不能乱。如果用ReAct,Agent可能中间突然去查天气,那就出大事了。

两种模式对比一下:

特性 ReAct Plan-and-Execute
计划时机 边做边计划 先计划后执行
灵活性 高,能应对突发情况 低,按部就班
稳定性 低,容易跑偏 高,结果可预期
适用场景 开放域对话、探索性任务 固定流程、高精度任务
响应速度 较慢,需要反复思考 较快,计划一次执行多次

Plan-and-Execute的实现也很直观:

def plan_and_execute(question):
    # 第一步:制定完整计划
    plan = planner(question)
    # 返回类似:["查征信", "算负债率", "评估还款能力"]
    
    # 第二步:按计划执行
    for step in plan:
        result = execute(step)
        if result.get("error"):
            # 计划执行出错,可能需要重新规划
            plan = replan(plan, result)
            continue
        save_result(result)
    
    return final_answer()

我的建议:实际项目中,我经常把两种模式混着用。核心流程用Plan-and-Execute保证稳定,遇到异常情况切到ReAct灵活处理。这叫「混合架构」,后面章节会详细讲。

小结

这一章我们聊了三个核心概念:规划能力是拆解目标,推理能力是信息不全时做判断,认知架构是支撑这一切的骨架。ReAct和Plan-and-Execute是两种主流范式,各有优劣。

嗯,这里要注意:不要纠结于「哪个更好」,而要思考「哪个更适合你的场景」。我见过太多人把ReAct吹上天,结果用在固定流程上反而搞砸了。选对范式,比调好模型更重要。


专注资料整理