京东App秒级百G日志传输存储架构设计与实战

754f2f51c9e75334cd7864b61b4204bc.gif

一、背景

在日常工作中,我们通常需要存储一些日志,譬如用户请求的出入参、系统运行时打印的一些 info、error 之类的日志,从而对系统在运行时出现的问题有排查的依据。

日志存储和检索是个很常见且简单的工作,市面也有很多关于日志搜集、存储、检索的框架可供使用。

譬如我们只有个位数机器时,可以通过登录服务器,查看 log4j 之类的框架打印到本地文件的日志。当日志多起来后,可以用 elk 三剑客处理日志。

当日志量进一步增多,我们可以上消息队列,譬如 kafka 之类来承接,然后消费入库。或者写本地文件,再采用 filebeat 之类上报再入库。

以上都是较为常见的日志传输和存储的方案,成本可控的情况下,可适用于绝大多数场景。

我们可以简单总结一下日志框架的功能,大概是暂存、传输、入库保存、快速检索。

二、量级上升,成本高昂

技术方案的设计和取舍,往往强受限于成本。当成本高企到难以承受时,将必须导致技术方案的升级换代。那么问题来了,我就是存个日志而已,怎么就成本难以承受了呢?

我们以一个常见的日志传输及存储方案来举例,如下图,暂存就是采用客户端写本地文件存日志,传输即是采用 MQ,消费入库常见的如 ES。下图方案,为了减少部分存储成本,将日志详情存储于压缩更好的 Hbase,仅将查询时需要的一些索引字段放在了 ES。

13f8f7ea0a5a34c2e9fdd9de1b9ab2e3.png

以上作为一个常用的方案,为什么会成本高昂呢。

我们来简单计算一下,京东 App 某个模块(是一个模块,非整个 App 累计),单次用户请求,用户的入参 + 返回值 + 流程中打印的日志占用的大小在 40k-2M 之间,中位数在 60k 左右。该模块日常每秒约 2-5 万次访问,高峰时会翻 10 倍,极高峰可达百万。

以 3 万每秒来算,产生的日志大小为 1.8G,也就是说即便是低负载时,这个日志框架要吞下 1.8G 的传输与存储。但这是远远不够的,因为我们即便放弃极高峰,仅仅支撑偶现的高峰,也需要该系统能支撑秒级 15G 以上的吞吐。但是这仅仅才是一个模块而已,算上前中台这样的模块还有很多。

那么我们就可以来算一算了,一秒 1.5G,一个小时就是 5.4TB。小高峰是肯定要支撑的,也就是秒级 30 万是要保的,那么我们的系统就要能支撑秒级 15G 单模块,算上各模块,200G 秒级是跑不了了。

这只是各个机器所打印在各自本地的原始日志文件占用的大小,然后要发到 MQ 集群,大家都知道,MQ 也是写磁盘的,这 200G 一点不少的在 MQ 机器上做了保存,并且 MQ 还有备份机制,就以最简陋的单备份来说,MQ 每秒要承接 400G 的磁盘,并且离删除后释放磁盘还有挺长一段时间,哪怕只存 1 个小时,也是一个巨大的数字。

我们知道,一般服务器在磁盘还不错的情况下,单机秒级写入量 200 多 M 算比较不错的情况,通过上面的了解,我们仅仅做到日志的暂存和传输就需要 2 千台以上的服务器资源。

然后就到了 worker 消费集群,该集群只是纯粹的内存数据交换,不占磁盘,worker 消费后写入数据库。大家基本可以想象到,数据库的占用是如何。OK,我们终于把数据存了进去,查询问题就成了另外一个必须面对的事情,如何快速从无数亿中找到你要查询的那个用户的链路日志。

到了此时,成本就成了非常要命的事情,尤其方案的设计,会导致原本就很庞大的数据,在链路上再次放大多倍,那么巨大的硬件成本如何解决。

三、缩短流程,缩减流量

通过上面的分析,我们已经发现,即便是市面上最通用的日志方案,在如此巨大的流量面前,也难以持续下去,高昂的硬件成本,将迫使我们去寻找更合适的技术方案。

世界上有一个著名的法则叫 "奥卡姆剃刀定律",讲的是程序员该如何选择合适的剃刀,来让自己的秀发光滑柔顺有光泽。

