"聊天机器人"和"AI智能体"经常被混为一谈,但两者解决的问题层次完全不同。聊天机器人的目标是"答对问题",智能体的目标是"完成任务"。很多团队跳过中间阶段直接奔着自主智能体去,结果项目失控——模型在缺乏约束的状态下乱调工具、乱发消息。真正可落地的路径是沿着自主度分级逐级演进,每一级把人机权责和记忆能力建扎实,再往上走。

一、四个演进阶段——能力是叠加的不是替换的

第一阶段规则应答:关键词匹配+话术库,能回答固定问题,零幻觉但毫无灵活性。第二阶段检索问答(RAG):接入企业知识库,能回答知识库覆盖范围内的自然语言问题,覆盖大部分客服咨询——目前多数团队的合理终点就在这一级。第三阶段工具调用型Agent:在问答基础上能查实时数据、执行确认后的操作,处理"查我的订单到哪了""帮我改下地址"这类需要动作的请求。第四阶段自主规划型Agent:接受模糊目标,自主拆解多步任务、跨系统编排执行、处理中途异常,处理"帮我跟进昨天所有问过价格的客户"这类复杂委托。

关键认知是四个阶段叠加共存而非替换:同一个助手面对不同请求走不同阶段——固定指令走规则、知识问题走RAG、明确操作走工具调用、复杂目标才进自主规划。全部请求都用最重的自主模式,是成本和风险双高的做法。

二、自主度分级——每一级说清人和AI各负责什么

类比自动驾驶的分级思路,Agent自主度可以分成五级。L0纯人工:微信只作为沟通工具,所有动作由人完成。L1建议辅助:AI给话术建议、信息摘要,人决定是否采用——AI不直接接触发送按钮。L2确认执行:AI生成完整动作方案(发给谁、发什么、改什么),人确认后程序执行。L3受限自主:低风险动作(查信息、打内部标签、发资料)AI自动执行,高风险动作仍需确认,且全程受频控和权限约束。L4目标自主:人只给目标和边界,AI自主规划执行并汇报结果,仅适用于经过充分验证的封闭场景。

分级的意义是防止越级:在L2能力没验证扎实时直接放L3,误发消息事故几乎必然发生。每升一级要满足三个条件——上一级的准确率数据达标、监控审计体系就位、人工接管通道顺畅。降级机制同样重要:L3运行中遇到低置信、异常或客户投诉信号,立即退回L2请求人工确认,自主度只能单向临时降级,不能强行自动完成。

三、记忆系统——智能体越"长命"越需要分层记忆

单轮问答不需要记忆,任务型智能体必须有。记忆分三层。短期工作记忆:当前会话的上下文窗口,保留最近几轮对话和正在执行的任务状态,随会话结束清理。长期客户记忆:跨会话沉淀的客户画像——身份信息、偏好、历史订单、过往问题摘要,存在数据库按需检索注入提示词,注意只存事实不存臆测,每条记忆带来源和时间。情景记忆:过去类似任务是怎么处理的、成功还是失败、用户当时给过什么纠正——这是Agent"积累经验"的载体,遇到相似情境时检索历史案例辅助决策。

记忆系统的工程难点不是存是管:记忆会过时(客户换地址、偏好改变),需要有效期和冲突更新机制——新事实覆盖旧事实并保留变更痕迹;记忆会出错(模型错误摘要),高影响记忆(如客户禁忌、承诺记录)要有人工确认环节;记忆注入要节制——把全部画像塞进提示词既浪费token又干扰判断,按当前任务相关性检索,只注入用得上的片段。

阶段与自主度对照

阶段

核心能力

对应级别

人机边界

规则应答

关键词话术

L1

AI只做建议

检索问答

知识库RAG

L1-L2

回复可自动,动作不行

工具调用Agent

查数据+执行操作

L2-L3

写操作确认,读操作自动

自主规划Agent

拆任务+跨系统编排

L3-L4

目标授权,边界内自主

分级运行时实现

class AutonomyRuntime:
    LEVEL_POLICY = {
        1: {"auto": [], "human_confirm": []},
        2: {"auto": ["knowledge_reply"],
            "human_confirm": ["write_action"]},
        3: {"auto": ["read_action", "internal_tag",
                      "send_asset"],
            "human_confirm": ["send_marketing",
                              "modify_business_data"]},
    }

    def execute(self, plan, wxid, current_level=3):
        results = []
        for action in plan.steps:
            policy = self.LEVEL_POLICY[current_level]
            if action.type in policy["auto"]:
                if self.risk_signals(action, wxid):
                    return self.downgrade_to_confirm(action)
                results.append(tool.run(action))          # 受限自主
            else:
                return self.request_approval(action)      # 降级确认
        return results

    def build_memory(self, wxid, task):
        """分层记忆按需注入"""
        recent = dialog_store.recent(wxid, turns=5)        # 短期
        profile = vector_store.search(                    # 长期画像
            f"客户画像 {task.intent}", wxid, top_k=5)
        episodes = episode_store.recall(task, top_k=3)    # 情景
        return render_memory(recent, profile, episodes,
            max_tokens=2000)

    def learn_episode(self, task, outcome, correction):
        """情景记忆沉淀:含用户纠正"""
        episode_store.save({
            "goal": task.goal, "steps": task.steps,
            "result": outcome, "correction": correction,
            "validated": correction is None})

落地建议

按阶段老老实实演进:RAG做到85%以上问答命中率再上工具调用,工具调用的读操作准确率和写操作确认流程稳定后再谈受限自主,L4目标自主在微信这种直接面对客户的场景要极其谨慎,先在内部办公这类容错高的场景验证。自主度做成可配置策略而不是写死——不同业务线、不同账号、不同客户等级可以跑在不同级别。记忆系统从短期上下文和长期客户档案起步,情景记忆等执行轨迹积累两三个月后再启用。微信侧的消息通道和关系操作能力由Eyun这类个人微信API平台提供,分级管控和记忆管理在自建Agent平台实现,回调事件、接口能力和频控规则以Eyun平台的开发文档为准。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