海盗中间件:美团服务体验平台对接业务数据的最佳实践

640?wx_fmt=png

总第268篇

2018年 第60篇

背景


 

移动互联网时代,用户体验为王。美团服务体验平台希望能够帮助客户解决在选、购、用美团产品过程中遇到的各种问题,真正做到“以客户为中心”,为客户排忧解难。

但服务体验平台内部只维护客户的客诉数据,为了精准地预判和更好地解决客户遇到的问题,系统必须依赖业务部门提供的一些业务数据,包括但不限于订单数据、退款数据、产品数据等等。 本文会着重讲一下在整个系统交互过程中遇到的一些问题,然后分享一下在实践中探索出来的经验和方法论,希望能够给大家带来一些启发。

问题

对接场景广而杂

首先,需要接入服务体验平台服务(包括直接面向用户的C端服务、面向客服的工单服务等等)的业务方非常多且杂,而且在不断拓展。美团有非常多的业务线,比如外卖、酒店、旅游、打车、交通、到店餐饮、到店综合、猫眼等等。其中部分业务又延展出多条子业务线,比如大交通部门包含火车票、汽车票、国内机票、国际机票、船票等等。具体到每一条子业务线的每一个业务场景,客户都有可能会遇到问题。

对于这些场景,服务体验平台服务都需要调用对应的业务数据接口,来帮助用户自助或者客服协助解决这些问题。就美团现有的业务而言,这样的场景数量会达到万级。而且业务形态在不断迭代,还会有更多的场景被挖掘出来,这些都需要持续对接更多的业务数据来进行支撑。

接入场景定制化要求高

其次,接入服务体验平台服务的业务方定制化要求很高。因为业务场景的差异化非常大,不同的接入方都希望能够定制特殊复杂逻辑,需要服务体验平台提供的服务解决方案与业务深度耦合。这就需要服务体验平台侧对接入方业务逻辑和数据接口深入了解,并对这些业务数据进行组装,针对每个场景进行定制开发。

方案

早期方案

为了解决上述问题,初期在做系统设计时候,考虑业务方多是既有系统,所以服务体验平台服务趋向平台化设计,并引入了适配层。服务体验平台内部对所有的业务数据和逻辑进行统一抽象,对内标准化接口,屏蔽掉业务逻辑和接口的差异。所有的定制化逻辑都在适配层中封装。但这需要客服侧RD对所有的场景去编写适配器代码,将从一个或者多个业务部门接口中拿到的业务数据,转成内部实际场景需要的数据。

其系统交互如下图所示:

640?wx_fmt=png

缺点

虽然上述系统设计能满足业务上的要求,但是存在两个比较明显的缺点:

  • 编码工作量繁重
    如上图所示,每个业务场景都需要编写适配器来满足需求,如果依赖的外部接口比较少,场景也比较单一,按照上述方案实施还可以接受。但业务接入非常多且杂,给客服侧RD带来了非常繁重的工作量,包括适配器编写以及后续维护过程中对下游业务接口的持续跟踪和监控。

  • 客服侧RD需要深入了解业务方逻辑
    另外,由于客服侧RD对于业务模型的不熟悉,解析业务模型然后组装最终展示给客户的数据,需要比业务方RD花更多的时间来梳理和实现,并且花费更多的时间来验证正确性。比如下面是一个真实的组装业务接口并对业务数据进行处理的案例:

