构建一个生产级的AI Agent,从架构视角看,确实需要把“模块”(组件实体)和“方面”(横切属性)分开定义。前者解决“有什么”,后者决定“好不好、稳不稳”。

以下是当前业界公认的五大核心模块五大关键方面


一、五大核心模块(Agent的骨架与器官)

这些是代码层面的实体,缺一不可。

1. 认知模块(大脑)

  • LLM核心:负责推理、拆解指令、选择工具。需具备Function CallingTool Use原生能力。

  • 提示词工程单元:不是静态文本,而是动态拼装的系统指令(如当前时间、用户身份、安全约束的动态注入)。

  • 上下文窗口管理器:管理Token消耗,执行历史摘要、滑动窗口、关键信息保留等策略。

2. 感知模块(五官)

  • 多模态输入解析器(如需):图片转文本、语音转文字、PDF/Word解析。

  • 环境状态监听器:例如定时触发、Webhook接收、数据库变更监听(CDC)。

  • 用户意图分类器:前置判断——用户是要闲聊、提需求,还是投诉?分流至不同处理流。

3. 行动模块(手脚)

  • 工具注册中心:所有API、函数、代码片段的统一注册表,包含名称、描述、入参Schema、鉴权信息。

  • 调用执行引擎:真正发起HTTP请求、执行Python函数、操作数据库的运行时。

  • 原子操作库:不可拆分的单个动作,如“查天气”、“改密码”。

4. 记忆模块(经验簿)

  • 短期记忆(工作记忆):当前会话上下文,通常存储在内存或Redis。

  • 长期记忆( episodic记忆):使用向量索引(Chroma、PGVector)存储历史关键信息,支持语义召回。

  • 实体记忆库:专门存储用户偏好、关键事实(如“用户过敏史”、“常用收货地址”)。

5. 协调与控制模块(神经中枢)

  • 规划器(Planner):将复杂任务拆解为多步计划(ReAct、Chain-of-Thought、Tree-of-Thoughts)。

  • 状态机:管理当前处于任务的哪一步、等待什么外部反馈、是否超时。

  • 反射与评估器:任务完成后自我评价——这次回答是否解决了问题?是否需要追问?


二、五大关键方面(贯穿全流程的属性)

这些不是具体代码文件,而是架构原则与质量属性,必须在设计阶段植入。

1. 安全与治理方面

  • 身份与权限:Agent调用工具时的最小权限原则——查询API只能用只读Key,发邮件必须经人工确认。

  • 输出护栏:内容安全策略(拒绝生成恶意代码、歧视言论)。

  • 审计追踪全链路日志——记录每一步的模型输入、选中的工具、传入的参数、返回的结果,不可篡改。

2. 集成与扩展方面

  • 插件化架构:新工具的接入不需要修改核心代码,只需实现统一接口。

  • 外部系统适配器:适配REST、GraphQL、SOAP、gRPC、数据库直连等不同协议。

  • 事件总线:Agent内部模块间解耦通信,例如“任务完成”事件触发“通知发送”。

3. 评估与优化方面

  • 离线评估集(Eval):不少于100个典型用户请求 + 预期正确行为,每次变更模型或提示词后全量回归。

  • 在线监控指标:任务成功率、平均响应轮次、工具调用失败率、用户负面反馈率。

  • A/B测试框架:支持同一请求分流给不同Agent版本,对比效果。

4. 成本与性能方面

  • Token预算控制器:限制单次任务的最大消耗,超长对话自动触发摘要压缩。

  • 缓存策略:相同或相似问题命中缓存,避免重复调用大模型(尤其适合知识库问答)。

  • 模型路由:简单问题用廉价小模型,复杂推理用旗舰大模型。

5. 用户体验与交互方面

  • 流式响应引擎:逐字输出思考过程或最终答案,避免用户等待白屏。

  • 解释能力:Agent能说清楚“我为什么做了这个操作”(可解释性AI)。

  • 降级策略:大模型不可用时,自动切到关键词匹配或转人工预案。


三、终极形态:这五个方面如何“长”在五个模块上

一个成熟的AI Agent系统,其实是模块与方面的交织

模块 必须绑定的关键方面(举例)
认知模块 成本控制(模型路由)、安全(输出护栏)
感知模块 用户体验(流式响应)、集成(多格式解析)
行动模块 安全(权限管控)、评估(调用成功率监控)
记忆模块 性能(检索延迟)、成本(向量存储费用)
协调模块 优化(反射机制)、治理(审计日志)

一句话总结
模块决定了Agent能做什么方面决定了Agent能持续做好什么

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