小伴:基于文心大模型的陪伴式学习机器人

# 小伴:基于文心大模型的陪伴式学习机器人 | openclaw 阶段1

## 项目简介

小伴是一个陪伴式学习机器人,基于文心大模型 v2 API 构建 Agent 决策链路,结合 FSRS 记忆调度算法实现跨会话个性化教学。

核心命题:一个学习机器人如果不认识用户,就只是一个带语音的搜索引擎。小伴通过长期记忆系统(用户画像 + 生活事实 + 知识卡片),让机器人越教越懂你。

## 系统架构:感知 → 决策 → 执行

```

用户语音/文本

┌─ 感知层 ──────────────────────┐

│ 百度语音识别 / 文本输入 │

└───────────────────────────────┘

┌─ 决策层(Agent 大脑)──────────┐

│ │

│ 文心 API 调用 1:意图理解 │

│ (ERNIE-4.0-Turbo, t=0.1) │

│ → practice / review / summary │

│ ↓ │

│ 文心 API 调用 2:任务规划 │

│ (ERNIE-4.0-Turbo, t=0.3) │

│ → 结合用户画像 + FSRS 到期卡片 │

│ ↓ │

│ 文心 API 调用 3:对话执行 │

│ (ERNIE-4.0-8K, t=0.7) │

│ → 注入记忆 + 教学计划 │

│ │

│ 记忆系统:SQLite 持久化 │

│ · user_profile(画像) │

│ · user_facts(生活事件) │

│ · grammar_cards(FSRS 调度) │

└────────────────────────────────┘

┌─ 执行层 ──────────────────────┐

│ TTS 语音输出 / 文本回复 │

│ [阶段2] 舵机动作 + LED 反馈 │

└───────────────────────────────┘

```

## 文心大模型 API 调用方式

采用千帆 v2 协议(OpenAI 兼容格式 + IAM 安全认证),3 次调用构成 Agent 链路:

| 调用点 | 角色 | 模型 | temperature | 输入 | 输出 |

|--------|------|------|------------|------|------|

| 1 | 意图分类器 | ERNIE-4.0-Turbo | 0.1 | 用户文本 | `{intent, confidence}` |

| 2 | 教学规划器 | ERNIE-4.0-Turbo | 0.3 | 意图 + 画像 + FSRS 卡片 | 教学步骤 JSON |

| 3 | 对话教练 | ERNIE-4.0-8K | 0.7 | 教学计划 + 记忆 | 自然语言回复 |

认证方式:`Authorization: Bearer {IAM_KEY}`,无需 access_token 刷新。

## 3 组指令演示

### 指令 1:“开始今天的英语练习”

```

[感知] 百度语音识别 → “开始今天的英语练习”

[决策] 文心调用1 → intent=practice, confidence=0.90

[决策] 文心调用2 → 教学计划:角色扮演日常场景,练习时态

[决策] 文心调用3 → 生成回复

[执行] 小伴:"Let’s pretend we’re at a cafe. You can start by saying,

   'Could I get a large cappuccino, please?' I'll respond as the barista."

```

### 指令 2:“帮我复习上次的错误”

```

[感知] 百度语音识别 → “帮我复习上次的错误”

[决策] 文心调用1 → intent=review, confidence=1.00

[决策] 文心调用2 → 查询 FSRS 到期卡片,生成复习计划

[决策] 文心调用3 → 生成回复

[执行] 小伴:"Sure! Let’s go over a few things from last time.

   So, tell me — what did you do over the weekend?"

```

### 指令 3:“总结我这周的学习情况”

```

[感知] 百度语音识别 → “总结我这周的学习情况”

[决策] 文心调用1 → intent=summary, confidence=1.00

[决策] 文心调用2 → 聚合学习数据,生成报告

[决策] 文心调用3 → 转化为自然语言

[执行] 小伴:"Great week! Your flow in discussing hobbies feels natural!

   To level up, try adding more descriptive words."

```

## 机器人控制链路

**感知层**:百度语音识别(阶段1) → 端侧 hobot_asr(阶段2 RDK X3)

**决策层**:文心大模型 Agent(3 次调用) + FSRS 记忆调度引擎

- 意图理解:判断用户想做什么

- 任务规划:结合用户画像和知识卡片状态,生成教学计划

- 对话执行:注入记忆和教学计划,生成个性化回复

**执行层**:TTS 语音输出(阶段1) → 舵机点头/摇头 + LED 状态灯(阶段2 RDK X3)

## 失败场景处理

| 场景 | 处理 |

|------|------|

| 文心 API 超时 | 重试 1 次 → 降级到 ERNIE-3.5-Turbo |

| 千帆平台不可用 | 纯本地模式:展示 FSRS 卡片 |

| 意图识别置信度低 | 进入自由聊天模式 |

| STT 识别失败 | 提供文本输入入口 |

## 阶段 2 展望:RDK X3 实体部署

阶段 1 验证了 Agent 大脑(灵魂),阶段 2 将大脑装进 RDK X3(身体):

- 端侧 STT/TTS(hobot_asr + hobot_tts),语音不上云

- 摄像头 + BPU 表情识别,检测用户困惑/走神

- 舵机点头鼓励 + LED 状态灯

- ROS 2(TogetheROS.Bot)节点编排

## 交付物

- 代码仓库:https://github.com/bob798/xiaoban

- 演示视频:[视频链接]

- 技术栈:FastAPI + 文心大模型 v2 + SQLite + FSRS + Docker

```bash

# 一键启动

git clone https://github.com/bob798/xiaoban.git

cd xiaoban

cp .env.example .env # 填入 BAIDU_API_KEY

docker compose up -d

# 打开 http://localhost:8000

```

作者:bob798

GitHub:https://github.com/bob798