public class TicketAdapterServiceImpl implements OrderAdapterService {    @Resource(name = "tradeQueryClient")    private TradeTicketQueryClient tradeTicketQueryClient;    @Resource    private ColumbusTicketService columbusTicketService;    /**     * 根据订单ID获取门票相关的订单数据、门票数据、退款数据等    **/    @Override    public OrderInfoDTO handle(OrderRequestDTO orderRequestDTO) {        List<ITradeTicketQueryService.TradeDetailField> tradeDetailFieldList = new ArrayList<ITradeTicketQueryService.TradeDetailField>();        tradeDetailFieldList.add(ITradeTicketQueryService.TradeDetailField.ORDER);        tradeDetailFieldList.add(ITradeTicketQueryService.TradeDetailField.TICKET);        tradeDetailFieldList.add(ITradeTicketQueryService.TradeDetailField.REFUND_REQUEST);        try {            //通过接口A得到部分订单数据、门票数据和退款数据            RichOrderDetail richOrderDetail = tradeTicketQueryClient.getRichOrderDetailById(orderRequestDTO.getOrderId(), tradeDetailFieldList);            if (richOrderDetail == null) {                return null;            }            if (richOrderDetail.getOrderDetail() == null) {                return null;            }            OrderDetail orderDetail = richOrderDetail.getOrderDetail();            RefundDetail refundDetail = richOrderDetail.getRefundDetail();            OrderInfoDTO orderInfoDTO = new OrderInfoDTO();             //解析和处理接口A返回的字段,得到客服侧场景真正需要的数据            orderInfoDTO.put("dealId", orderDetail.getMtDealId());            orderInfoDTO.put(DomesticTicketField.VOUCHER_CODE.getValue(), getVoucherCode(richOrderDetail));            orderInfoDTO.put(DomesticTicketField.REFUND_CHECK_DUE.getValue(), getRefundCheckDueDate(richOrderDetail));            orderInfoDTO.put(DomesticTicketField.REFUND_RECEIVED_DUE.getValue(), getRefundReceivedDueDate(richOrderDetail));            //根据接口B获取另外一些订单数据、门票详情数据、退款数据            ColumbusTicketDTO columbusTicketDTO = columbusTicketService.getByDealId((int) richOrderDetail.getOrderDetail().getMtDealId());            if (columbusTicketDTO == null) {                return orderInfoDTO;            }            //解析和处理接口B返回的字段,得到客服侧场景真正需要的数据            orderInfoDTO.put(DomesticTicketField.REFUND_INFO.getValue(), columbusTicketDTO.getRefundInfo());            orderInfoDTO.put(DomesticTicketField.USE_METHODS.getValue(), columbusTicketDTO.getUseMethods());            orderInfoDTO.put(DomesticTicketField.BOOK_INFO.getValue(), columbusTicketDTO.getBookInfo());            orderInfoDTO.put(DomesticTicketField.INTO_METHOD.getValue(), columbusTicketDTO.getIntoMethod());            return orderInfoDTO;        } catch (TException e) {            Cat.logError("查询不到对应的订单详情", e);            return null;        }    }}

探索

将适配层交由业务方实现

为了克服早期方案的两个缺点,最初,我们希望能够把场景数据的准备和业务模型的解析工作,都交给对业务比较熟悉的团队来处理,即将适配层交由业务方来实现。

640?wx_fmt=png

这样做的话优势和劣势也比较明显:

优势

客服这边关注自己的领域服务就好,做好平台化,数据提供都交给业务团队,解放了客服侧RD。

劣势

但对业务方来说带来了比较大的工作量,业务方既有服务的复用性很低,对客服侧每一个需要数据的场景,都要重新封装新的服务。

更好的解决方案?

这个时候我们思考:是否可以既能让业务方解析自己的业务数据,又能够尽量利用既有服务呢?我们考虑把既有服务的组装过程以及模型的转换都让一个服务编排的中间件来实现。但是使用这个中间件有一个前提,就是业务方提供出来的既有服务必须支持泛化调用,避免调用方直接依赖服务方客户端(文章下一个小节也会补充下对于泛化调用的解释)。其交互模型如下图所示:

640?wx_fmt=png

海盗中间件

简介

什么是海盗?

海盗就是一个用来对支持泛化调用(上述所说)的服务进行编排,然后获取预期结果的一个中间件。使用该中间件调用方可以根据场景来对目标服务进行编排,按需调用。

何为泛化调用?

通常服务提供方提供的服务都会有自己的接口协议,比如一个获取订单数据的服务:

    package com.dianping.demo;    public interface DemoService{          OrderDTO  getById(String orderId);    }

而调用方调用该服务需要引入该接口协议,即依赖该服务提供的JAR包。如果调用方需要集成多方数据,那就需要依赖非常多的API,同时服务方接口升级客户端也需要随之进行升级。而泛化调用就可以解决这个问题,通过泛化调用客户端可以在服务方没有提供接口协议和不依赖服务方API的情况下对服务进行调用,通过类似GenericService这样一个接口来处理所有的服务请求。

如下是一个泛化调用的Demo:

