Files
aiagent/docs/zhini-kefu/知你客服14号能力文档.md

69 lines
4.1 KiB
Markdown
Raw Normal View History

# 知你客服 14 号 · 能力说明
## 1. 定位
**知你客服 14 号**在 **知你客服 13 号** 工作流与提示词基础上演进:保留 13 号的连线整理、工具纪律与单行 JSON 输出约定,并将 LLM 可用工具扩展为平台当前注册的**全量内置工具**(与 `app.core.tools_bootstrap` 一致),用于需要 **HTTP、本地文件、系统信息、文本/时间/数学/JSON、只读数据库、Android 日志** 等能力的客服场景。
---
## 2. 版本关系
| 项目 | 说明 |
|------|------|
| 上游模板 | 默认由脚本自 **知你客服 13 号** 复制(可通过环境变量指定其他源 Agent) |
| 画布 | 与 13 号创建脚本一致:去自环、合并重复边、统一左右锚点、分层布局 |
| 记忆与会话 | 与 13/12 相同,依赖工作流 **Cache(`user_memory_*`)**、Redis 与可选 MySQL 持久化;详见 `agent记忆实现方案.md` |
---
## 3. 内置工具一览(10 项)
以下工具在 **「llm-unified」** 节点中 **`enable_tools`**,名称需与后端注册一致。
| 工具名 | 能力摘要 |
|--------|----------|
| **http_request** | HTTP(S) 请求:抓取网页、调用公开 API;按返回 JSON 的 `body` 等提炼信息。 |
| **file_read** | 读取工作区内的本地文件(相对路径或落在允许根目录下的绝对路径)。 |
| **file_write** | 写入/追加工作区内文件;受大小与路径校验约束。 |
| **system_info** | 系统与运行环境信息;含 **本地文件工作区根路径** `local_file_workspace_root`(回答「工作区在哪」等)。 |
| **text_analyze** | 文本分析:`text` + `operation`:`count`(字数/行数等)、`keywords`(简单词频)、`summary`(截取前几段作摘要)。 |
| **datetime** | 日期时间:常用 `operation=now`,可选 `format`(strftime)。 |
| **math_calculate** | 安全算术表达式计算(如四则运算、`sqrt` 等),结果以工具返回为准,禁止臆造。 |
| **json_process** | JSON:`operation` 为 `parse` / `stringify` / `validate`。 |
| **database_query** | **只读 SQL**:**仅允许 SELECT**;默认连平台库,可选 `data_source_id` 指定数据源;注意 `timeout`。 |
| **adb_log** | Android 设备日志:需运行环境已安装 **adb** 且设备可用;按工具参数拉取/过滤日志。 |
---
## 4. 输出与纪律(继承 13 号并加强)
- **最终回复**:仍以 **一行合法 JSON** 结尾(含 `intent`、`reply`、`user_profile` 等),无 Markdown 代码围栏。
- **用户画像**:末行 JSON 中的 **`user_profile` 须如实填写**;用户已告知昵称时需含 **`name`**,避免空对象覆盖会话记忆(与 13 号约定一致)。
- **file_write**:同一轮用户请求中避免无故多次写入;勿以本地文件写入替代 JSON 中的会话画像。
- **DSML / invoke**:勿在正文中重复刷屏工具标签行;说明工具结果用自然语言,再以单行 JSON 收尾。
- **database_query**:禁止非 SELECT;不得编造查询结果。
- **adb_log**:仅在用户明确需要设备日志时使用;无环境或失败时如实转述工具错误信息。
---
## 5. 使用与维护
| 项目 | 说明 |
|------|------|
| 创建/更新脚本 | `backend/scripts/create_zhini_kefu_14.py` |
| 默认源/目标 Agent | 源:`知你客服13号`;目标:`知你客服14号`(可用环境变量覆盖) |
| 执行 API | 需携带稳定 **`user_id`**(若工作流 Cache 键含 `{{user_id}}`),以免记忆串用户 |
| 进程 | 工作流在 **Celery** 中执行;更新工具或引擎后需 **重启 API + Celery** |
---
## 6. 能力与边界
- **database_query** 访问的是平台配置的数据库或已登记数据源,表结构与安全策略以部署环境为准。
- **adb_log** 强依赖宿主机是否安装 adb、USB/网络调试是否连通,生产环境需单独评估权限与审计。
- **text_analyze** 的摘要/关键词为轻量规则实现,复杂语义仍以 LLM 为主。
---
*文档内容随脚本与平台实现变更;以仓库内 `create_zhini_kefu_14.py` 及实际 Agent 配置为准。*