DX

开发者体验,即代码库及其工具链能在多大程度上帮助人类轻松完成高质量工作。良好的 DX 包括快速反馈、清晰的错误信息、能够回答实际问题的文档,以及一次就能成功的环境配置。这个词远早于 AI 编程出现;它被收入本词典,主要是为了与 AX 对照。

DX 只描述人类与代码库之间的交互。两类使用者的主要区别在于,人类是有状态的,而 Agent 是无状态的。人类只需学习一次代码库,之后每天都能沿用这些知识,因此较差的 DX 尚且可以忍受:他们可以减少推送频率、批量提交来绕过缓慢的 CI;可以在 Slack 里问一次,弥补文档缺失;也可以记住各类内容的位置,适应混乱的结构。这些变通方法不断积累,最终团队即使面对一个处处掣肘的代码库,也仍能保持效率。

Agent 面对同一个代码库时,没有任何这种积累。由于不同 Session 之间是无状态的,Agent 每次都要从头重新了解代码库。快速的测试套件和清晰的错误信息对它同样有帮助,但它昨天弄明白的任何事情,除非写入环境,否则今天都会消失;而 Agent 只能通过工具结果感知环境。AX 指的正是这个缺口:当开发者换成 Agent 时仍然有效的 DX 部分,再加上人类不需要考虑的问题,例如保持上下文窗口充裕。

由于二者存在重叠,改善 DX 往往也会顺带改善 AX:严格类型、快速测试和可预测的结构对双方都有帮助。但二者的差异也意味着,情况并非总是如此:一份精美的入职文档可以帮助人类一周,但如果无法从 Agent.md 访问,对 Agent 就毫无帮助。

用法:

“我们的 DX 没问题——新员工一周内就能高效工作。”

“那是因为这一周里一直有人带着他们。Agent 没有这一周;AX 要单独检查。”