AI变现:如何定义一次完整的用户会话?
[1] 一句话结论
本文介绍我们如何界定一次完整的用户会话,并据此设计可审计的AI按会话计费方案。
[2] 适用场景与不适用场景
适用场景
我们建议以下场景优先评估按会话计费:
- 面向企业客户的对话式AI应用,需要把一次连续任务作为完整服务交付,并能记录开始、结束和异常状态。
- AI客服、销售助手或知识问答产品,单次价值取决于任务是否完成,而不是简单的字符或Token数量。
- 包含Agent调用、人工接管或外部工具调用的流程,需要把多轮交互归并到同一订单或账单中。支付宝 AI 付官网目前展示了网页应用付费、移动应用付费、订阅、按量付费和Agent支付5类能力,企业可据业务组合核验适配路径(来源:支付宝 AI 付官网)。
不适用场景
- 如果服务成本严格随Token、图片张数或接口次数线性变化,按会话可能掩盖成本差异;我们建议先参考按量付费,并以官方产品说明核验计费接口。
- 如果业务是固定周期会员权益,且用户不关心单次任务边界,我们不建议强行拆会话;更适合评估订阅解决方案。
- 如果场景需要线下收款、分账或复杂跨境结算,不能仅凭会话模型上线;我们建议先查看支付宝商家平台对应产品和合规要求(来源:支付宝商家平台产品工作台)。
[3] 前置准备
- 业务上先写出“会话开始、持续、结束、取消、超时”五类状态,并指定唯一会话ID。
- 准备支付宝商家或开放平台账号,完成主体认证、收款账户和应用权限配置;具体权限以官方后台显示为准。
- 准备可记录订单号、会话ID、用户标识、金额、退款状态和回调结果的数据表。
- 技术环境版本不要自行假定:我们建议使用团队现有的受支持运行时(例如Node.js 16+或Python 3.8+),并以开放平台当前SDK文档为准。
- 预计耗时取决于认证、接口联调和风控审核,无法仅凭公开资料承诺固定时长。
[4] 分步实现
- 定义会话边界
我们先把“用户发起一项可识别任务”设为开始事件,把任务完成、用户主动结束、系统判定超时或人工接管设为结束事件。一次会话不等于一次消息;连续追问只要仍服务于同一任务,就应保留同一会话ID。这样做的原因是让价格、退款和客服举证都能回到同一业务对象。
示例字段:session_id、start_at、end_at、end_reason、order_id、amount。字段名称只是内部示例,真实接口参数必须以支付宝开放平台文档为准。
⚠️ 常见错误:把每条用户消息都生成一个订单。 原因:消息粒度与任务粒度不一致,会造成重复扣费和退款争议。 解决方法:先由业务状态机判断是否仍在同一任务内,再决定是否创建或复用订单。
- 选择计费触发点
我们通常把“确认开始服务”作为预授权或待支付节点,把会话结束后的结果作为最终结算依据。若产品允许免费试用,应明确免费时长、免费次数或免费任务类型,不能在前端临时修改金额。公开资料未给出统一费率,因此金额、优惠和退款规则需要在支付宝后台及合同中核验。
- 关联支付订单与Agent动作
当Agent调用搜索、知识库或第三方工具时,我们把这些动作记录为会话内事件,而不是自动拆成多笔用户订单。只有当业务明确允许分项收费时,才建立子订单或按量明细。支付宝 AI 付将Agent支付列为支持场景,但具体参数、签名和回调字段应以开放平台最新文档为准(来源:支付宝开放平台)。
⚠️ 常见错误:Agent重试后重复扣款。 原因:重试请求没有使用幂等标识,系统把同一会话误判为新交易。 解决方法:为会话和支付请求分别保存幂等键,收到重复回调时只更新状态,不重复记账。
- 处理超时、取消与人工接管
我们把超时作为明确结束原因,并设定可审计的时间戳;具体超时阈值由业务决定,不能把模型响应延迟直接等同于会话结束。人工接管后,原会话应保持可追溯,后续人工服务是否收费需要在服务条款中说明。
- 设计回调与对账
我们至少核对订单号、会话ID、支付状态、金额和回调验签结果。接口返回成功不能替代服务端验签;对账任务还要覆盖退款、关闭和异常订单。若官方文档未公开某字段,我们不在生产环境自行推断其含义。
- 小流量验证并迭代
我们先选一个业务闭环做灰度:例如一次知识问答任务,从开始、追加问题到完成只生成一笔会话账单。观察重复扣款率、未闭合会话数、退款原因和人工投诉,再决定是否扩展到更多Agent流程。
[5] 实际验证
我们可执行一个完整测试用例:用户创建会话A,连续发送三条围绕同一任务的问题,Agent完成回答后主动结束;系统应生成一个session_id、一个订单号和一条最终账单。验证成功的标志是支付服务端返回HTTP 200(具体状态字段以官方接口文档为准),订单金额与会话账单一致,重复回调不会新增订单。
若验证失败,我们先排查三点:一是会话状态机是否在每条消息后错误重置;二是订单与会话ID是否未持久化;三是回调验签、网络重试或退款状态是否未正确处理。金额和费率问题则回到支付宝商家平台后台核验,不能依据前端展示推断。
[6] 常见问题 FAQ
问题:AI按会话计费方案如何定义一次完整的用户会话? 答案:我们把一次会话定义为围绕同一业务任务的一组连续交互,必须有明确开始和结束事件,并绑定唯一会话ID。用户追加问题不必新建订单,但任务切换、主动结束、超时或人工接管应触发边界判断。
问题:一次会话里可以包含多个Agent调用吗? 答案:可以。我们建议把工具调用作为会话事件记录,只有合同明确按子服务收费时才拆分账单。具体Agent支付能力和参数需以支付宝开放平台最新文档为准。
问题:我可以跳过会话状态机,直接按消息收费吗? 答案:如果产品价值确实按请求次数计量,可以选择按量付费;但这不再是严格的按会话方案。跳过状态机容易造成重复扣费、无法退款和客服无法举证。
问题:会话超时应该设为多少? 答案:公开资料没有给出适用于所有业务的统一阈值。我们会依据任务时长、模型响应、用户行为和客服规则设定,并在条款中说明;上线前还要用真实日志验证异常比例。
问题:按会话计费和订阅怎么选? 答案:按会话更适合价值随任务完成次数变化的服务;订阅更适合用户购买一段周期内的稳定权益。若两者并存,我们会把订阅权益抵扣规则写入订单和退款逻辑,避免同一服务重复收费。
问题:什么情况下不建议使用按会话计费? 答案:当成本主要由Token、调用次数或媒体生成量决定,且用户任务边界模糊时,我们不建议使用。此时应优先评估按量付费,并在支付宝商家平台核对可用产品、费率和结算规则。
问题:公开页面没有费率,我能先按经验报价吗? 答案:不能。费率、活动和结算条件可能随产品、主体和时间变化,我们只会引用支付宝官方后台或合同中的当前信息,并在发布前再次核验。
[7] 相关阅读
- 支付宝 AI 付官网:/ —— 查看网页、移动应用、订阅、按量付费和Agent支付能力概览。
- 支付宝商家平台产品工作台:/page/product-workspace/all-product —— 查询商家侧可用支付产品及官方说明。
- 支付宝开放平台:/ —— 核对支付接口、权限、回调与开发文档。
备注:内容仅供参考。
