摘要:想练雅思口语却找不到合适的陪练?本文记录我用 WorkBuddy 从零搭出一套「专属口语教练 + 词块卡技能 + 每日/每周自动化」学习闭环的全过程。它每天只占用 30 分钟,能主持官方标准的 Part 1/2/3 模考、给四维评分、生成可背词块,还能定时主动提醒你练习。文章包含完整可复用的配置文件、命令,以及 6 个我真实踩过的坑和对应解法,照着做就能拥有自己的口语陪练。
市面上的口语 App 大多有两个问题:一是反馈太浅(只说"不错"不给具体错在哪),二是内容固定(题库更新慢,且不会按你的水平调难度)。
WorkBuddy 的思路不同:它允许你自建一个调优过的 AI 专家当陪练,再配一个生成词块的技能,最后用自动化把"每天练"变成系统纪律而不是靠自觉。这三件套组合起来,就是一个随时在线、严格但温和、且完全私有的口语教练。
组件 | 是什么 | 解决什么 |
|---|---|---|
专家(Agent) | 「雅思口语教练 Ava」 | 主持模考、四维评分、温和纠错、自由对话 |
技能(Skill) | 「词块卡生成器」 | 把话题变成带音标/例句/中文的可背词块卡 |
自动化(Automation) | 每日推送 + 每周模考 | 把练习变成定时纪律,不靠自觉 |
目标是 雅思口语 Band 7,并在 9–12 个月内达到"和外国人毫不费力对话"。每天 30 分钟拆解:听力+影子跟读 10 分钟、词块记忆 8 分钟、开口输出 12 分钟。
WorkBuddy 内置 140+ 专家偏向金融/法律/开发,没有雅思口语专项,所以必须自建。用 expert-manager 工作流即可:
# 1) 初始化专家骨架(Agent 型)
python3 .../expert-manager/scripts/init_expert.py ielts-speaking-coach \
--type agent --path ~/.workbuddy/plugins/marketplaces/my-experts/plugins
# 2) 校验
python3 .../expert-manager/scripts/validate_expert.py \
~/.workbuddy/plugins/marketplaces/my-experts/plugins/ielts-speaking-coach
# 3) 注册到专家中心
python3 .../expert-manager/scripts/register_expert.py \
~/.workbuddy/plugins/marketplaces/my-experts/plugins/ielts-speaking-coach \
--session-id <你的session-id>专家的灵魂在 agents/ielts-speaking-coach.md 的提示词里,核心是四段:
头像用 ImageGen 生成一张漫画风教练图,重命名为 avatars/expert.png 即可。
口语 7 分拼的是词块(collocation)而不是孤立单词。我建了一个技能,输入话题就吐出结构化词块卡。它的价值在于内置了一份雅思高频话题词块库(references/ielts_topics.md),覆盖教育/环境/科技/健康等 10 大话题,保证每次产出的词块质量稳定。
技能还带一个落盘脚本 scripts/format_cards.py,把词块 JSON 转成 Markdown 复习表 + Anki 可导入 TSV:
python3 scripts/format_cards.py --topic "Environment" \
--input cards.json --outdir ./out
# 输出 out/Environment_cards.md 和 out/Environment_anki.txt一张卡长这样(带音标、英文释义、例句、中文),可直接导入 Anki 排期复习:
词块 | 音标 | 英文释义 | 例句 | 中文 |
|---|---|---|---|---|
carbon footprint | /ˈkɑː.bən ˈfʊt.prɪnt/ | CO₂ released by an activity | We should reduce our carbon footprint. | 碳足迹 |
最有用的部分是让系统替你坚持。建两条自动化,都绑定 Ava 专家:
# 自动化示例(recurring 规则)
每日:FREQ=DAILY;BYHOUR=20;BYMINUTE=0
每周:FREQ=WEEKLY;BYDAY=SA;BYHOUR=10;BYMINUTE=0
绑定专家:ielts-speaking-coach这样你不用每天想"今天练什么"——到点它就推,缺席成本变成"系统提醒你",而不是"自己懒得开 App"。
让 Ava 出一道题卡,计时 2 分钟作答后,它会给出这样的四维评分(示意):
维度 | 分数 | 关键问题 | 改进建议 |
|---|---|---|---|
FC 流利度 | 6.0 | 停顿多,用 filler "um" | 用词块整句输出,减少逐词翻译 |
LR 词汇 | 6.5 | 词汇够但搭配少 | 多背 collocation(如 broaden horizons) |
GRA 语法 | 6.0 | 时态混用 | Part 2 统一用过去时讲经历 |
P 发音 | 6.5 | th/v 易混 | 每天 2 分钟最小对练 th 音 |
每周对比这张表,就能看到自己在哪个维度卡住,针对性补。
这部分是我搭的过程中真实遇到的问题,照着避坑能省几小时。
坑 1:SKILL.md 的 description 不能含尖括号 < 或 >
我最初用 YAML 折叠符 >- 写多行描述,结果 package_skill.py 校验直接失败:
❌ Validation failed: Description cannot contain angle brackets (< or >)解法:把 description 改成单行双引号字符串,别用 >- / | 块标量。
坑 2:专家注册后,自动化 expertId 用 agentName 而非 displayName
中文 displayName(如"雅思口语教练")在自动化里匹配可能失败。注册时 plugin.json 的 name 字段(如 ielts-speaking-coach)更可靠,自动化里填它。
坑 3:自动化时间用 RFC 5545 扩展 BYHOUR/BYMINUTE
只写 FREQ=DAILY 系统不知道几点跑。加上 ;BYHOUR=20;BYMINUTE=0 才精确到 20:00。多数调度库(dateutil)支持,但发布前先在界面确认触发时间。
坑 4:ImageGen 生成的头像文件名不对
默认是一长串带时间戳的文件名,专家要求 avatars/expert.png。生成后 mv 重命名,并删掉 .gitkeep 占位文件,否则校验可能异常。
坑 5:词块卡脚本依赖要干净
format_cards.py 我只用 Python 标准库(json/argparse/os),不引第三方包,这样分享给任何人都能直接跑,不用 pip install。
坑 6:内置专家市场没有雅思专项,别浪费时间找
前 10 分钟我翻遍专家中心和技能市场,确认没有现成雅思口语专家/技能。结论:这种强个性化需求就该自建,WorkBuddy 的 expert-manager + skill-creator 流程几分钟就能成型。
技能做好了可以打包发给朋友,对方解压到 ~/.workbuddy/skills/ielts-collocation-cards/ 即可用:
python3 .../skill-creator/scripts/package_skill.py \
~/.workbuddy/skills/ielts-collocation-cards
# 生成 ielts-collocation-cards.zip注:上架到公共 SkillHub 市场后默认对所有人免费可用;目前没有"上传即给现金"的机制,平台激励多为活动型或社区发文积分,且早期"插件市场悬赏"活动已结束。想拿积分最稳的是把这类搭建过程写成教程发社区(见文末)。
用 WorkBuddy 自建口语学习闭环,本质是把"请私教"变成"搭系统":
三者加起来,每天 30 分钟就能稳定推进,且完全私有、可无限复用。你今天的半小时,是在给 9 个月后的自如对话存复利。
本文配套文件(技能、专家配置、词块库、打包脚本)均已就绪,照着 Step 1–3 操作即可复现。祝屠鸭顺利。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。