MyRelay

← 回到笔记本

为学习小组搭建一个按需回答的 Discord 助手

先把助手的任务缩小到一件事

学习群里常有这样的消息:一道题讨论了半小时,后来加入的同学却找不到思路。可以先做一个简单的 Discord 助手,让大家主动提交题目,再由它整理已知条件、解释概念并给出下一步提示。第一版只处理文字问题,不读取整个频道,也不主动插话。这样既容易检查回答质量,也能减少无意触发的费用。

创建机器人并限定活动范围

进入 Discord 开发者门户,创建应用并启用机器人,保存生成的机器人令牌。邀请它进入学习服务器时,启用应用命令,并只授予测试频道所需的查看和发送消息权限。暂时不要授予管理员权限。如果采用斜杠命令接收题目,通常不需要开启读取普通消息内容的特权意图。

把令牌放在部署环境的秘密变量中,不要粘贴到群聊或提交到公开仓库。先确认机器人能在测试频道回应一条固定消息,再接入模型。这样遇到故障时,就能区分是频道权限出了问题,还是模型请求出了问题。

接入模型前先设好试用预算

如果希望集中管理个人模型开支,可以创建一个 MyRelay 账户,用一个密钥和一份按量付费的预算开始测试。在服务端通过兼容 OpenAI 的软件开发工具包接入,并将请求地址设为 MyRelay 提供的接口地址。机器人令牌与模型密钥应分别保存,两者用途不同。

第一版可以先试用 DeepSeek V4 Flash,用几道熟悉的题目检查解释是否清楚。先给自己定一个很小的试用金额,并在机器人程序里限制单次输入长度、输出长度和每日请求次数。不要把账户余额当成唯一的费用防线。

让一次提问对应一次清晰的处理流程

添加一个名为“提问”的斜杠命令,要求同学填写题目,也允许补充自己卡住的位置。收到命令后,机器人应在 Discord 要求的三秒内确认或延迟响应,再调用模型,完成后更新回复。超过消息长度限制时分段发送,避免答案被截断。

给模型的固定说明要具体:先指出题目条件,再给一个提示;信息不足时先追问;无法确认时说明不确定。把同学提交的文字当作待分析材料,不允许其中的指令改变机器人的规则。日常求助不必附带整段聊天记录,通常题目和最近一次补充就够用。

把等待、失败和重复点击也处理好

为每位成员设置短暂冷却时间,并限制同时处理的请求数量。如果同一个人连续点击,提示他等待已有任务完成。遇到超时或接口错误时,给出清楚的失败提示,让用户决定是否重试。不要无限自动重试,否则一次故障也可能变成多次收费请求。

测试时还要提交空白内容、超长题目和两条同时到达的请求,确认它们不会让程序失去响应。机器人只需记录排查故障所需的状态和请求标识,避免长期保存同学的原始题目与个人信息。

用真实题目检查效果和每次花费

邀请两三位同学试用,分别提交概念题、计算题和条件不完整的题目。检查它是否会跳过推导、编造依据,或者在应该追问时直接猜答案。涉及作业时,优先让它提供分步提示,把核对教材和独立完成答案留给同学。

随后在 MyRelay 查看每次请求的词元用量和费用,找出花费偏高的原因。题目过长就收紧输入,解释重复就压缩固定说明,答案过长就限制输出。连续试用几天,确认每日开支与回答质量都能接受,再开放给整个学习小组。

顺便看看