easynet.run · 全部问题场景

替多个客户跑任务,费用要能追到具体工作

代理团队共用模型账户替几家客户处理材料,月底只有一张总账。某个项目超支了,负责人只能翻聊天猜原因。按任务数平摊又说不通:一份长文档多次失败的成本,和一次缓存命中的查询并不相同。

供应商支持项目密钥和成本标签时,应直接从那里取得费用事实。客户很少,分项目账户更容易管理。任务跨几个提供方时,EasyNet 的调用关联才有额外作用,但它不能把不同平台的计费口径自动统一。

需要在任务开始时绑定获准的客户项目,适配器拒绝调用者借用另一个客户标识转移费用。每次模型或工具操作留下供应商请求关联,输入只包含完成任务所需材料,输出的业务结果与用量信息分别保存。

成本服务再从授权账单或接口导入计费用量,按生效价格和约定分摊规则归集。缺少供应商记录时显示待对账,不给出假精确金额。EasyNet 回执可以协助找出尝试经过哪里,却不是供应商账单或税务发票。

共享机器、失败重试、折扣和退款都要有明确规则,并由财务或项目负责人确认。客户只能查看自己的明细和必要工作引用,不能为了展示成本顺带暴露别人的提示词、附件或业务内容。

先拿一组完成的测试任务对齐供应商账单,再核对重复请求如何归集。费用对得上之后,超支讨论才会落到哪项工作、哪次失败和什么选择;在此之前,这套新增成本服务只应辅助内部核算,不直接生成对外应付金额。

  1. 01

    绑定获准项目

    不能用别人的 ID 转移费用

  2. 02

    关联供应商请求

    结果与用量分别记录

  3. 03

    按账单对账

    缺证据显示待对账

调用记录用于关联,金额来自已核对的供应商记录。

只归集账单确有的金额

合成供应商记录的本地关联;金额直接来自样本,不推算价格,也不生成客户发票。

本地示例 · python
task_requests = {"request-1": "client-A", "request-2": "client-B",
                 "request-3": "client-A"}
vendor_cents = {"request-1": 12, "request-2": 8}
totals, pending = {}, []
for request, project in task_requests.items():
    if request not in vendor_cents:
        pending.append(request)
        continue
    totals[project] = totals.get(project, 0) + vendor_cents[request]
assert sum(totals.values()) == sum(vendor_cents.values())
print(totals)
print("pending:", pending)

预期结果:A 为 12 分、B 为 8 分;request-3 待对账,不按零费用处理。

接入时的检查项
  • 项目汇总是否与供应商总账在约定范围内对齐。
  • 重复请求和失败尝试是否按同一规则计算。
  • 客户是否只能查看自己的费用和必要任务信息。
源码与接入资料