Prhub

radixark/miles

Miles is an enterprise-facing reinforcement learning framework for LLM and VLM post-training, forked from and co-evolving with slime.

监控状态:已开启 最近同步:2026-09-17 11:45 同步状态:空闲 下次计划:2026-09-17 12:45

PR 列表

更多筛选
2026-09-04

#1987 Move PortAllocator into miles.utils.workers

原始 PR · 作者 fzyzcjy · 合并时间 2026-09-04 13:39

重构 重要性 6.77 洞察度 3.00

将端口分配器移动到通用工作器模块,统一代码组织。

**推荐**:此 PR 值得精读,但重点不在于复杂的逻辑变更,而在于它作为 **良好重构实践** 的示范。它展示了在大型代码库中如何进行一个干净、低风险的模块迁移:1) 明确迁移范围;2) 系统性地更新所有依赖;3) 同步迁移并配套测试;4) 通过评审确保无遗漏。对于正在参与或维护类似大型重构项目的工程师,关注此类 PR 的执行模式(迁移步骤、文件覆盖、测试配套)比关注具体代码逻辑更有价值。

重构 重要性 8.36 洞察度 7.00

禁止 Ray actor 构造使用位置参数,强制关键字传参并添加测试保障。

此PR值得精读。它不仅是一个简单的风格重构,更是构建健壮抽象层(Worker Spec)的关键基础设施。其价值体现在:1) 设计上通过测试驱动契约建立,体现了防御性编程思想;2) 为后续大规模重构(如自动生成actor启动代码)扫清了障碍。建议精读时重点关注:a) 如何通过测试(`inspect`模块)来“测试契约”本身,而不仅是测试功能;b) 遗留的未改造actor(`_PrometheusCollector`, `_HttpPosterActor`)所带来的技术债务,以及如何在后续PR中规划修复。

#1952 Expire finished calls that were never retrieved

原始 PR · 作者 fzyzcjy · 合并时间 2026-09-04 13:31

缺陷修复 重要性 7.44 洞察度 5.50

为已完成但未检索的 RPC 调用记录添加 12 小时的自动过期,解决内存泄漏。

该 PR 是一个清晰、聚焦的 bugfix,修复了实际存在的内存泄漏问题。实现方案简洁,测试覆盖全面。值得相关模块(RPC 服务器、存储)的维护者精读,特别是其中关于 TTL 判断逻辑的设计(`_is_live` 方法)。

功能 重要性 8.23 洞察度 7.00

新增轻量级启动入口,在 RPC 服务器导入前计算工作器环境变量,并通过 exec 替换进程保持 PID 不变。

**值得精读**。该 PR 是对系统启动架构的一次有意义的改进,引入了清晰的职责分离(环境变量计算 vs. 服务器启动)和进程替换模式。它解决了一个实际的工程问题(在服务器导入前配置环境)。建议重点关注以下设计决策: 1. **`--` 参数分隔符**:清晰的协议,允许入口点和工作器使用不同的参数空间。 2. **`execve` 进程替换**:保持 PID 的优雅实现,优于 `subprocess`。 3. **`import_probe` 测试**:一个创新且有价值的测试模式,用于强制执行启动阶段的轻量化。这个模式值得在其他需要快速启动的系统中借鉴。 4. **遗留问题**:必须正视并解决 Reviewer 提出的日志敏感信息泄露和 Python 标志丢失问题,尤其是前者涉及安全。建议在后续 PR 中优先处理。

#1950 Support non-finite floats across the wire

原始 PR · 作者 fzyzcjy · 合并时间 2026-09-04 13:27

缺陷修复 重要性 7.81 洞察度 4.00

引入 _NonFiniteFloatCodec,修复 NaN/Inf 在 RPC 线上丢失的问题。

该 PR 值得精读。其核心设计——通过引入一个轻量级递归编解码器来处理 JSON 序列化的固有缺陷——清晰、有效且可扩展。实现集中、测试完备,是处理类似数据完整性问题的优秀范例。关注点应放在 `_NonFiniteFloatCodec` 的递归实现和其在 `RpcSerializer` 中的无缝集成上。

重构 重要性 8.74 洞察度 8.00

通过启动 UUID 绑定客户端到特定服务器进程,防止服务器重启后客户端状态丢失。

这是一个设计精良且测试充分的重构 PR,**强烈建议精读**。其核心价值不仅在于解决了具体问题,更在于展示了一种处理分布式系统中进程身份与状态一致性的优秀模式:通过无状态协议头传递、客户端状态记忆和服务端守卫的协同工作,实现了轻量而可靠的故障检测。特别值得关注 `BootUuidPin` 的状态机设计及其与传输层 (`RpcTransport`) 的无缝集成方式。大量高质量的单元测试和端到端测试(尤其是模拟进程重启的测试)也值得学习和借鉴。

缺陷修复 重要性 7.50 洞察度 6.00

RPC 调用存储拒绝重复 call_id,返回 409 而非重复执行工作。

该 PR 值得精读。虽然源码变更量小(+12/-2 行核心代码),但它修复了 RPC 调用存储的一个重要正确性问题——重复 call_id 导致重复执行。变更方案设计简洁:在最底层(store)抛出语义化异常,在中间层(core)转换为 HTTP 响应,符合关注点分离原则。测试覆盖极为全面(从 store 单元测试到 154 行 e2e 测试),测试用例设计有学习价值,特别是并发去重和 in-flight 去重的场景。该 PR 是 RPC 子系统规范化进程中的一个关键节点,与 #1948(boot uuid 绑定)、#1952(过期清理)等 PR 共同完善了调用生命周期管理。

重构 重要性 8.48 洞察度 8.00

重构 RPC 客户端轮询为长轮询,提升调用响应速度和系统健壮性。

这是一个高质量、经过深思熟虑的重构 PR,建议**仔细阅读**。核心变更集中在 `miles/utils/workers/rpc/client/call.py` 的 `_poll_once` 方法,其设计(预算感知、异常分类、服务端超时夹紧)非常精巧。配套的测试充分且具有教育意义,尤其是 `fake_transports.py` 中测试替身的设计。该变更对系统性能和可靠性的提升是实质性的,是 RPC 模块演进中的关键一步。

参与讨论