其实不是的,该定律主要就是八个字 "如无必要,勿增实体"。当一个流程难以支撑当前的业务时,我们就该审视一下,哪些步骤是不必要的。

21802a2b2394c2bdd5b737b8e9ceba50.png

从这个通用流程中,其实我们很容易就能发现,我们经历了很多读写,每次读写都伴随着磁盘的读写(包括 MQ 也是写磁盘的),和频繁的序列化反序列化,以及翻倍的网络 IO。

那么让我们挥舞起奥卡姆的剃刀,做一些删减,把非必要的部分给删掉,就变成了下图的流程:

14d99aae0e8191b29703cf0a66eb97a7.png

我们发现,其实写本地磁盘、和 MQ 都是没有必要的,我们完全可以将日志数据写到本地内存,然后搞个线程,定时通过 UDP 将日志直接发送到 worker 端即可。

worker 接收到之后,解析一下,写入自己的内存队列,再起数个异步线程,批量将队列的数据写入 ClickHouse 数据库即可。

大家可能看到了,下图的流程中,那个圆圈明显比上图的圆圈要小,这是为什么呢?因为我做了压缩。

前文讲过,我们单条报文 40k-2M,这是一个非常大的报文,这里面都是一些用户请求的入参 Json 和出参 Json 以及一些中途日志,我们完全没有必要将原文原封不动往外传输。

通过采用主流的 snappy、zstd 等压缩工具类,可以直接将字符串压缩成 byte [] 再往外传输,这个被压缩后的字符串,直至入库都是 byte [],全程不对大报文解压。

那么这个压缩能压多少呢,80%-90%,一个 60k 的报文,往外送时就剩 6-8k 了,可想而知,仅仅压缩一下原始数据,就在整个流程中,节省了巨大的带宽,同时也大幅提升了 worker 的吞吐量。

这里有个小细节,udp 单个最大报文是 64kb,如果我们压缩后,还是超过了 64kb 的话,udp 是送不出去的,这里可以选择发个 http 请求送到 worker 即可。

通过上图,我们可以看到,当流程中的某些环节并不是必需的时,我们应该果断砍掉,不要轻易照搬网上的方案,而应该选择更适合自己的方案。下面我们详细讲一下系统是如何设计、运转的。

四、更强悍的日志搜集系统

996cd41bb2c13ee4585d80063640f603.png

我们来审视一下这个链路极短的日志搜集系统。

配置中心:用来存储 worker 的 IP 地址,供客户端获取自己模块所分配的 worker 集群的 ip。

client:客户端启动后,从配置中心拉取分配给自己这个模块的 worker 集群的 IP,并轮询将搜集的日志压缩后发送过去,通过 UDP 的方式。

worker:每个模块会分配数量不等的 worker 机器,启动后上报自己的 IP 地址到配置中心。接收到客户端发来的日志后,解析相应的字段,批量写入 clickhouse 数据库。

clickhouse:一个强大的数据库,压缩比很高,写入性能极强,按天分片,查询速度佳。非常适合应用于日志系统这种写入极大,查询较少的系统。

dashboard:可视化界面,从 clickhouse 查询数据展示给用户,具有多条件多维度查询功能。

大家都能看出来,这其中最关键的地方是 worker 端,它的承接流量、消费性能、入库性能将决定着整个链路能否良好地运转。

我们主要分别讲解一下 client 端和 worker 端的实现。

9697a721d45c0a2236d3f62e51b4be20.png

五、Client 端聚合日志

一次请求中,我们通常要保留的日志信息主要有:

(1)请求的出入参 >

如果是 http web 应用,要获取出入参比较简单的方式就是通过自定义 filter 即可。client 的 sdk 里定义了一个 filter,接入方通过配置该 filter 生效即可搜集到出入参。

如果是其他 rpc 应用非 http 请求的,也提供了对应的 filter 拦截器来获取出入参。

在获取到出入参后,sdk 对其中大报文,主要是出参进行了压缩,并将整个数据定义为一个 JAVA 对象,做 protobuf 序列化,通过 UDP 方式往自己对应的 worker 集群轮询传输。

(2)链路上自己打印的一些关键信息,如调用其他系统的的出入参,自己打印的一些 info、error 信息 >