    public class DemoInvoke{        public void genericInvoke(){             /** 调用方配置  **/              InvokerConfig<GenericService> invokerConfig = new InvokerConfig("com.dianping.demo.DemoService", com.dianping.pigeon.remoting.common.service.GenericService.class);             invokerConfig.setTimeout(1000);             invokerConfig.setGeneric(GenericType.JSON.getName());             invokerConfig.setCallType("sync");               /** 泛化调用 **/             final GenericService genericService = ServiceFactory.getService(invokerConfig);             List<String> paramTypes = new ArrayList<String>();             paramTypes.add("java.lang.String");             List<String> paramValues = new ArrayList<String>();             paramValues.add("0000000001");             String result = genericService.$invoke("getById", paramTypes, paramValues);        }    }

有了这个泛化调用的前提,我们就可以重点去思考如何对服务进行编排,然后对取得的结果进行处理了。

DSL设计

首先重新梳理一下海盗的设计目标:

  • 对既有服务进行编排调用

  • 对获取的数据进行处理

而为了实现服务编排,需要定义一个数据结构来描述服务之间的依赖关系、调用顺序、调用服务的入参和出参等等。之后对获取的结果进行处理,也需要在这个数据结构中具体描述对什么样的数据进行怎么样的处理等等。

所以我们需要定义一套DSL(领域特定语言)来描述整个服务编排的蓝图,其语法如下:

{    //定义好需要调用的接口以及接口之间的依赖关系,一个接口调用即为一个task    "tasks": [           //第一个task        {                  "url": "http://helloWorld.test.hello",     //url 为pigeon发布的远程服务地址:            "alias": "d1",   //别名,结果取值的时候可以通过别名引用            "taskType": "PigeonGeneric",  //task的类别一般可以设置为PigeonGeneric,默认是pigeonAgent方式。            "method": "getByDoubleRequest", //要调用的pigeon接口的方法名            "timeout": 3000,  //task的超时时间            "inputs": {      //入参情况,多个入参通过key:value的结构书写,key的类别通过下面的inputsExtra定义。                "helloWorld": {                    "name": "csophys",    //可以通过#orderId,从上下文中获取值,可以通过$d1.orderId的形式从其他的task中获取值                    "sex": "boy"                },                "name": "winnie"            },           "inputsExtra": {     //入参key的类别定义                "helloWorld": "com.dianping.csc.pirate.remoting.pigeon.pigeon_generic_demo_service.HelloWorld",                "name": "java.lang.String"            }                  },        //另一个task        {                "url": "http://helloWorld.test.hello",            "alias": "d2",            "taskType": "PigeonGeneric",            "method": "getByDoubleRequest",            "inputsExtra": {                "helloWorld": "com.dianping.csc.pirate.remoting.pigeon.pigeon_generic_demo_service.HelloWorld",                "name": "java.lang.String"            },            "timeout": 3000,            "inputs": {                "helloWorld": {                    "name": "csophys",                    "sex": "boy"                },                "name": "winnie"            }        }    ],    "name": "pigeonGenericUnitDemo",  //DSL的名称定义,暂时没有特别含义    "description": "pigeon泛型调用测试",  //DSL的描述    "outputs": {            //定义好最后输出的数据模型        "d1name": "$d1.name",        "languages": "$d2.languages",        "language1": "$d2.languages[0]",        "name": "csophys"    }}

架构设计

有了DSL来描述整个编排蓝图之后,海盗自然要对该DSL进行解析,然后对服务进行具体调用。其整体架构如下所示:

640?wx_fmt=png

其中涉及到几个重点概念:

  • Facade:对外提供统一接口,供客户端调用。

  • Parser:对于输入的DSL进行解析,解析成内部流转的数据结构,同时得到所有的task,并且构建task调用逻辑树。

  • Executor:真实发起调用的模块,目前支持平台内部的Pigeon和MTThrift调用方式,同时对HTTP等其他协议有良好的扩展性。

  • DataProcessor:数据后处理。这边会把所有接口拿到的数据转换层客服场景这边需要的数据,并且通过设计的一些内部函数,可以支持一些如数据半脱敏等功能。

  • 组件插件化:对日志等功能实现可插拔,调用方可以自定义这些组件,即插即用。

主要Feature

海盗具有如下主要特点:

  • 采用去中心化的设计思路,引擎集成在SDK中。方案通用化,每一个需要业务数据的场景都可以通过海盗直接调用数据提供方。

  • 服务编排支持并行和串行调用,使用方可以根据实际场景自己构造服务调用树。通过DSL的方式把之前硬编码组装的逻辑实现了配置化,然后通过海盗引擎把能并行调用的服务都执行了并行调用,数据使用方不用再自己处理性能优化。

  • 使用JSON DSL 描述整个工作蓝图,简单易学。

  • 支持JSONPath语法对服务返回的结果进行取值。

  • 支持内置函数和自定义指令(语法参考ftl)对取到的元数据进行处理,得到需要的最终结果。

  • 编排服务树可视化。

  • 目前集团内部RPC中间件包括Pigeon、MTThrift,已进行了泛化调用支持,可以通过海盗实现Pigeon服务和MTThrift的服务编排。不需要限制业务团队的服务提供方式,但需要升级中间件版本。这里特别感谢服务治理团队的大力支持。

Tutorial

场景:需要根据订单ID查询订单状态和支付状态,但目前没有现成的接口支持该功能,但有两个既有接口分别是:

  • 接口1:根据订单ID,获取到订单状态和支付流水号

  • 接口2:根据支付流水号获取支付状态

那我们可以对这两个接口进行编排,编写DSL如下:

{  "tasks": [    {      "url": "http://test.service",      "alias": "d1",      "taskType": "PigeonGeneric",      "method": "getByOrderId",      "timeout": 3000,      "inputs": {        "orderId": "#orderId"      },      "inputsExtra": {        "name": "java.lang.String"      }    },    {      "url": "http://test.service",      "alias": "d2",      "taskType": "PigeonGeneric",      "method": "getPayStatus",      "timeout": 3000,      "inputs": {        "paySerialNo": "$d1.paySerialNo"      },      "inputsExtra": {        "time": "java.lang.String"      }    }  ],  "name": "test",  "description": "组装上述接口获取订单状态和支付状态",  "outputs": {    "orderStatus": "$d1.orderStatus",    "payStatus": "$d2.payStatus"  }}

然后客户端进行调用:

    String DSL = "上述DSL文件";    String params  = "{\"orderId\":\"000000001\"}";    Response resp = PirateEngine.invoke(DSL, params);

最后得到的数据即为调用场景真正需要的数据:

{   "orderStatus":1,   "payStatus":2}

开发流程变化

因为获取数据的架构产生了变化,开发流程也随之发生改变。

640?wx_fmt=png

如图所示,因为减少了客服侧RD不断去向业务方RD确认返回的数据含义和逻辑,双方RD各自专注各自熟悉的领域,开发效率和最终结果准确性都有显著提升。

总结和展望

最后总结一下使用海盗之后的优势:

  • 去中心化的设计,可用性得到保证。

  • 服务复用性高,领域划分更加清晰,让RD专注在自己熟悉的领域,降低研发成本。

  • 因为流程变化后,业务方可以提前验证提供的数据,高质量交付。

  • 客服侧对数据获取进行统一收口,可以对所有调用服务统一监控并对数据统一处理。

展望

海盗的技术规划:

  • 丰富内部函数和运算表达式
    目前海盗提供了一部分简单的内部函数用来对取到的值进行简单处理,同时正在实现支持调用方自定义运算表达式来支持复杂场景的数据处理,这部分需要持续完善。

  • 屏蔽远程调用协议异构性
    目前海盗只支持对美团Pigeon和MTThrift服务进行编排,这里要对协议进行扩展,支持类似HTTP等通用协议,同时支持调用方自定义协议和调用实现。

  • 运营工具完善
    提供一个比较完整的运营工具,调用方可以自行配置DSL并进行校验,然后一键调用查询最终结果。同时调用方可以通过该工具进行日志、报表等相关数据查询。

  • 自动生成单元测试
    能够把经过验证的DSL生成相应的单元测试用例给到数据提供方,持续保障提供的DSL的可用性和正确性。

作者简介

王彬,美团资深研发工程师,毕业于南京大学,2017年2月加入美团。目前主要专注于智能客服领域,从事后端工作。

陈胜,海盗项目负责人,智能客服技术负责人,2013年加入大众点评。在未来智能客服组会持续在平台化和垂直领域方向深入下去,为消费者、商家、企业提供更加智能的客户服务体验。

----------  END  ----------

招聘信息


服务体验平台可以深入接触到公司的所有业务,推进业务改善产品。提升客户的服务体验。打造一个客户贴身的智能服务助手。通过技术的手段更快地解决客户的问题,并且最大程度地节省客服的人力成本。欢迎有意向的同学加入服务体验平台,上海、北京都有需求。简历请投递至:sheng.chen#dianping.com


也许你还想看


UAS:大众点评用户行为系统

MCI:大众点评千人移动研发团队怎样做持续集成?

2000万日订单背后:美团外卖客户端高可用建设体系


640?wx_fmt=png

相关推荐

美团 LongCat-2.5 开源:从看见,到抵达

美团正式开源 LongCat-2.5,采用MIT协议,支持商用推理部署与二次训练,无需额外授权。

美团技术团队 282

美团正式发布 LongCat-2.5:面向智能体任务的原生多模态模型

美团正式发布 LongCat-2.5,这是一个面向长程智能体任务的原生多模态模型。模型总参数量为 1.6 万亿,每个 token 激活约 480 亿参数,在 LongCat-2.0 的基础上进一步强化了原生视觉理解与智能体编程能力。

美团技术团队 2479

如何在“不能出错”的系统里使用 AI Coding?分布式存储实践与边界

AI 能让代码写得更快,但在「不能出错」的分布式存储系统里,如何确保提效不变成风险?本文结合美团基础技术部在 AI 评审、问题排查和自动化开发中的真实实践,分享 AI 能帮上什么忙、容易在哪些地方犯错,以及哪些地方仍需要人来把关。比「多写代码」更重要的,是让代码和结论经得起验证。希望这些经验能为复杂系统中的 AI 应用提供参考,在享受效率提升的同时,守住质量与稳定性的底线。

美团技术团队 348

从 LOOP 到图探索 —— 算法模型的 AutoResearch 自进化系统架构演进之路

算法工程师的一天是“改代码—提交训练—等待—看日志—决定下一步”,过程中还经常被打断。我们团队从 Karpathy 的 AutoResearch 出发,经过三次架构重构,搭建出一套可在企业云端训练平台使用的算法研究自进化系统。本文分享这套系统的设计理念、架构演进与可信度设计,希望对大家有所帮助或启发。

美团技术团队 479

SLM 生成式高并发推理引擎:延迟约束下的有效吞吐优化

本文为SLM(Small Language Model, 小参数量语言模型0.5~1B)在搜推场景的大规模落地提供了一套高性能、可复用的工程实践。

美团技术团队 573

MTFM:美团统一推荐基座大模型在外卖多业务场景的落地实践

美团在 MTGR 基础上提出统一推荐基座大模型 MTFM,首次实现外卖多个主要业务的统一精排模型。围绕规模可扩展性、场景可延展性与架构高效性三大挑战,MTFM以异构 Tokenizer 与动态掩码实现多场景特征免对齐,通过混合注意力与 Target Scale-Up 提升模型 Scaling 能力,借鉴 LLM 优化实践提升深层网络训练效果,并以 User-Level 训练范式与定制算子保证系统开销可控。美团外卖多个业务订单量提升 2.06%~6.68% 不等,推理成本降低 24%。

美团技术团队 712

《Agent 评测白皮书》系列01:Agent 评测全览

我们推出了《Agent评测白皮书》系列博客,体系化地为大家讲解评测的落地指南,分为《评测全览》、《冷启动篇》、《扩量篇》、《自进化篇》等共4篇,本文为系列的第一篇。

美团技术团队 678

美团智播——数字人直播技术创新与实践

美团智播,是面向本地生活场景的AI数字人直播解决方案,融合大模型、数字人与多模态交互技术,提供丰富的行业专属数字人形象,支持真人1:1复刻与门店实景定制,30秒生成直播素材,3分钟完成开播配置,7×24小时稳定上播。过去一年,依托生成式AI技术,数字人直播月日均GTV同比增长82.12%,月日均观看人次同比增长163.44%,开播场次提升11倍,充分验证了AI数字人直播在本地生活商业闭环中的实际价值。

美团技术团队 916

GeoRA: 为RLVR设计的LoRA——ACL 2026杰出论文解析

本文介绍了一种专为 RLVR 设计的低秩训练方法,以及它在业务 Agentic RL 中的落地经验。

美团技术团队 688

美团搜索3.0:LLM 语义表征在排序模型的探索与应用

美团搜索团队正依托团垂融合新架构与生成式大模型新技术,全面重构本地生活搜索底座。本系列技术博客将持续介绍美团搜索 3.0 的技术探索,本文聚焦 LLM 语义表征在服务零售排序场景上的三期实践——从单点特征验证到系统性表征体系构建,再到跨场景迁移复用,探索语义匹配信号在搜索排序中的应用路径。

美团技术团队 922

KDD‘26 美团学术论文精选及KDD Cup‘26 DataAgents赛道冠军思路解读

本文精选了美团技术团队被 KDD 2026 收录的 8 篇论文进行分享,这些论文覆盖了推荐大模型、生成与奖励建模框架、智能体搜索、Transformer 框架、元泛化框架等技术领域。

美团技术团队 962

Agent评测漫谈 —— 由浅入深讲解Agent评测

本篇博客是一篇科普文章,由浅入深的介绍Agent评测。其中前两章系统介绍了评测是什么,以及如何建立评测体系;其中第二章是美团图灵Agent评测团队深入美团各业务团队BP总结出的实践经验,是我们在两年实践过程中逐步打磨出来的认知。第三章重点介绍了龙虾/爱马仕这类长程Agent框架的出现对评测带来的变化。

美团技术团队 1076

美团正式发布 CatPaw:全场景 AI Agent,从个人提效到企业智能化

搭载 LongCat 2.0 的美团全场景 AI Agent 平台 CatPaw 正式上线,将模型能力从“跑得动”推向“用得好”。CatPaw 提供开箱即用的 AI 智能工作台与企业级 Agent 开发托管能力。

美团技术团队 1018

让AI离开温室,走向动态世界:MineExplorer揭示顶级多模态大模型被忽视的能力断层

美团 LongCat 团队构建了MineExplorer——首个在开放世界中做到分钟级长程任务的评测基准,系统性地评测多模态大模型在需要长程规划、并包含隐藏前置条件的任务中的真实能力。

美团技术团队 868

下一代搜索智能体评测基准!美团开源LoHoSearch,用知识图谱校准AI能力认知

过去一年,我们见证了 Search Agent 能力的显著演进。在 BrowseComp 等评测上,顶尖模型准确率从最初的30%区间迅速攀升至90%以上。然而,当基准迅速饱和,其区分模型能力的价值也随之递减。

美团技术团队 912

直播回放·含 ACL‘26 杰出论文 | 美团 AI 顶会论文 32 篇精讲

2026 年,美团技术团队数十篇论文被 ACL、SIGIR、ICML、KDD 等顶会收录。我们精选 32 篇,进行了 5 大专场直播。

美团技术团队 899

正式开源!美团 LongCat-2.0 同步开放国产卡推理代码

美团 LongCat-2.0 总参数 1.6T,平均激活约 48B,为真实的 Agentic Coding 任务而生,架构上创新性引入 LongCat 稀疏注意力和 N-gram Embedding,提升长上下文处理效率与 Token 级表示能力的同时,结合动态激活进一步强化了代码理解、生成以及执行的表现。

美团技术团队 864

美团 LongCat-2.0 正式发布:在国产算力集群上完成全流程训练与推理的万亿参数模型

6月30日,美团正式发布新一代万亿参数大模型 LongCat-2.0,并将对外开源。

美团技术团队 1213

LongCat 开源 VitaBench 2.0:长期动态智能体基准新标杆

VitaBench 2.0 是首个真实生活场景下面向长期动态用户建模的智能体评测基准,它系统性地评测大语言模型在长期、真实、动态的用户互动中个性化与主动性的能力

美团技术团队 1117

ICML 2026 | 美团技术团队学术论文精选

ICML(International Conference on Machine Learning,国际机器学习大会)是机器学习领域最具影响力的国际顶级学术会议之一。

美团技术团队 850

美团海报生成 AIGC 技术创新与实践

美团智能创作团队围绕海报生成 AIGC 构建了完整技术体系,打造「生成-编辑-评判」技术闭环,目前已在美团外卖、品牌 IP 等场景落地,已全部开源。

美团技术团队 2060

从月球漫步到赛博都市,WBench 测出了世界模型的边界

美团 LongCat 团队提出了 WBench,它是首个面向交互式视频世界模型的系统性多轮评测基准。它就像一台“CT扫描仪”,能精准定位当前世界模型在从“被动观看”到“主动交互”的过程中,到底卡在了哪里。

美团技术团队 1243

报名|ACL‘26 美团中稿精选:从能力评测到推理优化,构建生成新范式

本文分享了美团技术团队被 ACL 顶会收录的其中 6 篇论文,技术方向覆盖大模型评测、复杂流程推理、竞赛级数学思维优化、强化学习优化、生成式推荐等领域。

美团技术团队 1516

从高拟真到真可用,LongCat-Video-Avatar 1.5 正式开源

LongCat-Video-Avatar 1.5 即便在复杂商业场景里,也能稳定、自然地输出高质量内容,让数字人视频生成从彩排室的完美演练,走向千人千面的真实舞台。

美团技术团队 1590

美团跑腿 Skill:一句话,骑手来帮忙

美团跑腿 Skill 支持所有 Claw 客户端,包括 OpenClaw 本地版、火山引擎等云部署版、QClaw 等第三方客户端。

美团技术团队 1859

美团 LongCat 开源 General 365:树立推理评测新标尺

General 365 将推理评测从专业知识依赖中剥离出来,让我们直观地看到了大模型在真实世界的通用推理任务上的短板。

美团技术团队 2082

用Agent评测思路管理AI Coding —— 31万行代码AI重构的实践

当团队 90% 以上的代码由 AI 生成,31 万行的复杂业务系统还在高速膨胀,你会发现一个反直觉的事实:AI Coding 不会自动收敛复杂度 —— 没有统一规范的约束,不同人用 AI 写出的代码风格各异,系统反而会加速腐化。本文记录了我们如何在不停止业务交付的前提下,完成这场重构。

美团技术团队 2427

LARYBench 发布:定义具身动作表征 ImageNet,首次度量从人类视频学习的泛化表征

LARYBench (Latent Action Representation Yielding Benchmark),一个指引从大规模的视觉数据学习到通用的隐式动作表征的系统化评测基准。实验结果表明:在动作泛化和控制精度上,通用视觉模型的表现均显著优于专门为具身智能设计的动作专家模型,具身动作表征可以从大规模人类视频数据中涌现。

美团技术团队 2201

突破零样本TTS音色克隆上限:LongCat-AudioDiT 的声音克隆艺术

能不能让 AI 直接学会声音本身的规律,跳过中间环节?为破解这一技术瓶颈,美团 LongCat 团队正式发布 LongCat-AudioDiT。在该模型中,我们彻底抛弃梅尔谱等中间表示,直接在波形潜空间进行基于扩散模型的文本转语音(Text-to-Speech, TTS),从根源阻断数据转换的级联误差。

美团技术团队 1599

LongCat-Flash-Prover:AI 攻克数学定理证明,不仅要“算得对”,更要“证得严”

如何让 AI 从“猜答案”走向“严谨证明”,成为复杂推理具有挑战的课题。我们开源了专门用于数学形式化与定理证明的模型 —— LongCat-Flash-Prover。

美团技术团队 1802
上一篇: 美团客户端响应式框架 EasyReact 开源啦
下一篇: Android消息总线的演进之路:用LiveDataBus替代RxBus、EventBus
美团技术团队
美团技术团队 企业官方账号 企业官方账号
博客等级 码龄10年 3万+粉丝 754原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值