把 agent 的配置锁进一个文件
Union.ai 把 lockfile 的思路搬到 agent 上:模型、MCP 服务、技能、配置写进一个带哈希的文件,换机器一条命令复原。它锁住了什么,又没锁住什么。
「我这儿能跑,你那儿不行。」这句话在过去十年里靠 lockfile 解决了一半。现在有人想用它解决 agent 那一半。
一、发生了什么
2026 年 10 月 21 日,Union.ai 开源了 hlock,版本号 0.5.0,Apache 2.0 许可,内核用 Rust 写,通过 PyPI 和 crates 分发。项目自己标注还在早期开发阶段。
它做的事情是:把一个 agent 跑起来所需要的东西——用哪个 harness、调哪个模型、连哪些 MCP 服务、装哪些技能、配置怎么写——全部记录进一个叫 harness.lock 的文件,内容带哈希,密钥只留占位符。能被记进锁文件的 harness 清单很长,Claude Code 和 Cursor 在列,Codex 与 Pi 也在,OpenCode、Gemini CLI 同样支持。
四条命令对应四个动作:pin 记录当前环境,sync 在另一台机器或 Docker 里复原,launch 在锁定后的环境里开一个隔离会话,audit 检查完整性、隐藏字符和泄露的密钥。团队还可以把每个人自己的 lock 提交上去,让别人一键试你的配置;另有一个 eval 命令,能按项目生成对比用的测试任务。
二、跟你有什么关系
带团队的人:新人配环境的半天,和「为什么他跑出来不一样」的争论,是这类工具最直接的收益。锁住 harness 版本,至少能排除掉「工具链不同」这个变量。
做 agent 评测的人:评测结果不可复现,八成是因为没记录清楚当时用的是哪版 harness、哪个模型、哪些工具。一个 lock 文件就是一份实验记录。
关心安全的人:audit 里那项「隐藏字符」检查值得单独说。技能和配置文件里塞入不可见字符,是这两年被反复提到的投毒手法,靠人眼看不出来。
三、怎么用
读到这儿,可以顺路看 电脑操作 agent 干完活,谁来验货 读完能了解电脑操作型 agent 的任务完成度为何难自动核验:老办法只看局部画面,新思路让验证器自己动手探索取证,在线离线都能用,做 agent 数据与评测的人值得看。- 先在一个人身上试。找团队里配置最复杂的那个人,跑
pin,看生成的 lock 文件是否完整。缺项说明有东西没被纳管。 - 把密钥挪出去。确认 lock 里只有占位符,真值放在环境变量或密钥管理里。这一步不做,别提交。
- CI 里加一条
sync冒烟测试。每次改动 harness 配置,就在干净容器里复原一次,跑一个最小任务。复原失败比跑分下降更值得报警。 - 给每个 lock 配一句说明。谁在什么场景下为什么这么配。文件能锁住版本,锁不住意图。
四、三个别信的说法
「有了 lockfile,agent 的行为就可复现了。」 锁住的是配置,不是模型。同一个模型名背后可能换过权重,服务端的采样也可能变。lock 能排除一类变量,不能排除全部。
「这是 npm 那种成熟的依赖锁。」 差别很大。npm 锁的是有版本号、有哈希、有仓库的包;agent 的 harness 很多是滚动更新的命令行工具,模型更是远端服务。项目自己也说在早期阶段,别按成熟工具的标准去期待。
「锁死版本就等于安全。」 锁版本只是让你知道自己在跑什么。真要安全,还得配上审计、最小权限和人工复核,audit 查得出隐藏字符,查不出逻辑上的后门。
五、一句话结论
agent 工程的混乱,一半来自不可复现;hlock 只解决这一半,但这一半最值得先解决。
信息来源
- 开源 agent 工具日报(含 hlock 条目),2026 年 10 月 22 日
- hlock 代码仓库,2026 年 10 月
功能与价格以官方公告为准。本文写于 2026 年 10 月 23 日。
每周一封,只发新教程和可复制模板。不发广告,随时退订。