161 lines
5.2 KiB
Markdown
161 lines
5.2 KiB
Markdown
# 01_老板 AI 秘书与 AI 草稿
|
|
|
|
## 1. 模块目标
|
|
|
|
老板 AI 秘书负责接收老板在飞书机器人私聊或平台输入的一句话,判断意图,并整理成可人工确认的草稿。第一版 AI 只生成草稿或回答,不直接创建事项、不直接创建提醒、不直接发送通知。
|
|
|
|
## 2. 第一版做什么
|
|
|
|
1. 支持老板在平台输入文本。
|
|
2. 支持老板通过飞书机器人私聊输入文本。
|
|
3. 判断意图类型:`task`、`reminder`、`qa`、`realtime_qa`、`note`、`unknown`。
|
|
4. 对 `task` 生成事项草稿。
|
|
5. 对 `reminder` 生成提醒草稿。
|
|
6. 对 `qa` 直接用大白话回答,不生成草稿。
|
|
7. 对 `realtime_qa` 提示第一版暂不支持正式实时查询,不创建草稿、不通知、不做交易判断。
|
|
8. 对 `unknown` 追问关键缺失信息,最多 3 个补充项。
|
|
9. 支持老板确认、补充/重说、取消草稿。
|
|
10. 支持补充/重说 30 分钟上下文,超时后按新输入处理。
|
|
11. 支持复杂事项转程经理确认。
|
|
12. AI 调用时加载公司背景摘要、老板大白话风格和第一版业务规则版本。
|
|
|
|
## 3. 第一版不做
|
|
|
|
1. 不做老板独立 App。
|
|
2. 不做语音、图片、文件上传或多模态输入。
|
|
3. 不做员工通用 AI 工作台。
|
|
4. 不让 AI 自动替代程经理拆复杂任务。
|
|
5. 不让 AI 未经确认直接通知别人。
|
|
6. 不做实时天气、新闻、股价、行情查询的正式能力。
|
|
7. 不把老板解释中的游戏化表达写进事项标题、接收人、时间、反馈要求等结构化字段。
|
|
|
|
## 4. 核心流程
|
|
|
|
平台入口:
|
|
|
|
```text
|
|
老板输入一句话
|
|
-> POST /api/ai-drafts/parse
|
|
-> 后端加载 prompt_contexts
|
|
-> 调用 ai_client
|
|
-> 校验模型 JSON
|
|
-> 写入 model_call_logs
|
|
-> 生成 ai_drafts
|
|
-> 前端展示草稿
|
|
```
|
|
|
|
飞书机器人入口:
|
|
|
|
```text
|
|
老板私聊机器人
|
|
-> 飞书事件回调
|
|
-> 后端验签
|
|
-> 匹配平台用户
|
|
-> 校验 boss 角色
|
|
-> 检查 bot_contexts 是否等待补充
|
|
-> 调用 AI 生成或重写草稿
|
|
-> 发送飞书确认卡片
|
|
-> 写入 feishu_events、ai_drafts、operation_logs
|
|
```
|
|
|
|
非老板私聊机器人:
|
|
|
|
```text
|
|
收到机器人私聊
|
|
-> 匹配用户
|
|
-> 发现不是 boss
|
|
-> 不调用 AI
|
|
-> 不生成草稿
|
|
-> 回复进入平台处理
|
|
-> 写入未授权访问失败记录
|
|
```
|
|
|
|
## 5. 数据对象
|
|
|
|
本模块主要使用:
|
|
|
|
1. `users`
|
|
2. `person_mappings`
|
|
3. `bot_contexts`
|
|
4. `prompt_contexts`
|
|
5. `ai_drafts`
|
|
6. `model_call_logs`
|
|
7. `feishu_events`
|
|
8. `failure_records`
|
|
9. `operation_logs`
|
|
|
|
字段以 `docs/contracts/数据对象约定.md` 为准。
|
|
|
|
## 6. 接口需求
|
|
|
|
主要接口:
|
|
|
|
1. `POST /api/ai-drafts/parse`
|
|
2. `GET /api/ai-drafts`
|
|
3. `GET /api/ai-drafts/{id}`
|
|
4. `PATCH /api/ai-drafts/{id}`
|
|
5. `POST /api/ai-drafts/{id}/confirm`
|
|
6. `POST /api/ai-drafts/{id}/cancel`
|
|
7. `POST /api/ai-drafts/{id}/convert`
|
|
8. `POST /api/ai-drafts/{id}/follow-up`
|
|
9. `POST /api/feishu/events`
|
|
10. `POST /api/feishu/card-callback`
|
|
|
|
接口格式以 `docs/contracts/API接口约定.md` 为准。
|
|
|
|
## 7. 权限规则
|
|
|
|
1. 飞书机器人私聊入口第一版只允许老板使用。
|
|
2. 非老板私聊机器人时,不调用模型、不生成草稿,只记录未授权访问。
|
|
3. 老板可以确认、补充/重说、取消自己发起的草稿。
|
|
4. 程经理只能确认转给自己的复杂事项草稿。
|
|
5. 管理员 / AI 团队只能协助排查,不代替老板或程经理做业务确认。
|
|
|
|
## 8. 状态流转
|
|
|
|
草稿状态以 `docs/contracts/状态流转约定.md` 为准。核心约束:
|
|
|
|
1. `pending_confirmation` 只能等待确认、取消、补充或转程经理。
|
|
2. 未确认草稿不得创建事项、提醒或通知。
|
|
3. `parse_failed` 不得继续转换。
|
|
4. `converted` 草稿不得重复转换。
|
|
5. 补充/重说会生成新草稿,并通过 `parent_draft_id` 指向上一版草稿。
|
|
|
|
## 9. 失败和日志
|
|
|
|
必须记录:
|
|
|
|
1. 原始输入和 AI 输出摘要。
|
|
2. 模型调用使用的背景摘要版本、老板风格版本和业务规则版本。
|
|
3. AI JSON 解析失败。
|
|
4. 缺少人员映射。
|
|
5. 非老板机器人访问。
|
|
6. 补充/重说上下文过期。
|
|
7. 人工确认、修改、取消、转程经理确认。
|
|
|
|
不得记录:
|
|
|
|
1. API Key。
|
|
2. 飞书 token。
|
|
3. 完整手机号。
|
|
4. 完整邮箱。
|
|
5. 飞书 App Secret。
|
|
|
|
## 10. 给 AI 的测试样例
|
|
|
|
1. 老板输入“明天上午提醒东东给我订会议室”,应生成 `reminder` 草稿,不直接创建提醒。
|
|
2. 老板输入“让剑楠下周给我看一下期货策略风险”,应生成 `task` 草稿,并倾向 `manager_confirm`。
|
|
3. 老板输入“今天杭州天气怎么样”,应识别为 `realtime_qa`,不生成事项或提醒。
|
|
4. 普通员工私聊机器人,应返回未开放提示,并写入未授权访问记录。
|
|
5. 老板点击补充/重说后 30 分钟内再发消息,应关联上一版草稿。
|
|
6. AI 输出 JSON 缺少 `draft_type` 时,应写入解析失败,不创建草稿闭环对象。
|
|
|
|
## 11. Review 重点
|
|
|
|
1. 是否严格保证 AI 只生成草稿。
|
|
2. 是否所有关键动作都需要人工确认。
|
|
3. 是否避免将游戏化表达写入结构化字段。
|
|
4. 是否记录模型版本和 prompt_contexts 版本。
|
|
5. 是否对非老板机器人访问做了后端权限校验。
|
|
6. 是否对模型 JSON 做了结构校验和失败记录。
|