# 助手概念详解 深入了解助手(Assistant)的设计理念和配置细节。 --- ## 什么是助手? **助手**是 RAS 中的核心实体,代表一个具有特定角色、能力和行为的 AI 对话智能体。每个助手都是独立配置的,可以服务于不同的业务场景。 ### 助手的组成 ```mermaid flowchart TB subgraph Assistant["助手"] Identity[身份定义] Models[模型配置] Capabilities[能力扩展] Behavior[行为控制] end subgraph Identity Name[名称] Prompt[系统提示词] Language[语言] end subgraph Models LLM[LLM 模型] ASR[ASR 模型] TTS[TTS 声音] end subgraph Capabilities Tools[工具调用] KB[知识库] end subgraph Behavior Greeting[开场白] Interruption[打断设置] Output[输出模式] end ``` --- ## 身份定义 ### 系统提示词 系统提示词是助手最重要的配置,它定义了: | 要素 | 说明 | 示例 | |------|------|------| | **角色** | 助手扮演什么身份 | "你是一名专业的医疗咨询顾问" | | **能力** | 助手能做什么 | "你可以回答健康问题,但不能开具处方" | | **限制** | 助手不能做什么 | "不要讨论政治话题" | | **风格** | 回复的语气和格式 | "保持友好专业,回答简洁" | ### 提示词模板 ```markdown ## 角色 你是{{company}}的智能客服助手"小智"。 ## 任务 - 回答用户关于产品和服务的问题 - 协助处理订单查询和售后问题 - 收集用户反馈 ## 限制 - 不讨论竞争对手产品 - 不承诺超出权限的优惠 - 遇到复杂问题引导用户联系人工客服 ## 风格 - 语气友好亲切 - 回答简洁明了,每次 2-3 句话 - 适当使用语气词使对话更自然 ``` --- ## 模型配置 ### LLM 模型 大语言模型是助手的"大脑",负责理解用户意图和生成回复。 | 参数 | 说明 | 建议值 | |------|------|--------| | **温度** | 回复随机性,越高越发散 | 0.7 (对话) / 0.3 (问答) | | **最大 Token** | 单次回复长度上限 | 256-512 | | **上下文长度** | 记忆的对话轮数 | 10-20 轮 | ### ASR 模型 语音识别模型将用户语音转为文字。 | 配置 | 说明 | |------|------| | **语言** | 识别语言,如中文、英文 | | **热词** | 提高特定词汇识别率 | | **标点** | 是否自动添加标点 | ### TTS 声音 语音合成将助手回复转为语音输出。 | 配置 | 说明 | |------|------| | **音色** | 选择声音角色 | | **语速** | 说话速度,0.5-2.0 | | **音调** | 声音高低 | --- ## 能力扩展 ### 工具调用 通过工具让助手能够执行外部操作: ```mermaid flowchart LR User[用户] -->|"查询订单"| Assistant[助手] Assistant -->|调用工具| API[订单 API] API -->|返回数据| Assistant Assistant -->|回复| User ``` **工具定义示例:** ```json { "name": "get_order_status", "description": "查询用户订单状态", "parameters": { "type": "object", "properties": { "order_id": { "type": "string", "description": "订单编号" } }, "required": ["order_id"] } } ``` ### 知识库关联 让助手基于私有文档回答问题: ```mermaid flowchart LR Question[用户问题] --> Search[知识检索] Search --> KB[(知识库)] KB --> Context[相关内容] Context --> LLM[LLM] LLM --> Answer[回答] ``` --- ## 行为控制 ### 开场白设置 | 模式 | 说明 | |------|------| | **助手先说** | 连接后助手主动问候 | | **用户先说** | 等待用户开口 | | **静默** | 不自动开场 | ### 打断设置 | 选项 | 说明 | |------|------| | **允许打断** | 用户可随时插话 | | **禁止打断** | 助手说完才能输入 | | **灵敏度** | 打断触发的敏感程度 | ### 输出模式 | 模式 | 说明 | |------|------| | **语音** | TTS 语音输出 | | **文本** | 纯文本输出 | | **混合** | 同时输出语音和文本 | --- ## 助手版本管理 ### 草稿与发布 ```mermaid gitGraph commit id: "创建助手" commit id: "配置提示词" commit id: "添加工具" branch published checkout published commit id: "发布 v1" checkout main commit id: "修改提示词" commit id: "调整参数" checkout published merge main id: "发布 v2" ``` - **草稿**: 可随时修改,仅供测试 - **发布**: 正式上线,用于生产环境 ### 配置导入导出 支持以 JSON 格式导入导出助手配置,便于: - 备份和恢复 - 跨环境迁移 - 团队共享模板 --- ## 最佳实践 ### 1. 提示词工程 - **明确角色**: 清晰定义助手身份 - **设定边界**: 明确能做什么、不能做什么 - **控制长度**: 语音场景下回复要简短 ### 2. 模型选择 - **平衡成本与效果**: 不一定需要最强模型 - **测试不同供应商**: 找到最适合场景的组合 - **考虑延迟**: 语音交互对延迟敏感 ### 3. 工具设计 - **单一职责**: 每个工具做一件事 - **清晰描述**: 让 LLM 正确理解何时调用 - **错误处理**: 工具失败时优雅降级 --- ## 相关文档 - [助手配置](../assistants/configuration.md) - 配置界面详解 - [提示词指南](../assistants/prompts.md) - 编写高质量提示词 - [工具集成](../customization/tools.md) - 工具配置详情