“太离谱了,给我退款。”这句话里同时有情绪和明确诉求。把它只标成负面情绪,再自动发一张优惠券,很可能既没有回答退款问题,还让用户觉得系统在敷衍。
我更关心可观察的诉求:是否要求退款、是否说明无法使用、是否有需要人工处理的争议。情绪可以帮助调整语气,补偿资格应该由独立规则和权限决定。
分类接口也需要明确定义问题
2026年10月22日,OpenAI宣布Decisions API正式可用,面向条件判断、固定选项分类等任务。官方发布记录、接口说明 这类接口形式适合提醒我们把判断拆小,但返回概率不等于读懂了用户意图,也不是补偿授权。
例如,分别判断“用户是否明确要求退款”和“是否表达强烈不满”,比让模型给一个综合情绪分后直接决定送券更便于复核。本文不调用该接口,不比较模型表现。
图里的情绪标记没有直接连到发券。用户需要一个能处理诉求的入口,而不是算法自行替换成更容易自动化的动作。
让模型输出停在候选标签
const assert = require('node:assert/strict'); function route(candidate) { const intents = new Set(['how_to', 'refund_request', 'service_failure', 'unknown']); if (!intents.has(candidate.intent) || !Number.isFinite(candidate.confidence) || candidate.confidence < 0 || candidate.confidence > 1) throw new TypeError('invalid classification'); if (candidate.confidence < 0.8 || candidate.intent === 'unknown') return { next: 'human_review', coupon: false }; return { next: candidate.intent === 'how_to' ? 'help_article' : 'human_review', coupon: false }; } assert.equal(route({ intent: 'refund_request', confidence: 0.99 }).next, 'human_review'); assert.equal(route({ intent: 'how_to', confidence: 0.5 }).next, 'human_review'); assert.equal(route({ intent: 'service_failure', confidence: 1 }).coupon, false); console.log('intent-routing: 3 assertions passed');保存为intent-routing.cjs,运行node intent-routing.cjs。0.8是教学政策,不是校准后的业务阈值;真实阈值要根据代表性样本评估。代码只验证路由,不验证模型能正确识别诉求。
安抚要对应当前问题
前端回复可以先复述具体障碍,再说明正在核实的内容和下一步。不应该承诺尚未批准的退款、给出没有依据的恢复时间,或要求用户重复已经提交的证据。
若业务允许补偿,需独立校验对象、额度、历史领取和审批状态,并保存结果。不能因为用户语气更强烈就自动提高利益,否则系统既不公平,也更容易被操纵。没有真实客诉评测与授权集成,这个方案不能被称作自动解决率提升实验。