Instagram Direct 将其 Android 用户界面从旧版的 Android View 系统迁移到了 Jetpack Compose,从而 创建了一个 AI 原生的用户界面代码库 ,使 AI 编码代理更容易理解、修改和维护。
据 Instagram 工程师称,这次迁移使用户界面的代码量减少了 50%,并将每个 AI 代理会话的 token 成本降低了 33%。
Instagram 工程师提出的一个关键观点是:“设计 AI 原生架构带来了显著的收益”。
与其采取零敲碎打的方式(要求开发人员逐个迁移各个组件),不如把重点放在评估底层架构是否便于生成正确的实现方案上。
事实上,正如他们指出的那样,“AI 工具往往会选择阻力最小的路径”,这很可能导致“隐蔽的 Bug、技术债务和性能退化”。
Instagram 的工程师们解释道,面向 AI 优化代码库,意味着在状态管理、可预测行为以及开发模式方面建立起正确的架构边界,从而使 AI 代理的“最小阻力路径”成为通向最佳转换效果的路径。
他们的目标并非简单地让 AI 来弥补设计上的缺陷,而是基于对 AI 代理实际如何修改代码的理解来设计代码库: AI 代理天生会选择阻力最小的路径,因此,在设计的时候就应该确保该路径最终生成正确且高质量的代码,同时让拙劣的设计决策难以实现且代价高昂。
另一个关键原则是最大限度地减少上下文依赖。
也就是说,让 AI 代理不再依赖于特定代码库的知识,而是优先采用经过验证的最佳实践和熟悉的模式,从而帮助它们生成更可靠的结果。
这次迁移在不影响整个团队正常工作的前提下顺利完成,工程师能够在迁移期间继续发布新功能。
AI 辅助工作流已经实现了标准化,这促进了一致性,并且可以确保与团队内部通用的架构规范和最佳实践保持一致。
通过这种方法,迁移到 Jetpack Compose 使 UI 代码量减少了 50%,同时将 AI 代理的执行时间缩短了 35%,每个代理会话的 token 成本降低了 33%,工程师与代理之间的交互次数减少了 32%。
一个主要的挑战是确保迁移不会导致性能退化。
团队重点关注了三个关键的生产指标:交互响应时间,即打开屏幕后到其可用的时间;完全加载时间,即所有屏幕内容加载完成的时间;以及滚动性能,即衡量屏幕内容滚动的流畅程度。
🔗 原始来源
如果你要核对细节,可以再看原文: InfoQ AI原文链接