sdk 分别提供了 log4j、logback、log4j2 三个常用日志框架的自定义 appender,用户可以通过在自己的日志配置文件(如 logback.xml)中,将我自定义的 appender 定义出来即可,那么后续用户在代码里所有打印的 info、error 等日志都会执行这个自定义 appender。

同样,这个自定义 appender 也是将日志暂存内存,然后异步 UDP 外送到 worker。

这里主要有两个地方需要注意,一是当压缩后的报文依旧超出 udp 最大报文值时,即通过 http 送出。二是这一次请求,链路中可能会使用多线程、线程池技术,为避免链路 tracer 的唯一 id 在线程池丢失,sdk 采用了 TransmittableThreadLocal 来保持链路的 ID,这个查一下就懂。

总体来说,client 端实现较为简单,省略了写本地磁盘、消费文件发 MQ 等等步骤,整体只有一次 Protobuf 序列化操作,对 CPU、接入方性能影响极小,采用 UDP 外送,不需要 worker 的任何回复,也不用考虑 tcp 模式下 worker 消费慢导致自己阻塞的问题。整体非常简洁高效。

六、Worker 端消费日志并入库

worker 端是调优的重点,由于要接收海量客户端发来的日志,解析后入库,所以 worker 需要具备很强的缓冲能力。

我们都能看出来,系统的瓶颈点肯定在入库这个阶段,解析日志,抽取字段都是效率很高的,而且完全可以通过控制线程的数量来控制住,而入库将强受限于 clickhouse 的写入性能。至于 clickhouse 是如何做的优化,后面会有 clickhouse 集群负责人来讲一下做了哪些优化。

为了做好这个缓冲,即便日志接收量大于入库量,我们也要能接下来这些数据,尽量不丢失。首先硬件上,采用大内存机器,8 核 32G 的容器,来尽量多屯一些数据。其次,采用了双缓冲队列,先将所有接收的数据放一个队列,然后多线程消费、解析成可供入库的行数据,再放入一个待入库队列,然后批量入库。

那么我们做的这些操作,能支撑什么样的数据量呢?

通过线上的应用和严苛的压测,这样一台单机 docker 容器,每秒可以处理原始日志 1-5 千万行,譬如一条用户请求,中途产生了共计 1 千多行日志,那么这样的一台 worker 单机,每秒可以处理 2 万客户端 QPS。对外写 clickhouse 数据库,每秒可以写 200 多 M 比较稳定。

通过对上文的了解,我们知道,这些数据都是被压缩过的,直至库里面的都是压缩过的,只有当最终用户查询时,才会进行解压。所以,这 200M,基本相当于原始数据 1G 多的大小。

也就是说,只要 clickhouse 写入速度跟的上,这个系统仅需 100 台就可以极其高效地处理原始秒级百 G 的日志。对比写 MQ 的方案,中途所有会出现瓶颈的点如 MQ 写磁盘速度、消费拉取速度等,都将不复存在。这是一个纯内存交换的链路系统。

七、强悍的Clickhouse

通过以上的了解,我们可以清楚地看到,worker 作为一个纯内存计算的组件,client 端通过 worker 的数量进行 hash 均匀分发到各个 worker,所以 worker 可以动态扩容而且不存在性能瓶颈,其唯一受限制的就是写入库的速度。

倘若写库速度跟不上,则 worker 必须要拿有限的内存去屯下发来的大量数据,一旦写满则就会开始丢弃接收到的数据。所以整个系统的瓶颈点,就是写库的速度。

Clickhouse 是面向海量数据实时、多维分析、高性能的新一代 OLAP 数据库管理系统,实现了向量化执行和 SIMD 指令,对内存中的列式数据,一个 batch 调用一次 SIMD 指令,大幅缩短了计算耗时,带来数倍的性能提升。目前已成为驱动京东集团业务增长、创新的 “超级引擎”。那么在京东 App 秒级百 G 日志传输存储架构中,Clickhouse 如何支撑大吞吐量数据的写入,主要在于两点

集群高可用架构

EasyOLAP 部署 CH 集群是三层结构:域名 + CHProxy + CH 节点,域名转发请求到 CHProxy,再由 CHProxy 根据集群节点状态来转发。CHProxy 的引入是为了让 Query 均匀分布在每个节点上,,并对 CHProxy 做了一定的改进,自动感知集群节点的状态变化。

