内容提要
文章探讨Coding Agent对框架设计的影响,认为SwiftUI并非不适合AI,问题在于抽象上移后观察与验证手段未同步。应建立可推导的语义模型,并用编译器、测试等确定性工具验证意图。SwiftFairy、InnoDI等案例表明,将通用知识固化为可执行工具比堆砌Prompt更有效。未来框架需兼顾Agent ergonomics,重视可验证性与诊断能力。
延伸解读
抽象上移后,验证手段为何必须同步
文章指出,SwiftUI 等声明式框架将底层细节隐藏,导致传统的观察与验证手段失效。当抽象层级提升,可观察性与可验证性也需在新层级重建。否则,Agent 只能面对黑盒,从有限现象反推内部状态,效率低下。因此,框架设计需在抽象的同时,提供匹配的检查与诊断能力,而非简单退回命令式框架。
可推导语义模型:比堆砌 Prompt 更可靠
文章以 SwiftUI 修饰符顺序为例,说明零散经验规则可还原为变换顺序模型,借助矩阵组合推导。这种稳定、可推导的语义模型,比让 Agent 记忆大量特例更可靠。构建 AI 友好型抽象的关键,不是拉低抽象层级,而是让抽象本身形成清晰、可推导的规则体系,减少对上下文特例的依赖。
确定性工具:从概率判断到客观证据
文章强调,验证不能依赖另一个概率模型,而应使用编译器、测试、快照等确定性工具。这些工具在各自层次验证规则契约与期望结果,为 Agent 提供客观证据。将通用知识固化为可执行工具,比无休止填充 Prompt 更有效。SwiftFairy 和 InnoDI 的案例表明,专家知识可转化为可调用的评估器,实现可重复的确定性检查。
Agent ergonomics:框架设计的新维度
随着 Coding Agent 成为代码的重要编写者,框架设计需在传统 developer ergonomics 之外,引入 Agent ergonomics。这要求框架具备稳定可推导的语义模型、与抽象层级匹配的可观察性,以及关键规则可被确定性工具验证。为换取全局可验证性,可能需让渡部分随意性,但自动化工具能摊平成本。清晰的语义、强类型、准确诊断本就是优秀工程实践,AI 使其更紧迫。
Q&A
为什么说 SwiftUI 对 Coding Agent 不友好?
SwiftUI 将大量实现细节隐藏在声明式语法之后,导致运行时信息不够透明。当呈现效果偏离预期时,Agent 只能从有限的外部现象反推内部状态,缺乏足够的观察和验证手段。
如何让 SwiftUI 对 AI 更友好?
需要在新的抽象层级上建立可推导的语义模型,并提供与抽象层级匹配的可观察性和确定性验证工具,如编译器、测试和快照等。
SwiftFairy 是什么?它如何帮助 Coding Agent?
SwiftFairy 是一个外部工具,它静态解析 SwiftUI 代码,构建局部引用图,匹配声明式问题模式,并将发现、解释和修复方案返回给 Agent。检查过程脱离 LLM,结果可重复且确定,将专家知识转化为可调用的评估器。
InnoDI 在 AI 时代有什么价值?
InnoDI 通过显式声明依赖图,在宏展开、构建插件和命令行工具中提供闭环验证能力。Agent 可以按需查找 API 规则,并获得确定性的编译反馈和诊断,从而在抽象掉实现细节的同时保持可验证性。
什么是 Agent ergonomics?为什么它重要?
Agent ergonomics 是面向 Coding Agent 的设计维度,关注框架是否具备稳定可推导的语义模型、匹配抽象层级的可观察性,以及关键规则能否被确定性工具验证。随着 Agent 成为代码的重要编写者,这些维度变得至关重要。
如何设计对 AI 友好的 Skill?
Skill 不应只补充通用知识,而应充当面向 LLM 的“胶水语言”,引导模型找到并调用正确的工具,将人的意图连接到可观察、验证和修正的闭环反馈中。重点是将具体约束接入 Tool 与 Feedback Loop。