← 返回博客
AI is Glue

AI 是粘合剂

Chad Metcalf2025年12月3日 · 3 分钟阅读

最近我一直在思考“胶水”这个概念。

我在山上的小屋里修一扇破损的淋浴门。亚克力板裂了,我需要把它粘回去。我学到的一点是,要获得强力粘合,不仅需要合适的焊接环氧树脂,还需要先打磨表面。打磨能让粘合剂拥有更多的咬合力,产生更多纹理以便附着。表面越粗糙,粘合就越牢固。

这让我想到了“胶水代码”(glue code)。

旧胶水

过去我们常谈论胶水脚本。Perl 曾是互联网上最初的“瑞士军用电锯”,是那种让复杂且互不兼容的系统协同工作的典型胶水语言。后来 Python 取代它成为了首选胶水语言。Shell 脚本通过管道连接命令:一个工具的输出成为另一个的输入。从 JSON 中提取值来填充下一个命令的标志位。虽然脆弱,但确实管用。

大语言模型(LLMs)是新型胶水。它们可以将各种表面连接起来:人类语言、命令行接口(CLI)、API、Webhooks、数据库。这些表面以前从来无法平滑地对接。

Aerolite 时刻

20 世纪 30 年代,飞机制造者使用酪蛋白胶粘合木质部件。酪蛋白是以牛奶为基础的,基本上就是五金店卖的木工胶。它粘家具没问题,但对于高性能飞机来说强度不够。

后来,Norman de Bruyne 开发了 Aerolite,这是一种粘合力比木材本身还要强的粘合剂。德哈维兰“蚊”式轰炸机因此诞生:它是那个时代速度最快的飞机之一,所用的材料却已存在了几十年。

粗糙的表面

想想我们每天都在用的接口:发送 JSON 数据包的 Webhooks、需要特定标志位的命令行工具(CLI)、返回嵌套对象的 REST API、带有各自查询语言的数据库。每一个都有其特定的模态、输入格式和输出格式。它们是差异巨大的表面。

这就是打磨过程,这就是纹理。

LLM 胶水之所以有效,是因为它能深入到边边角角。读取 Webhook 负载、提取相关字段、将其转换为 CLI 所需的精确格式、解析输出、并将其输入到下一个工具中。所有那些粗糙、不规则的表面都为这种胶水提供了附着点。

这就是它为何如此有效的原因。浓缩上下文、提取特定值、填充已知的模式(如 CLI 标志位),这些正是 LLM 的擅长之处。这不是通过“一键生成”凭空创造出数千行代码,而是发挥模型自身的强项。

我们刚刚宣布与 Snyk 建立合作伙伴关系,将 AI 驱动的安全功能集成到开发工作流中。以下是胶水在实际应用中的样子:

  1. [Webhook] Snyk 发送漏洞警报
  2. [LLM] 提取严重程度和受影响的文件路径
  3. [文件系统] 检查路径是否在生产代码中
  4. [LLM] 根据漏洞和代码上下文生成补丁
  5. [CLI] 运行测试
  6. [LLM] 为受影响的路径解析 CODEOWNERS 文件
  7. [CLI] gh pr create --assignee <提取的值>

GitHub CLI 完成了实际工作,Snyk API 提供了数据。LLM 仅仅是胶水,填补了工具之间的鸿沟,将庞大的上下文简化为下一步确定性操作所需的特定值。

实践

每个团队都有他们信任的工具。用于基础设施的 CLI、用于服务的 API、用于捕获 Bug 的测试运行器,以及带有既定工作流的问题追踪系统。

你不需要新工具,你需要的是胶水。

选择一个一直难以实现的实践。梳理你为每个步骤使用的现有工具。识别出你在哪些地方需要 LLM 来进行提取、决策或在工具间进行转换。接口越粗糙,胶水能抓取的地方就越多。

直到我们拥有了足以粘合表面的强力胶水,才造出了高性能的木质飞机。而材料,其实一直都在那里。


试一试:运行 npx continue@latest 构建你的第一个胶水工作流,或者在 Mission Control 中通过两次点击即可入门