708c9f429f4518c345b9e03f6ba83d08.png

八、多条件查询控制台

控制台比较简单,主要就是做一些 sql 语句查询,做好 clickhouse 的高效查询,这里简单提一些知识点。

做好数据的分片,如按天分片。用好 prewhere 查询功能,可以带来性能的提升。做好索引字段的设计,譬如检索常用的时间、pin。

细节难以尽述,要从百亿千亿数据中,做好极速的查询,还需要对 clickhouse 的一些查询特性有所了解。

下图界面展示的即为一些索引项,点击查看详情,则从数据库捞出压缩过的数据,此时才解压并展示给前端。查看链路,则是该次请求中,整个链路用户打印的 log(包括线程池内的)。

4942a8e410ec2aa5a1235d0bc701d3e8.png

842852683fc8dc69d35e79680193bdcd.png

九、总结与对比

我们可以简单地做一些对比,主要在于硬件成本和软件性能的对比。

4dc8185916ea25e3832b29f75237de00.png

从上文可知,磁盘的占用原始方案占用了磁盘(1 份),MQ(2 份),数据库(1 份)。而在新的方案中,磁盘的占用仅剩下 clickhouse 的(0.8 份),clickhouse 自身又对数据做了压缩,实际占用空间不到入库容量的 80%。

那么仅磁盘即可节省 75% 以上的存储成本。

大家都知道,秒级的吞吐量,是伴随着服务器 Cpu 的耗费的,并不是说只给个大硬盘,即可一台服务器每秒吞吐 1 个 G 的。每台服务器秒级的吞吐量是有上限的,秒级占用磁盘的上升,即对应 Cpu 数量的上升,要支撑一秒 1G 的磁盘写入,需要 5 台或以上的服务器。

25484bd525b23df3df98cd2a2e94541c.png

那么在磁盘的大幅节约下,线性地节省了大量的中间过程 Cpu 服务器。实际粗略统计效果,流程中服务器可节约 70% 以上。

在软件性能上,过程很好理解。对 Client 端的消耗主要就是序列化、写磁盘、读磁盘、反序列化这几步的消耗,Udp 则仅有一步序列化。我们假设 MQ 集群是有无限的写入能力,可以吞下所有的发过去的日志,那么就是 worker 端的消费性能对比。

从 MQ 拉取并消费,这个过程如果 MQ 没有积压,则有零拷贝在支撑高速的拉取,如果积压了,则可能产生大量的 MQ 磁盘 IO,拉取速度会大幅下降。这个过程效率会明显低于 Udp 发送到 worker 的处理效率,而且占用双份的网络带宽。实际表现上,worker 表现出的强劲性能,较之前单条拉取 MQ 集群时,消费性能提升在 10 倍以上。

本文到此就结束了,主要简略介绍了一个新的日志搜集系统(用户跟踪框架)的设计方案,以及该方案能带来的巨大的成本节省。相关代码日后会开源于 "gitee.com" 的京东零售账号下,届时有相关需求的同学可以加以关注。

-end-

相关推荐

GPT-6凌晨上线智能UI:智能UI时代的技术架构重构与应对之道

从命令行到图形界面,计算机行业用了三十年证明了同一件事:人类需要视觉的、空间的、可重复的交互表面,纯文字从来只是过渡形态。智能界面的出现,意味着AI行业第一次大规模承认了这个规律——对话是创造的接口,界面是使用的归宿。生成的界面如何稳定下来?个人的数据与身份如何安全地沉淀?Agent的行动能力如何可信地放大?谁能把这三个问题答好,谁就站在了Personal Agent图形界面时刻的浪潮之巅。

京东科技开发者 210

AI 会写代码之后,交付为什么还没变快?

AI 写代码,只是这场变革的起点,而不是终点。真正决定一个组织能否吃到 AI 红利的,不是"能不能用 AI 写出代码",而是敢不敢用 AI 重新设计交付流程、重新划分角色分工、重新组织团队结构。研发视角能把工具和个人推到极致,却会在组织的边界前止步;只有站上组织视角,把AI × 工具一路推进到AI × 组织,那些被 AI 照出来的摩擦,才会真正被抹平。国际技术部 Multi AI Native 想做的,正是这件事——让 Agent 成为你可靠的数字战友,让每一次迭代交付都快一个量级;

