Late
面向长程任务的本地模型 AI 编码代理:64k 上下文窗口内完成 20 万+ token 的工作,让同一个模型表现得更聪明。
- Star 数
- ★ 446
- 最近更新
- 今天
- License
- NOASSERTION
- 主语言
- Go
- FA 评分
- 50/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 只有 5GB 显存/消费级 GPU 的开发者,想在本地 35B-A3B 级量化模型上运行完整开发团队式的多代理工作流
- 不适合
- 希望直接在代码库中逐步编辑、不想采用强制委派编排工作流的开发者
- 需要将编排引擎包装成付费服务并对外销售的商业基础设施提供方(受许可证限制)
- 源码审查
- 50/100 · 缺口较多
这个 Agent 能做什么,适合哪些场景?
Late(仓库 mlhher/late-cli)是一个用 Go 编写、静态编译为单一二进制的终端 AI 编码代理,零运行时依赖,启动时间低于 10 毫秒。它的核心论点是:长上下文模型在上下文利用率超过 40–50% 时推理准确率会显著下降,因此 Late 将编排与执行在架构层面强制隔离——Lead Orchestrator 只做规划与验证,物理上没有文件写入工具、无法绕过委派;临时的 Coder 与 Researcher 子代理在隔离上下文中执行原子任务,完成后其嘈杂的草稿即被丢弃,只向编排者返回结构化高信号报告。这使得 64k 上下文窗口内可以完成累计 20 万+ token 的工作。Late 完全模型无关:零配置连接本机 llama-server(端口 9931),也可通过环境变量接入 DeepSeek、Claude、GPT、Kimi、GLM、OpenRouter 等云提供商。此外它内置基于 EMNLP 2025 研究的实时 logit 偏置以抑制冗余思考 token、原生 rootless 容器沙箱(late-podman)、插件/MCP/Agent Skills 支持、Git worktree 并行实例,以及完整的可审计子代理历史。
用户在项目目录运行 late 后,Late 进入交互式终端会话并自动规划任务。其执行流程为:Lead Orchestrator 先做计划式分解,把任务拆成原子、可验证的步骤;然后生成临时的 Coder 或 Researcher 子代理到隔离上下文中执行;子代理使用精确的行范围指令(而非整段 AST)进行搜索、读取与 search/replace 精确差异编辑,失败时自动自愈;任务结束后子代理上下文被销毁,仅结构化报告回传给编排者。Late 通过 llama-server 对推理模型施加实时 logit 偏置,压制 "Wait…"、"Hmm" 等冗余自我反思 token。它还提供:/model 在线切换编排者与工作者模型、/compose 在 $EDITOR 中起草多行指令、/rewind 可视化回滚会话状态、late --prompt "..." 供脚本调用、late-podman 在 rootless 容器中无人值守运行、子代理对话记录持久化到磁盘供审计、内嵌 cl100k BPE 离线分词器、尊重 .gitignore/.llmignore 的代码搜索,以及 MCP 服务器、第三方 Agent Skills 和带生命周期钩子(onSessionStart、onMessageSend、onToolCall、onToolResult)的插件系统。
- 只有 5GB 显存/消费级 GPU 的开发者,想在本地 35B-A3B 级量化模型上运行完整开发团队式的多代理工作流
- 需要自主解决跨 6 个文件的交织合并冲突、重复逻辑与回归等长程任务,而单一代理轨迹会因上下文污染而失败的场景
- 想在夜间让代理在大规模重构上无人值守运行、且不冒险宿主机的工程师(late-podman rootless 容器 + yolo mode)
- 希望在编排上使用前沿推理模型、执行上路由到快速廉价工作模型的团队(混合路由 /model 切换)
- 对 Node.js/Python 代理启动慢、系统提示臃肿、默认遥测不满、想要即时启动且零遥测 CLI 的用户
- 需要多分支并行运行独立代理实例且上下文互不污染的维护者(Git worktree 支持)
如何安装或部署这个 Agent?
通过 Homebrew(Linux/macOS)安装:
brew tap mlhher/late && brew install late或使用通用回退脚本(Linux / macOS / Windows WSL):
curl -sfL https://raw.githubusercontent.com/mlhher/late-cli/main/install.sh | bash也可从 GitHub Releases 手动下载 Linux、macOS 或原生 Windows 二进制。Late 是单一静态编译二进制,无 Python venv、无 Node.js 依赖。许可证为自定义条款:免费用于(含商业)项目编码,但不得将 Late 本身包装为付费服务;2030 年 2 月 21 日起转为 GPLv2。
如何使用这个 Agent?
本地模型零配置——将 llama-server 指向任意 GGUF 模型,Late 自动连接默认端口 9931:
cd your-project
late使用云提供商(DeepSeek、Claude、GPT、Kimi、GLM、OpenRouter)时设置环境变量:
export OPENAI_BASE_URL="your-api-url"
export OPENAI_API_KEY="your-api-key"
export OPENAI_MODEL="model-name"常用命令:late --prompt "..." 以预置提示启动会话;会话内 /model 切换编排者与工作者模型,/compose 在 $EDITOR 中起草指令,/rewind 回滚会话状态;late-podman 在 rootless 容器沙箱中以 yolo mode 无人值守运行。插件通过 late plugin install <package> 安装。
这个 Agent 有哪些优点和局限?
- 架构级强制隔离:编排者物理上没有文件写入工具、Bash 改库命令被屏蔽,无法绕过委派,子代理也不能递归生成代理——这种硬边界无法用第三方插件复制
- 把上下文容量变成算力问题:本地或廉价推理下可消耗远超单轨迹的聚合推理量,实测 35B-A3B 3-bit 量化模型完成 20 万+ token 的 6 文件合并冲突修复
- 原生 Go 单二进制,启动 <10ms,系统提示约 1000 token,无遥测,KV 缓存零失效的确定性前缀设计
- 基于 EMNLP 2025 研究的实时 logit 偏置,通过 llama-server 削减 27%–51% 的 CoT 冗余 token 而不损失准确率
- 模型完全无关:本地 llama-server 零配置,云端通过 OpenAI 兼容环境变量接入;原生支持 MCP、Agent Skills 与多语言插件
- 无法直接编辑仓库的编排者意味着需要接受"先分解后委派"的强制工作流,习惯单体代理直接改码的用户有迁移成本
- logit 偏置依赖 llama.cpp/llama-server,仅对本地推理路径生效(效果因模型而异);云端路径无法享受该优化
- 容器化无人值守依赖 Podman(late-podman),沙箱工作流需额外安装与学习
- 许可证为自定义条款而非标准开源许可:不得将 Late 本身商业化包装,2030 年 2 月 21 日才转为 GPLv2
- 宣称的 200k+ token 成果来自作者自己的本地测试(35B-A3B 模型),第三方独立验证证据有限
这个 Agent 与同类方案有什么区别?
README 直接将 Late 与 Claude Code、Codex 及标准单体代理对比:单体代理允许主代理把代码扫描、编译错误、失败补丁和重试吸收进同一条持续增长的轨迹,委派是可选的;Late 则在架构上强制隔离,并宣称在本地 LLM 工作流上超越 Claude Code 与 Codex(作者发表的评测文章)。其他工具虽有子代理,但属于可绕过的可选路径,而非 Late 的物理工具命名空间剪枝。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Late 当前 | 50 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 446 | 今天 | Go | OpenAI API |
| Oh My Pi | 54 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 36k | 今天 | TypeScript | Codex · OpenAI API · Claude API |
| VT Code 终端编码智能体 | 66 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 881 | 今天 | Rust | OpenAI API |
| Tura | 65 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 661 | 12 天前 | Rust | — |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
README 声称编排器无文件写工具、禁用改库 bash 命令、子代理无编排工具,并内置 rootless podman 沙箱(late-podman 测试验证了容器参数、bind 挂载与权限传递),最小权限描述有部分结构支撑,故给 2;但容器默认 --network=host,削弱隔离。用户确认仅见 '--i-promise-i-have-backups' 之类的免责标志和 yolo 模式,未见执行前确认机制,给 1。子代理历史落盘为 opt-in 是好迹象但细节全在描述里,给 1。API key 通过环境变量传递、env 直通容器,无脱敏/密钥保护说明,给 1。CI 含 govulncheck 且依赖版本锁定,给 2。代理默认可直接改动宿主仓库,沙箱是可选流程,给 1。/rewind 回滚仅是 README 功能声明,给 1。 Licensor 为 mlhher,身份未经验证,给 1。
README 叙述自洽、架构论证一致,给 2;Go 依赖固定版本、声称单二进制零运行时依赖,给 2;测试脚本断言 '--image requires an argument' 等错误输出,且 README 称编辑失败会 fail loud、文件不静默损坏,给 2。但全部为静态审阅,未执行验证。
目标用户(本地小模型、长任务开发者)和场景描述清晰,支持多云/本地/多平台构建,给 2;能力边界仅靠 'varies by model' 一类含糊限定,无明确不适用说明,给 1;触发精度无证据(CLI 交互为主,插件钩子仅列举),给 1;环境适配(llama-server :9931 自动发现、Homebrew、Windows/macOS/Linux 发布矩阵)证据充分,给 2。
README 结构清晰、双语、链接 Quickstart/FAQ,给 2;安装说明覆盖 brew、curl、手动二进制,给 2;命名一致(late / late-cli / late-podman),给 2;FAQ 详尽但缺具体命令示例与 FAQ 之外的样例项目,勉强给 2;已知限制几乎未披露(仅 'may vary'),给 1;LICENSE 为 BSL 1.1,条款明确(2030 转 GPLv2),给 2,但元数据 NOASSERTION 与实际许可不一致,商业限制对集成方是实质约束;有 release 流程与版本注入但无 CHANGELOG,给 1;维护者身份、更新路径不明,CI 与发布自动化是唯一维护证据,给 1。
输出可用性(结构化子代理报告、精确 diff)仅为声明,未见代码或样例输出,给 1;边际价值:'编排器上下文隔离' 架构相对单体代理有明确差异化主张,给 2;成本收益(本地推理替代大上下文、启动 <10ms)论证充分但未验证,给 2。
引用了两篇论文(EMNLP 2025、arXiv),但其中一篇标注 'arXiv 2026: 2601.15300',编号指向未来日期,真实性存疑,给 1;性能结论(200k+ tokens、45% collapse)全部自报,引用语来自 Reddit/GitHub Discussions,无独立佐证,给 1;营销断言与事实陈述大量混排、未区分实测与推断,给 1。核心 Go 源码未在证据中,无法核验架构声明。
- 许可为 BSL 1.1 而非开源许可:禁止将 Late 本身货币化或包装为商业服务,2030 年才转 GPLv2;仓库元数据 NOASSERTION 与实际许可不一致,集成前务必法务确认。
- README 引用的 'arXiv 2026: 2601.15300' 编号指向未来日期,引用真实性存疑,性能结论(200k+ tokens、45% collapse)均无独立验证。
- 代理默认可修改宿主项目文件;沙箱(late-podman)需主动使用,且容器默认 --network=host,主机网络可达,敏感环境中需自行收紧。
- yolo 模式与 '--i-promise-i-have-backups' 标志暗示无确认即执行改动;API key 经环境变量直通容器,注意泄露面。
- 核心 Go 源码未在本次证据范围内,架构强制隔离等关键声明仅为 README 表述,未静态核验。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
Features: * Readable approval prompt by @mlhher in https://github.com/mlhher/late-cli/commit/c29749c * Tool results in transcript by @mlhher in https://github.com/mlhher/late-cli/commit/884b952 * Inference stats by @mlhher in https://github.com/mlhher/late-cli/commit/89d8552 * At file completion by @mlhher in https://github.com/mlhher/late-cli/commit/531cc7c * Worker token count by @mlhher in https://github.com/mlhher/late-cli/commit/75b8c8e * Context-exhaustion safeguard by @Emasoft in https://github.com/mlhher/late-cli/pull/148 Fix: …在 GitHub 查看 ↗ -
发布说明摘录
Features: * feat(build): stamp commit, build number, and date into the binary by @Emasoft in https://github.com/mlhher/late-cli/pull/143 Fix: * fix: config.json errors are surfaced, named, and never overwritten by @Emasoft in https://github.com/mlhher/late-cli/pull/134 * fix(tui): route mid-session diagnostics through the TUI, never raw stderr by @Emasoft in https://github.com/mlhher/late-cli/pull/140 * fix: ctrl-d delete by @mlhher in https://github.com/mlhher/late-cli/commit/87e5498b1c99cbd68e6d0f36a5d5ec932ec48098 …在 GitHub 查看 ↗ -
发布说明摘录
Features: * Feat/subagent history by @jpia in https://github.com/mlhher/late-cli/pull/110 * feat(plugin): universal plugin system — OMP and Claude Code compatibility by @giveen in https://github.com/mlhher/late-cli/pull/105 * feat: resilient LLM streaming & recovery, --continue-project, grouped help by @Emasoft in https://github.com/mlhher/late-cli/pull/127 * feat: performance optimization and tui theme by @mlhher in https://github.com/mlhher/late-cli/pull/121 * feat: podman sandbox by @mlhher in https://github.com/mlhher/late-cli/pull/116 …在 GitHub 查看 ↗