内容提要
陈天奇在AI编译器技术沙龙上分享,指出AI Agent时代编译器需支持快速专用迭代,强调模块化、跨语言支持和稳定与特化分层。他提出未来编译器将分为稳定核心和Agent驱动的特化部分,并讨论AI编写编译器、IR融合及Agent友好设计等趋势,认为编译器仍是重要工具。
延伸解读
编译器模块化与边界定义
陈天奇强调,在Agent时代,项目边界的稳定性、可组合性和模块化至关重要。以TVM FFI为例,通过清晰定义函数之间的调用边界,使得算子或模块可以灵活替换,并已整合cuteDSL、FlashInfer和TensorRT等。这种模块化设计不仅有助于Agent快速迭代,也为AI参与编译器开发提供了基础。
稳定核心与特化分层
未来编译器将分为稳定核心和Agent驱动的特化部分。稳定部分包括ABI需求、核心IR数据结构和跨语言能力,而特化部分则针对具体硬件或场景,由Agent根据需求构建。这种分层设计允许在保持基础稳定的同时,灵活适应硬件差异,如Hopper到Blackwell的迁移,避免共享抽象不足的问题。
AI编写编译器的现实与挑战
陈天奇指出,AI编写编译器已是正在发生的事,关键在于模块化。将大型项目拆解为子问题,让AI负责特定模块的迭代和试错是可行的。挑战在于边界定义和IR基础设施,例如支持多语言的IR方案尚不完善。若能提炼共同需求,如Host Side优化,AI在编译器开发中的作用将更大。
IR融合与Agent友好设计
传统IR分层(Kernel级、图级)正在融合,未来可能收敛到几个稳定层级,并强调信息编码。同时,编译器可做薄,将部分优化交给外部或Agent控制。Agent友好设计并非伪命题,而是应作为设计目标,通过观察Agent的优劣持续迭代,如跨语言支持就是实际需求。
Q&A
陈天奇认为在AI Agent时代,AI编译器还有价值吗?
陈天奇认为AI编译器仍然有价值,因为编译器是工具的一种,有工具的人类比没有工具的更强。只要能让AI更好地参与编译器相关模块的设计和开发,编译器仍有很多机会。
陈天奇提出在Agent时代,编译器应如何支持快速专用迭代?
陈天奇提出两点:一是项目边界的稳定性、可组合性和模块化非常重要,例如TVM FFI项目定义函数边界;二是编译器需要支持更多语言,以加速Agent的专用迭代。
陈天奇认为未来AI编译器的发展趋势是什么?
陈天奇认为未来编译器会分为两部分:一部分是稳定的核心模块,如ABI需求、核心IR数据结构和跨语言能力;另一部分是针对具体场景特化的部分,可能由Agent驱动。
陈天奇如何看待AI编写AI编译器?
陈天奇认为AI编写编译器已经在发生,关键在于模块化。如果希望AI完整托管大型项目很困难,但将某些模块交给AI快速迭代是可能的。需要定义好边界,如TVM FFI,以及提供好的IR基础设施。
陈天奇认为未来编译器应该走通用化架构还是特化硬件适配?
陈天奇认为未来会出现更多特化部分,因为开发代码成本降低,且共享抽象不足以支撑硬件能力时需特化。但仍需要一个稳定的foundation,让Agent在此基础上构建硬件特化编译器。
陈天奇如何看待IR的融合和分层?
陈天奇认为IR会逐渐收敛到几个稳定的层级,分层太多会丢失信息。核心问题是如何将需要的信息编码进去。同时,编译器可以分层,一层稳定维护,另一层快速迭代。
陈天奇认为Agent-friendly Compiler是真命题吗?
陈天奇认为关键不在于软件一开始是否具有该特性,而在于是否将其作为目标去设计。通过观察Agent的表现并迭代,跨语言需求等实际问题可以解决,编译器会成为Agent帮助构建和优化的工具。