京东科技开发者 306

OxygenData-Vibe搭建:用 AI Coding重新定义数据看板搭建

长期以来,数据看板开发主要有两种方式:一种是使用标准化 BI 工具,交付快、成本低,但图表样式、交互体验和功能扩展都受限于 BI 本身的能力;另一种是自研定制开发,能够充分满足复杂和个性化需求,但需要投入大量研发资源,交付周期也更长。比如一个通过 BI 只需要 1 天就能搭建出来的看板,如果采用自研方式,可能需要投入 30 PD 的研发人力。既然 BI 交付这么快,为什么不把所有看板需求都交给 BI?原因在于,业务某些场景需要的不只是把数据展示出来。

京东科技开发者 365

当我谈数据库高可用时我谈些什么

大家都经常听到说数据库的双1,那双1指的是什么呢?参数=1(最安全)≠1(更快但可能丢)每次提交都把 redo 刷盘0/2:攒着刷,崩溃丢最近 1 秒每次提交都把 binlog 刷盘0/N:攒着刷,崩溃丢最近若干条"双 1"(都设为 1)= 单机不丢已提交事务的前提。生产核心库必须双 1;代价是每次提交两次 fsync。小结:单机层用 WAL 提速、用 2PC 保证 redo/binlog 一致、用崩溃恢复裁决半成品事务、用双 1 兜底持久性。

京东科技开发者 310

ScoAI:面向供应链的运筹原生决策智能

ScoAI 关注的并非 AI 能否进入供应链,而是 AI 参与供应链决策之后,哪些内容适合通过数据学习,哪些关系必须显式计算,以及哪些结果需要依据执行记录进行验证。其基本分工是:供应链业务定义问题、资源与行动后果,运筹学表达目标、约束和协同关系,AI 提供可复用的估计与判断。真正用于改进后续决策的,不仅是模型生成的初始结果,还包括实际采取的行动及其产生的业务反馈。

京东科技开发者 401

拆解海博 AI-Native 落地保障:海博团队 AI 知识库能力建设

绕了一大圈,回头看,我们其实一直在解开头那三个结:AI 读不懂系统、影响面靠人脑记、测试预期没处查。做到这里,本质上是把"AI 用不好"这个问题,从"是不是该换个更强的模型"重新定义成了"怎么把上下文经营好"。顺着这个思路,我们攒下了这么几样东西:•。

京东科技开发者 553

从零构建一个生产级记忆型 AI Agent —— AgentScope 项目全景技术与学习指南

domain 层端口接口(domain)职责适配器实现(infra)对话流水账读写经验记忆检索/落库请求级幂等四态会话元数据 CRUD会话级 Skill 选择态Skill 元数据HITL 权限网关(domain 内含逻辑,见第四篇)StreamSink技术中立的流式下沉(client 层桥接)以幂等端口为例,头部注释明确写道:实现 domain 端口,持有实体不出 infra 边界,对外只暴露嵌套视图GateResult。

京东科技开发者 609

数据涅槃:Agentic 重塑搜推数据生产体系

当前大模型已经能够理解需求、生成代码和解释错误,但数据生产的难点并不只是“写出一段 SQL”。一个需求还要经过数据源确认、口径澄清、加工编排、资源规划、任务提交、调度运行、结果交付和故障处置。任何一步缺少都可能让“看起来正确”的任务变成生产事故。

京东科技开发者 372

81.8 秒的视频,我们改了 15 个版本:一次纯 Codex 驱动的 AI-native 视频实践

81.8 秒、15 个版本,这些数字真正想说明什么?视频制作正在从一组专业软件里的复杂操作,变成一场围绕目标、参考和反馈展开的持续对话。AI 已经可以接住从脚本到交付的大量工作。你可以把精力留给更重要的部分:理解观众、选择故事、判断好坏。过去停在 PPT 和脑海里的想法,现在有机会被快速做成一支能看、能改、也愿意转发的视频。如果明天就要介绍你手头的项目,你最想先把哪一步交给 AI?

京东科技开发者 463

