赛区:职业赛 · 第 21 课 | 前置:第 8、19 课 | 成本:约 0.05 元

业余射手看手感:顺了连中五个,不顺打铁一晚。职业射手看稳定:不管主场客场、领先落后,命中率就是四成五。

你的 Agent 要从「业余」升「职业」,就差这两招:结构化输出(让它按固定格式答)和错误兜底(答不了时优雅认输,绝不乱编)。

第一招:结构化输出(让它交「表格」而不是「作文」) 程序最怕读散文——格式一变就解析失败。让 AI 按 JSON 格式输出:

请只输出 JSON,不要任何其他文字:
{"word":"查询的词","meaning":"词义","examples":[{"ug":"维语例句","zh":"中文对照"}]}

代码里用 JSON.parse() 就能直接读取每个字段——这就是「表格化」的好处。

第二招:错误兜底(投篮不进也有人抢篮板) 在提示词里写明三种「投降姿势」:

规则:
- 你不确定的翻译 → 输出 {"error":"uncertain","note":"建议人工核对"}
- 用户输入和维语学习无关 → 输出 {"error":"off_topic"}
- 任何异常情况 → 绝不编造,按上面格式如实报告

然后在代码里检查:有 error 字段就走人工通道,没有才正常展示。职业 Agent 和玩具的区别,就在这条兜底线上。

🏃 训练动作:改造第 20 课的 tools.js——把最终回答改成 JSON 格式输出,并加上面的兜底规则。然后连测 10 个词(8 个正常 + 1 个生僻 + 1 个无关问题如「今天星期几」)。 ✅ 验收:8 个正常词返回完整 JSON,生僻词返回 uncertain,无关问题返回 off_topic

口诀:输出表格化,失败格式化。

金句:手感会背叛你,体系不会。