项目背景
随着 LLM 能力的提升,单纯的问答对话已经无法满足复杂场景的需求。AI Agent 需要能够调用工具、管理记忆、编排多步工作流。现有的框架(如 LangChain)往往过于臃肿,抽象层次过深。这个项目的目标是构建一个轻量但完整的 Agent 框架。
技术架构
核心模块
- Agent Router: 根据用户输入和上下文自动路由到合适的 Agent 实例
- Tool Registry: 声明式工具注册,自动生成 Function Calling 的 JSON Schema
- Memory Manager: 短期记忆(对话历史)+ 长期记忆(向量数据库检索)
- Stream Processor: SSE 流式输出,支持工具调用中间状态的实时展示
- Guard Rails: 输入/输出安全过滤,防止 Prompt 注入和敏感信息泄露
RAG 流程
- 用户输入 → 向量化 (Embedding)
- 向量数据库检索相关文档片段
- 组装 Prompt: System Prompt + 检索上下文 + 用户输入
- LLM 生成回答 (可能触发 Function Calling)
- 工具执行 → 结果回注 → 继续生成
核心挑战与解决方案
1. 多人格切换
不同场景需要不同的 Agent 人格。通过人格模板系统实现 — 每个人格定义独立的 System Prompt、可用工具集和行为约束。切换人格只需更换模板,无需修改框架代码。
2. 对话轮次控制
公开 Agent 需要防滥用。实现了分级轮次限制 — 匿名用户 10 轮/会话,登录用户 50 轮/天,管理员无限制。
3. Function Calling 安全性
工具调用涉及写操作时需要人工确认。设计了操作分级机制 — 读操作自动执行,写操作需要用户在前端确认后才执行。
成果数据
- 支持模型: DeepSeek V3.2, GPT-4o, Claude
- 工具调用延迟: < 200ms (不含 LLM 生成时间)
- 向量检索准确率: > 85% (Top-5)
- 人格模板: 3 个 (技术问答、周易算卦、系统管理)