Codex 驱动的移动端AI全栈开发:从 Relay 原型图到可交付链路

AI 编程工具降低了跨端开发门槛,但“让 AI 写页面”并不等于“完成移动端交付”。PC 运营端页面通常以功能闭环为中心,设计约束较弱,研发可以基于组件库快速搭建;移动端 C 端页面直接面对用户,Relay 原型图和 UI 设计稿不仅是视觉参考,更是交互、信息层级、状态反馈和业务信任感的综合契约。

京东科技开发者 589

Claude Code vs Codex 记忆体系深度对比

Claude Code —— 分层自动记忆系统四层分层架构(CLAUDE.md / Auto Memory / Session Memory / AutoDream)构成自优化闭环,系统主动捕获、分类、去冗并跨会话接力经验。走的是自动化优先路线——让机器替人记忆、替人整理,以少量可控性的不确定换取强大的经验积累能力。Codex —— 声明式契约系统两层扁平架构(AGENTS.md 静态声明层 + 会话上下文层),记忆完全由人显式订立、显式修改,系统只读契约、绝不擅自变更。走的是可控性优先。

京东科技开发者 622

上游给空、下游拿到 -1,我把故障一直追到了 commons-beanutils 的构造函数

这篇手记是一份事后复盘,写在我们已经把修复推上线、把测试用例跑绿、把约束文档沉淀进团队库之后。非研发同事,可以直接从第八章开始看,前七章都是讲排障和代码分析。故障本身不复杂,修复也不复杂,但这次排查真正让我想写下来的,不是技术本身——而是从问题提报到解决全程AI的作用:问题定位:业务方反馈了一个异常单号说「下发失败」,一线运维同事直接在日志系统捞到相关的系统日志,用IDE打开下游代码库,把异常信息给到JoyCode——AI 直接指向了问题是serialType值非法,系统只接受0和1,而当前上游给的是-1。

京东科技开发者 718

SKill测评:谁才是真正的Skill之王?

巧合的是,阿里近期开源了一款名为 Skill-Up 的测评工具——它专门面向 Agent Skill 开发者,支持在 Claude Code、Codex、Qoder CLI 等真实 Agent Engine 环境中验证 Skill 的功能正确性,并可将失败用例转化为精准的修复指引,同时支持本地与 CI 环境的持续回归。2026年,Skill 的热度不减,已成为 AI 辅助编程领域的标配。在日常研发中,无论是沉淀个人经验,还是将团队的优秀范本标准化,将知识“蒸馏”为 Skill 已是大家的常规操作。

京东科技开发者 635

让AI真正参与工作!JoyDesk已上线京东云

JoyDesk提供覆盖AI资产管理、权限控制、安全策略、审批审计、运营监控等企业级治理能力,支持按组织、角色和项目进行精细化权限管理,并支持私有化部署,确保企业数据边界清晰、AI行为全程可追溯、安全策略灵活可配置,满足金融、政企等行业对数据安全和合规治理的要求,让AI真正成为企业可信赖的生产力。JoyDesk支持MCP协议、标准API、技能等多种开放接入方式,可快速连接企业现有业务系统,将业务能力封装为AI可调用的技能和专家,让AI能够理解业务流程、调用业务系统、完成业务任务,而无需改变企业原有IT架构。

京东科技开发者 668

【全栈实践】第一个 AI Agent 项目:从零搭建 AI 音频创作助手【最终版】

这个项目展示了AI Agent 在垂直内容创作领域端到端自动化:从内容理解到播客输出,全流程 AI 驱动多模态融合:文字、图片、音频、视频统一处理专业级音频质量:音色设计 + 智能混音,输出广播级品质低门槛使用:可视化配置 + 自然语言交互,无需技术背景。

京东科技开发者 560

【全栈实践】第一个 AI Agent 项目:从零搭建 AI 音频创作助手(高级篇)

这是一个 AI 驱动的播客创作助手,专注于从文字/视频/音频内容识别到播客制作的全流程。你可以用自然语言与它对话,也可以上传视频和音频,它会理解意图、调用相应的语音合成工具,把他们变成真实的播客音频。

京东科技开发者 727

【全栈实践】第一个 AI Agent 项目:从零搭建 AI 音频创作助手(进阶篇)

