更小的自包含单元:编写 AI 能够使用的代码

发布: (2025年12月5日 GMT+8 09:55)
6 min read
原文: Dev.to

Source: Dev.to

引言

随着 AI 在软件开发中扮演的角色日益增多,一个重要问题随之出现:软件应该如何构建,才能让 AI 工具发挥有意义的作用?现代 AI 系统可以协助编码和重构,但当代码库庞大且各部分相互依赖时,它们往往会遇到困难。即使未来的模型能够以更低成本读取更多上下文,将软件塑造成一组更小、独立的单元仍具有实际价值。

更小的自包含单元的好处

AI 工具在处理范围狭窄且定义明确的区域时通常表现更佳。这通常意味着:

  • 单一明确的职责
  • 对其他部分的依赖最小化
  • 可预测的逻辑
  • 能够自行测试或理解的行为

当具备这些属性时,意图更清晰,误解更少,使用 AI 工具的成本也更低。更大的结构往往需要更多解释、更多上下文以及更多谨慎。

即使没有 AI 参与,这种方法也能提升开发效率,并且与 AI 系统对行为的推理方式高度契合。

自包含单元的特征

小型自包含单元并非仅仅是文件的缩减;它是一段能够独立运行、无需了解整个系统的行为。通常,这样的单元具备:

  • 明确的目标
  • 清晰的输入与输出
  • 极少的共享或隐藏状态
  • 表达预期行为的测试

这些特性降低了在进行更改前所需的信息量,使得在不影响无关区域的情况下,更容易改进或替换单个部分。

鼓励清晰边界的模式

一些广为人知的模式天然地促进清晰的边界和聚焦的行为。它们在交互、状态和视觉变化频繁的环境中尤为有用。

  • 状态机 – 通过状态和转换来表达行为,使逻辑可见且易于理解。每个状态都是一个明确且可预测的单元。
  • 特性模块 – 可以将功能创建为独立的部件,通过简单的边界与系统其余部分连接,减少不必要的纠缠。
  • 纯函数 – 没有副作用的小型纯函数构成可靠的构件块。它们易于测试,也易于 AI 工具理解,因为其全部行为都封装在函数内部。

这些方法并不依赖于特定的框架或范式;它们仅仅支持将软件塑造成更小、易于理解的部分的理念。

有问题的模式

某些风格在进行任何更改之前需要大量上下文,从而增加了人类和 AI 系统的认知负荷:

  • 深层继承结构
  • 负责多项职责的类
  • 行为分散在多个文件中
  • 共享全局状态和大量副作用

这些模式本身并非错误,但它们会让 AI 工具的高效运作变得更加困难。

渐进式重构方法

采用更小的单元并不需要一次性重建;可以逐步推进:

  1. 从大型、复杂的部分中抽取聚焦的区域。
  2. 在通信发生的地方引入明确的边界。
  3. 减少不必要的共享状态。
  4. 使用测试来表达预期行为。
  5. 持续改进结构,而不是一次性完成。

更小的单元为 AI 工具生成更短的提示,降低成本并提升可靠性。相同的结构同样有利于长期维护和人类的理解。

结论

随着 AI 成为软件创作中更为活跃的参与者,我们的架构选择可能会转向支持人类与 AI 系统之间更清晰交互的结构。更小的自包含单元提供了一条有前景的方向:它们降低认知负担,强化边界,并使行为更易于理解。

Back to Blog

相关文章

阅读更多 »

AI 驱动开发平台

🤔 让我彻夜难眠的问题 想象一下:你在 GitHub 上发现了一个超棒的开源项目。它有 10,000 多个 issue,数百名贡献者,……