Skip to content

核心概念

本页介绍 Snail AI 平台中的核心概念和术语。理解这些概念将帮助你更好地使用和扩展平台功能。

智能体 (Agent)

智能体是 Snail AI 的核心实体,代表一个具备特定能力的 AI 助手。每个智能体拥有独立的配置,包括:

  • 系统提示词 -- 定义智能体的角色、行为边界和回复风格
  • 绑定模型 -- 指定使用的大语言模型(如 GPT-4、Claude 等)
  • 关联能力 -- 可绑定知识库(RAG)、MCP 工具、技能包、记忆等模块

智能体支持通过管理后台可视化创建和配置,也支持 AI 辅助一键生成。创建完成后可发布到智能体市场供其他用户订阅使用。

责任链 (Chain of Responsibility)

Snail AI 的 Agent 执行采用责任链架构,服务端对每次用户请求按固定顺序经过 10 个处理器(Handler),每个处理器负责一个独立关注点:

Init → ModelResolve → SystemPrompt → Conversation → Mcp → Rag → Skill → WebSearch → ContextCollector → LlmCall
序号Handler职责
1Init初始化请求上下文,校验参数,加载智能体配置
2ModelResolve解析并校验绑定的模型配置,构建模型调用参数
3SystemPrompt组装系统提示词,支持变量模板替换
4Conversation加载历史对话记录,管理上下文窗口
5Mcp发现并注册已绑定的 MCP 工具定义
6Rag执行 RAG 检索,将匹配的知识片段注入上下文
7Skill加载已绑定的技能指令,扩展智能体能力
8WebSearch执行联网搜索,注入实时信息
9ContextCollector汇总所有上下文信息,构建最终的 Prompt
10LlmCall调用大模型 API,处理流式响应并返回结果

这种设计使得每个环节可独立扩展和替换,新增能力只需插入新的 Handler。

RAG (检索增强生成)

RAG(Retrieval-Augmented Generation)是让智能体基于私有知识进行回答的核心机制。Snail AI 的 RAG 流水线包含以下阶段:

文档处理流水线

文档上传 → 格式解析 → 文本分片 → 向量化 → 存入向量数据库
  • 支持格式: PDF、Word、Excel、PPT、Markdown、TXT、HTML、CSV 等 10+ 种
  • 分片策略: 固定长度、递归字符、Token 级别、语义分片 4 种策略
  • 智能去重: 基于内容哈希的文档级去重

检索策略

策略说明
向量检索基于语义相似度的 Embedding 检索
BM25 检索基于关键词的传统全文检索
融合检索同时执行向量和 BM25,通过 RRF(Reciprocal Rank Fusion)或加权融合合并结果
重排序使用 Reranker 模型对检索结果进行精排

MCP (Model Context Protocol)

MCP 是一种标准化的工具调用协议,允许智能体在对话过程中调用外部工具和服务。Snail AI 完整实现了 MCP 协议:

  • 传输方式: SSE(Server-Sent Events)、Streamable HTTP、Stdio 三种传输协议
  • 认证方式: API Key、Bearer Token、OAuth 2.0 多种认证机制
  • 工具管理: 可视化配置工具 URL、认证信息,支持一键连接测试

智能体绑定 MCP 工具后,大模型可以在对话中自主决定何时调用工具、传递什么参数,并将工具返回的结果整合到回复中。

技能 (Skill)

技能是一种轻量级的能力扩展机制,通过上传 ZIP 包的方式为智能体添加特定领域的知识和行为指令。

每个技能包中包含一个 SKILL.md 文件,定义了技能的触发条件、指令内容和行为规范。技能在责任链的 Skill Handler 阶段被加载,其指令会被注入到系统提示词中。

与 MCP 工具侧重于外部 API 调用不同,技能更侧重于通过 Prompt 工程为智能体注入领域知识和行为模式。

记忆 (Memory)

记忆系统为智能体提供跨对话的信息持久化能力,分为两种机制:

类型机制说明
短期记忆滑动窗口维护当前对话的最近 N 轮上下文,超出窗口的历史自动截断
长期记忆向量召回将重要的对话片段向量化存储,在后续对话中通过语义检索召回相关记忆

长期记忆使智能体能够"记住"用户的偏好、历史问题和关键信息,提供更个性化的服务体验。

客户端 (Client)

客户端是 Snail AI 分布式架构中的 Agent 执行节点。在 Server-Agent 架构中:

  • Server(服务端) -- 负责请求编排、责任链执行、RAG 检索、对话管理
  • Client(客户端) -- 负责实际的大模型调用,通过 gRPC 双向流与 Server 通信

客户端的核心特性是拦截器链(Interceptor Chain),开发者可以在 AI 交互的各个阶段插入自定义逻辑:

用户请求 → [前置拦截器] → 模型调用 → [后置拦截器] → 返回响应

典型应用场景包括:请求参数修改、敏感信息过滤、响应内容审查、日志记录、Token 用量统计等。

应用 (App)

应用是分布式执行环境的逻辑单元,用于管理智能体与客户端节点之间的关系和路由策略。

一个应用可以关联多个客户端节点,通过配置不同的路由策略来实现负载均衡和故障转移:

路由策略说明
随机路由随机选择一个可用的客户端节点
轮询路由按顺序依次分配到各节点
指定节点将请求固定路由到特定客户端

存储实例 (Store Instance)

存储实例是向量数据库和搜索引擎的后端连接配置。RAG 知识库通过绑定存储实例来确定数据的物理存储位置。

目前支持的存储后端:

后端说明
PgVectorPostgreSQL 的向量扩展,推荐与 PG 关系数据库共用实例
Milvus专业的分布式向量数据库,适合大规模向量检索场景
Elasticsearch支持向量检索 + 全文检索,适合混合检索场景

追踪 (Trace)

追踪系统提供 Langfuse 风格的全链路可观测性,将每次 Agent 交互的完整执行过程记录为一棵 Observation 树:

Trace (一次完整交互)
├── Span: 责任链执行
│   ├── Span: RAG 检索 (耗时、召回数量)
│   ├── Span: MCP 工具调用 (工具名、参数、返回值)
│   └── Span: 上下文组装
├── Generation: LLM 调用 (模型、Token 用量、耗时)
└── Score: 用户评分 / 自动评估

追踪系统的核心能力:

  • 瀑布图可视化 -- 直观展示各阶段的执行顺序和耗时分布
  • Token 用量统计 -- 记录每次调用的输入/输出 Token 数量和费用
  • 评分系统 -- 支持用户手动评分和自动化评估,用于持续优化智能体表现
  • 客户端集成 -- 通过 Micrometer 深度集成,客户端侧的执行指标同样纳入追踪

追踪数据对于调试 Agent 行为、优化 RAG 检索效果、分析 Token 消耗具有重要价值。

Apache 2.0 Licensed