1. Agent-Chat模式架构解析
Agent-Chat模式是一种基于大语言模型(LLM)的智能对话系统架构,其核心在于通过工具调用(Tool Calling)实现动态决策和任务执行。与传统Chat模式相比,它具备以下技术特点:
- 工具动态编排:根据用户意图自动选择API工具
- 多轮推理:通过循环调用LLM实现复杂任务分解
- 状态持久化:完整记录Agent思考过程和工具调用轨迹
典型应用场景包括:
- 需要调用外部API的查询(天气、股票等)
- 多步骤任务处理(订票、购物等)
- 需要实时数据验证的问答场景
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心流程实现细节
2.1 请求处理链路
完整的请求处理涉及三个关键层次:
python复制HTTP请求 → API层 → 服务层 → 执行层
具体代码路径:
- API入口:
api/controllers/console/app/completion.py的ChatMessageApi.post() - 服务分发:
AppGenerateService.generate() - 执行引擎:
AgentChatAppGenerator.generate()
关键设计:采用分层架构隔离业务逻辑与实现细节,便于后续扩展不同对话模式
2.2 数据持久化设计
消息存储采用预创建模式,主要涉及4张核心表:
| 表名 | 字段说明 | 存储时机 |
|---|---|---|
| Conversation | 对话元信息(app_id, mode等) | 首次请求时创建 |
| Message | 用户查询和AI回复 | 请求到达立即创建 |
| MessageAgentThought | Agent推理过程记录 | 每次工具调用后保存 |
| MessageFile | 消息关联文件信息 | 文件上传时保存 |