这是一个AI 驱动的音频内容创作助手。你可以用自然语言与它对话,它会理解意图、调用相应的语音合成工具,把文字变成真实的播客音频,并保存在本地。关于项目的详细介绍见第一篇文章:第一个 AI Agent 项目:从零搭建 AI 音频创作助手(入门篇)这篇文章更多介绍进阶篇添加的功能。

京东科技开发者 550

【全栈实践】第一个 AI Agent 项目:从零搭建 AI 音频创作助手(入门篇)

这个项目让我第一次把前端、后端、AI Agent 三块内容独立串联起来。技术选型上每一块都是当下主流的方案,实际跑通整条链路之后对"全栈"有了更具体的感受。框架版本要锁定:LangChain 这类快速迭代的框架,版本差异带来的问题远比你想象的多先跑通链路,再追求完美:新手阶段能把用户输入 → AI 处理 → 结果展示这条链跑通,比深入某个技术点更有价值多看官方文档:相比博客和教程,官方文档更新及时,特别是 LangGraph 这种新框架后续计划继续迭代,欢迎交流!

京东科技开发者 609

ICLR 2026 | 面向序列决策的贝叶斯集成方法

在这篇工作中,我们关注的是。

京东科技开发者 296

ICML 2026|NaviAgent:面向 Oxygen 智能体的可扩展工具编排

大型语言模型(LLM)越来越多地作为函数调用代理,调用外部工具来处理超出其静态知识范围的任务。然而,它们通常一次只调用一个工具,缺乏对任务结构的全局视图。由于工具之间往往相互依赖,这会导致错误累积和可扩展性差,尤其是在扩展到数百或数千个工具时。为了解决这些局限性,我们提出了NaviAgent,一种显式的双层架构,它通过基于图的工具关系建模将任务规划与工具执行解耦。在规划层,基于 LLM 的代理决定是直接响应、澄清意图,还是检索并执行一个独立于工具间复杂性的工具链。

京东科技开发者 388

实测 9 款 AI 架构图工具:从 Mermaid 美化到 GPT-Image2,一份选型清单

支持 5 类图(架构图、工作流图、时序图、数据流图、生命周期/状态机图),主题 4 种(Classic、Signal Flow、Blueprint、Editorial)+ 3 种色彩模式(Dark / Light / System Auto),输出格式含 HTML、PNG、SVG、WebM、Share Card PNG、JSON IR。它把提示词图库、图像生成案例、参考图编辑流程和命令行工具整合在一起,让 AI Agent 能直接调用 GPT Image 2 模型完成文生图、图生图、参考图编辑等任务。

京东科技开发者 904

别再守着 Claude Code 了——学会指挥它自主干活

回到开头那句:别再一句一句地喂它、然后守着屏幕。真正的用法是——把一件事想清楚、划好边界、给它一个能自我验证的目标,然后交出去。你会发现,省下来的时间不是一点半点。把重复的判断和执行还给机器,把真正需要你的判断留给自己。

京东科技开发者 586

CVPR 2026|Oxygen XR 团队在原生鱼眼高斯泼溅技术上带来新突破

京东零售技术团队联合清华大学提出DirectFisheye-GS框架,创新性地将鱼眼相机模型原生嵌入3D高斯泼溅管线,通过跨视角联合优化策略直接处理鱼眼图像,避免了传统去畸变预处理导致的信息损失。该方案在多个公开数据集上达到SOTA性能,有效解决了单视角优化引起的几何畸变和视角不一致问题,同时保持与现有3DGS工具链的兼容性。技术已应用于电商3D重建和4D体积视频等场景,显著提升了沉浸式体验。相关论文被CVPR 2026接收,为宽视场场景重建提供了高效解决方案。

京东科技开发者 355

拆解海博 AI-Native 落地保障:Harness、双 Loop、知识库与技能自主迭代实践

海博研发RoadMap 的落地,彻底终结了 AI 编程“对话式玄学”的旧模式,真正落地了AI Native 研发工程化。它证明 AI 规模化赋能研发的核心,不在于堆砌大模型能力,而在于用工程思维重构 AI 的工作范式:用结构化流程替代随机对话,用固化规则约束模型行为,用持续沉淀实现能力复利,用分层架构支撑规模化落地。

