Glue Coding 哲学:从拼好码到工程判断力
Glue Coding(拼好码)是一种颠倒默认开发者本能的工程哲学:不是问"我能构建这个吗?",而是问"有人已经可靠地构建过这个吗?"
核心理念
Glue Coding 不是少写代码的捷径,而是一个判断框架,将工程资源集中在业务价值上:通用复杂度交给成熟生态,业务差异化通过薄胶水层表达。
成熟能力解决通用问题。
胶水代码连接业务流程。
自建只服务于真正不可替代的差异化。
从胶水编程到 Glue Coding:超集扩展
Glue Coding 不是替代胶水编程,而是它的超集:
| 方向 | 覆盖内容 |
|---|---|
| 向前 | 从用户意图出发;先确定需求是否能被成熟能力覆盖 |
| 中间 | 选择成熟方案、设计适配边界、用胶水代码连接编排 |
| 向后 | 让业务流程可运行、可验证、可替换、可回滚 |
Glue Coding = 需求口语化
+ 成熟能力发现
+ 复用评估
+ 适配边界设计
+ 胶水编程
+ 能力编排
+ 业务逻辑表达
+ 工程门禁
+ 可替换/可回滚治理
范式转变
编程范式的演进可以概括为四个阶段:
传统编程: 人类写代码
Vibe Coding:AI 写代码,人类审代码
胶水编程: AI 连接代码,人类审连接
Glue Coding:AI 搜索/评估/连接/编排能力,
人类审目标/边界/门禁/权衡
根本性转变从生成到连接,再从连接到能力编排。开发者的心态从"实现者"转变为"集成者":
看到需求不要先写代码,先识别已有能力,评估成熟度,设计边界,再用最少自建闭环业务。
Glue Coding 如何解决 Vibe Coding 痛点
| Vibe Coding 痛点 | 胶水编程的答案 | Glue Coding 的扩展 |
|---|---|---|
| AI 幻觉:生成不存在的 API、错误逻辑 | 只连接已验证模块;减少发明空间 | 先搜索成熟方案,再用门禁验证依赖、路径、接口、运行时结果 |
| 复杂度爆炸:项目随增长失控 | 每个模块复用成熟轮子 | 通用复杂度交给成熟生态;业务复杂度留在清晰边界内 |
| 高门槛:需要深厚编程技能 | 用户描述连接,AI 生成胶水 | 用户定义目标和验收标准;AI 搜索、评估、适配、编排;机器门禁强制验证 |
| 自建冲动:控制感压过工程 ROI | 少写底层代码 | 偏离复用路径需要文档化的成本、风险、测试、回滚理由 |
架构哲学
Glue Coding 作为三层架构运行,将用户意图通过成熟能力引导到可运行、可测试、可回滚的业务系统:
五大架构支柱:
| 支柱 | 职责 |
|---|---|
| 实体 | 成熟开源项目、官方 SDK、平台能力、托管服务、内部共享能力 |
| 连接 | AI 生成或 AI 辅助的胶水代码,用于数据流、接口适配、流程编排 |
| 边界 | 隔离第三方模型、SDK、API 与核心业务模型 |
| 门禁 | 测试、类型、Schema、Lint、CI、脚本、Review 检查清单 |
| 目标 | 可运行的业务流程和可替换的业务系统 |
核心管道:
用户输入 → 成熟能力 → 可复用方案 → 适配边界
→ 胶水代码 → 能力编排 → 业务逻辑
→ 可运行业务流程 → 可替换业务系统 → 低成本高稳定性交付
为什么有效:解决三个问题
1. 幻觉:从发明到验证
AI 最容易出错的行为是发明不存在的 API、参数、路径和业务规则。Glue Coding 不是通过信任 AI 更聪明来减少幻觉——它改变了任务形状:
- 先找到真正存在的成熟能力
- 阅读官方文档、README、示例、类型定义
- 生成适配层
- 用测试、运行时结果、CI 验证
AI 不再主要负责发明底层能力——它负责理解、连接、转换、验证。
2. 复杂度:卸载到成熟生态
每个成熟模块都承载着真实用户场景的累积重量、Issue 和 PR 中的边缘案例、长期维护者的升级和安全修复、反复的生产验证。你不是在逃避复杂度——你是在复用生态已经付出的试错成本、测试成本、维护成本和生产验证成本。
3. 门槛:从底层实现到业务编排
你不需要亲自从零实现认证、支付、调度、日志、存储、解析、渲染和监控。你真正需要做的是:
阐明业务目标、选择成熟能力、设计边界、将它们编排成业务流程。
这不需要更低的技能,而是需要更高层次的工程判断力。
胶水原则
胶水原则是"不要重复造轮子"的最高形式:如果成熟方案能可靠满足需求,不要自建底层能力——只写连接、编排、适配、隔离和表达业务逻辑所需的胶水代码。
默认答案从来不是"让我来实现",而是:
有没有官方能力、平台能力、事实标准、主流框架、成熟库、稳定工具、GitHub 开源仓库、内部共享能力可以直接复用?
决策序列
| 优先级 | 行动 |
|---|---|
| 1 | 搜索官方能力、平台能力、事实标准或已有内部共享能力 |
| 2 | 采用成熟开源库、稳定框架、长期维护工具、主流生态方案或托管服务 |
| 3 | 通过配置、插件、扩展点、适配层或编排层满足需求 |
| 4 | 只为业务差异化、集成边界、编排流程、适配层或领域规则编写自建代码 |
| 5 | 只有当成熟方案无法满足关键约束,或其成本/风险/复杂度不可接受时,才允许自建核心能力 |
在编写任何自建代码之前,先在脑海中运行上述 5 层决策序列。如果你无法阐明第 1-3 层为什么对你的具体用例失败了,你很可能是在基于控制幻觉而非工程判断行事。
成熟度评估标准
判断一个方案是否"成熟"需要的不仅仅是检查流行度。候选方案必须通过多维度评估:
| 维度 | 关键问题 |
|---|---|
| 维护 | 由官方组织、主流社区、领先厂商或长期稳定组织维护? |
| 质量信号 | 文档清晰、版本历史、测试覆盖率、安全更新、积极维护? |
| 生产使用 | 在真实生产环境中广泛部署? |
| 兼容性 | 与当前技术栈、团队技能、部署环境、合规要求兼容? |
| 可操作性 | 可观测、可测试、可回滚、可替换、边界隔离? |
成熟不意味着盲目依赖。没有边界、可替换性或回滚路径的复用会将效率优势变成锁定风险。
胶水代码:应该做 vs 禁止做
胶水代码应该做的
自写代码的合法边界:
- 连接不同系统
- 封装业务流程
- 适配输入和输出
- 组合已有能力
- 隔离第三方依赖
- 表达项目特定业务规则
- 实现成熟方案真正无法覆盖的差异化核心能力
优秀的胶水代码是短小、薄层、清晰、可测试、可删除的。它越像业务编排层而非底层框架,就越符合 Glue Coding。
胶水代码禁止做的
| 禁止实践 | 原因 |
|---|---|
| 重新实现已有成熟框架 | 冗余复杂度,零增值 |
| 重新实现通用基础设施 | 重复发明已解决的问题 |
| 无理由重写稳定库 | 引入缺陷面,失去生态支持 |
| 为控制/舒适/偏好造私有轮子 | 控制幻觉——自建通常意味着更高缺陷率、更高维护成本、更弱生态支持、更差长期稳定性 |
| 未研究成熟方案就进入自建 | 违反决策序列 |
| 让第三方 SDK、外部 API 或平台私有模型污染核心业务模型 | 破坏边界隔离 |
实践工作流:七步法
Glue Coding 方法论规定了七步工作流,将业务需求转化为可替换、可回滚的系统:
| 步骤 | 说明 |
|---|---|
| 1. 需求口语化 | 用自然语言清晰表达需求 |
| 2. 成熟能力搜索 | 搜索 GitHub Topics、官方能力、平台能力、主流开源项目 |
| 3. 复用评估 | 评估候选方案的成熟度、维护状态、许可证、替换风险、集成成本 |
| 4. 适配边界设计 | 架构关键:设计边界隔离第三方依赖 |
| 5. 胶水代码编写 | 连接、编排、适配 |
| 6. 门禁验证 | 测试、类型、Schema、Lint、CI |
| 7. 可替换/可回滚治理 | 确保系统可替换、可回滚 |
第 4 步(适配边界)是架构关键。如果跳过边界设计直接写胶水代码,第三方依赖必然会泄漏到核心业务模型中——使未来替换或回滚的成本呈指数级增长。
常见应用场景
| 场景 | 错误路径(自建) | Glue Coding 路径(先复用) | 胶水代码职责 |
|---|---|---|---|
| 认证 | 自设计密码加密、Token 发行、OAuth 流程、验证码、权限基础设施 | 云认证服务、Auth0、Firebase Auth、Keycloak、企业 SSO、框架内置模块 | 将认证结果映射到业务用户系统;将外部用户 ID 映射到内部模型;处理业务角色;封装登录后流程 |
| AI 客服 | 从零训练模型、构建向量库、知识检索、对话管理、监控 | 成熟 LLM API、向量数据库、RAG 框架、客服平台、日志/监控工具 | 业务知识整理;问题分类;工作流编排;人工转接规则;企业系统接口适配;质量评估 |
| 订单处理 | 构建完整调度系统、消息队列、重试机制、状态机、通知系统 | 成熟消息队列、任务调度平台、工作流引擎、云函数、监控/告警服务 | 订单创建后触发库存检查;支付后触发发货;发货后触发通知;异常路由到人工处理;系统间数据适配 |
偏离协议
Glue Coding 不是绝对禁止自建——它要求自建有充分理由。要偏离胶水原则,必须文档化:
- 偏离原因——为什么考虑自建?
- 已评估的成熟方案——评估了哪些现有选项?
- 成熟方案失败的原因——哪些关键约束未满足?
- 自建范围和边界——具体要构建什么?
- 维护成本——谁维护、维护多久、成本多少?
- 安全风险——引入了哪些漏洞?
- 厂商锁定或私有实现锁定风险——如何缓解?
- 测试策略——如何验证正确性和安全性?
- 替换、删除或回滚路径——如果失败,退出方案是什么?
在偏离理由完整之前,你不得默认进入自建路径。
胶水原则的禅意
从整个哲学中提炼出的一套紧凑原则,按优先级排序:
成熟方案 > 自建实现
官方能力 > 私有轮子
事实标准 > 个人偏好
复用 > 重写
编排 > 重构
适配 > 入侵
连接 > 耦合
资源整合 > 单打独斗
薄胶水 > 厚平台
业务逻辑 > 基础设施
平台能力 > 底层代码
稳定生态 > 新奇技术
长期维护 > 短期满足
可替换 > 紧耦合
可回滚 > 不可逆
可验证 > 假设
少代码 > 多代码
必要自建 > 盲目复用
显式边界 > 隐式依赖
充分理由 > 控制幻觉
成熟能力解决通用问题。胶水代码连接业务流程。自建只服务于真正不可替代的差异化。
内化:从实践到本能
吸收 Glue Coding 后,工程习惯应在三个层面转变:
| 之前 | 之后 |
|---|---|
| "让我实现这个功能。" | "这个功能有没有成熟能力?如何集成、编排、隔离、验证?" |
| "我能写这个吗?" | "应该写这个吗?" |
| "这个系统需要多少代码?" | "这个系统能复用多少成熟能力,剩余的胶水边界是否清晰?" |
最终内化的本能压缩成一句话:
成熟能力解决通用问题,胶水代码连接业务流程,自建只服务于真正不可替代的差异化。