京东科技开发者 638

让 AI 快速「读懂」你的代码仓:Joy-Code-Graph 云端图谱服务的三次进化

代码知识图谱不是要取代 AI 的智能,而是要补齐它对代码全局关系的认知盲区。当 AI 能一眼看清「谁调用了谁、改动会波及哪里」,它写出的代码才真正靠谱;当这份认知安全地留在自己手里、随时被 Joygen 调用、并且永久沉淀在代码仓里——AI 编程的体验,才算真正上了一个台阶。这,就是我们做 Joy-Code-Graph 云端服务的初衷。能力共享,数据自主;一次建图,长期受用。

京东科技开发者 751

【Coding生态】从代码托管到 AI 能力底座:与Coding一起共建 AI 研发生态

前两种框架能够很好地支撑对话式能力和预设流程式能力。它们适合基于提示词或预设工作流完成研发问答、知识查询、流程编排等任务。但在更复杂的研发场景中,仅仅“回答问题”还不够。当用户业务逻辑复杂时,一旦场景进入真实落地阶段,例如下载代码、修改文件、执行命令、安装依赖、运行测试、读取完整代码文件,或者与自有系统联动、将结果渲染到 Coding 页面、推送到京 ME,AI 应用需要的不只是知识能力,还需要真实的代码库操作能力和独立可执行环境。

京东科技开发者 768

GPT-5.6、ChatGPT Work 与 Codex 更新食用指南

三档模型当前都提供 1,050,000 tokens 上下文、922,000 tokens 最大输入和 128,000 tokens 最大输出,接受文本与图像输入、输出文本,并支持 web search、file search、Computer Use、MCP、Tool Search、Skills、Apply Patch 等工具。Work 可以读取你提供的文件,通过插件连接 Slack、Google Drive、SharePoint、邮箱、日历、CRM 或项目系统,调用获批工具,并在执行中展示进度。

京东科技开发者 868

把业务流程沉淀成高质量 Skill 的实践路径

使用Record & Replay创建的Skill,尽管创建流程简单,但它的本质实际是让 AI 去操作页面,这不但有可能影响我们对电脑的操作,还有可能无法稳定复现。创建Skill时,可以使用 Codex 的 Record & Replay 插件,把一次手工操作录下来,再让 AI 生成可复用流程。刚开始切换时,很容易遇到接口报错,可以让Codex排查原因进行优化,直到可以稳定执行;补充相应业务背景,说明这件事为什么要做,谁会用,输入从哪来,输出给谁看。电脑休眠、关机、软件没开时,本地任务可能无法执行。

京东科技开发者 835

政企前台AI-Agent的架构实践:打造可复用的 AI 服务平台-【灯塔计划】

不止是爆火的龙虾,还是各种Skills,MCP、Agent,脱离的具体的场景谈方案,最后只会是一场空。这一套可复用的 AI 服务平台,截止目前,通过前后端对接规范文档,多项能力已快速接入到各个场域的不同端平台,大幅降低研发成本, 并且各业务线新场景的接入从原来的 “开发驱动” 转为 “配置驱动”,接入周期从天维度缩短至小时级。

京东科技开发者 864

京东 Oxygen xLLM 大模型推理引擎正式捐赠开放原子开源基金会,共建国产 AI Infra 生态

下一阶段 AI 基础设施的核心命题,不是简单的算力堆叠,而是让工程本身变得智能——让调度系统能自主感知负载特征并动态优化,让推理引擎能根据模型结构和硬件特性自动生成最优执行方案,让整个 AI 工程链路具备自感知、自决策、自优化的能力。未来,Oxygen xLLM 的项目官网、社区沟通渠道及微信社区将陆续向开发者开放,诚邀芯片厂商、模型厂商、云厂商、企业用户及个人开发者共同参与,让国产大模型推理引擎在开放生态中加速成长。硬件层,原生支持 GPU / NPU / MLU 多类 AI 芯片,深度适配国产芯片。

京东科技开发者 1005
上一篇: 玩转服务器之Docker篇:10分钟学会搭建 Docker 环境
下一篇: 【数据中台商业化】数据中台微前端实践
京东云开发者
京东云开发者 企业官方账号 企业官方账号
博客等级 码龄8年 1万+粉丝 2140原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值