vibe-coding-cn/i18n/en/documents/00-fundamentals/Glue Coding.md

363 lines
12 KiB
Markdown

# 🧬 Glue Coding
> **The holy grail and silver bullet of software engineering - finally here.**
---
## 🚀 Disruptive Manifesto
**Glue Coding is not a technology, but a revolution.**
It might perfectly solve the three fatal flaws of Vibe Coding:
| Traditional Vibe Coding Pain Points | Glue Coding Solution |
|:---|:---|
| 🎭 **AI Hallucinations** - Generates non-existent APIs, incorrect logic | ✅ **Zero Hallucinations** - Uses only validated, mature code |
| 🧩 **Complexity Explosion** - The larger the project, the more out of control | ✅ **Zero Complexity** - Each module is a battle-tested wheel |
| 🎓 **High Barrier** - Requires deep programming skills to master AI | ✅ **No Barrier** - You only need to describe "how to connect" |
---
## 💡 Core Concept
```
Traditional Programming: Humans write code
Vibe Coding: AI writes code, humans review code
Glue Coding: AI connects code, humans review connections
```
### Paradigm Shift
**A fundamental shift from "generation" to "connection":**
- ❌ No longer letting AI generate code from scratch (source of hallucinations)
- ❌ No longer reinventing the wheel (source of complexity)
- ❌ No longer requiring you to understand every line of code (source of high barrier)
- ✅ Only reusing mature, production-validated open-source projects
- ✅ AI's sole responsibility: understand your intent, connect modules
- ✅ Your sole responsibility: clearly describe "what is the input, what is the desired output"
---
## 🏗️ Architectural Philosophy
```
┌─────────────────────────────────────────────────────────┐
│ Your Business Needs │
└─────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────┐
│ AI Glue Layer │
│ │
│ "I understand what you want to do, let me connect these blocks" │
│ │
└─────────────────────────────────────────────────────────┘
┌────────────────┼────────────────┐
▼ ▼ ▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Mature Module A │ │ Mature Module B │ │ Mature Module C │
│ (100K+ ⭐) │ │ (Production-Validated) │ │ (Official SDK) │
└─────────────┘ └─────────────┘ └─────────────┘
```
**Entity**: Mature open-source projects, official SDKs, battle-tested libraries
**Link**: AI-generated glue code, responsible for data flow and interface adaptation
**Function**: Your described business goal
---
## 🎯 Why is this a Silver Bullet?
### 1. Hallucination Issue → Completely Disappears
AI no longer needs to "invent" anything. It only needs to:
- Read Module A's documentation
- Read Module B's documentation
- Write the data transformation from A → B
**This is what AI excels at, and what is least prone to errors.**
### 2. Complexity Issue → Transferred to the Community
Behind each module are:
- Discussions from thousands of Issues
- Wisdom from hundreds of contributors
- Years of production environment refinement
**You are not managing complexity; you are standing on the shoulders of giants.**
### 3. Barrier Issue → Reduced to a Minimum
You don't need to understand:
- Underlying implementation principles
- Best practice details
- Edge case handling
You only need to speak plain language:
> "I want to take messages from Telegram, process them with GPT, and store them in PostgreSQL"
**AI will help you find the most suitable wheels and glue them together.**
---
## 📋 Practice Flow
```
1. Define the Goal
└─→ "I want to implement XXX functionality"
2. Find the Wheels
└─→ "Are there any mature libraries/projects that have done something similar?"
└─→ Let AI help you search, evaluate, and recommend
3. Understand the Interfaces
└─→ Feed the official documentation to AI
└─→ AI summarizes: what is the input, what is the output
4. Describe the Connection
└─→ "The output of A should become the input of B"
└─→ AI generates glue code
5. Validate and Run
└─→ Runs successfully → Done
└─→ Errors → Give the errors to AI, continue gluing
```
---
## 🔥 Classic Case Study
### Case: Polymarket Data Analysis Bot
**Requirement**: Real-time acquisition of Polymarket data, analysis, and push to Telegram
**Traditional Approach**: Write a crawler, analysis logic, and bot from scratch → 3000 lines of code, 2 weeks
**Glue Approach**:
```
Wheel 1: polymarket-py (Official SDK)
Wheel 2: pandas (Data Analysis)
Wheel 3: python-telegram-bot (Message Push)
Glue Code: 50 lines
Development Time: 2 hours
```
---
## 📚 Further Reading
- [Language Layer Elements](./语言层要素.md) - 8 levels to master to understand 100% of the code
- [Glue Development Prompts](../../prompts/coding_prompts/胶水开发.md)
- [Project Practice: polymarket-dev](../项目实战经验/polymarket-dev/)
---
## 🎖️ Summary
> **If you can copy, don't write. If you can connect, don't build. If you can reuse, don't originate.**
Glue Coding is the ultimate evolution of Vibe Coding.
It's not laziness; it's the **highest embodiment of engineering wisdom**
Leveraging maximum productivity with minimal original code.
**This is the silver bullet software engineering has been waiting for for 50 years.**
---
*"The best code is no code at all. The second best is glue code."*
# Glue Coding Methodology
## **1. Definition of Glue Coding**
**Glue Coding** is a new software construction approach, with its core philosophy being:
> **Almost entirely reusing mature open-source components, combining them into a complete system with minimal "glue code"**
It emphasizes "connecting" rather than "creating," and is especially efficient in the AI era.
## **2. Background**
Traditional software engineering often requires developers to:
* Design architecture
* Write logic themselves
* Manually handle various details
* Reinvent the wheel repeatedly
This leads to high development costs, long cycles, and low success rates.
However, the current ecosystem has fundamentally changed:
* There are countless mature open-source libraries on GitHub
* Frameworks cover various scenarios (Web, AI, distributed, model inference…)
* GPT / Grok can help search, analyze, and combine these projects
In this environment, writing code from scratch is no longer the most efficient way.
Thus, "Glue Coding" has emerged as a new paradigm.
## **3. Core Principles of Glue Coding**
### **3.1 Don't write what can be avoided, write as little as possible**
Any functionality with an existing mature implementation should not be reinvented.
### **3.2 Copy-paste whenever possible**
Directly copying and using community-validated code is a normal engineering process, not laziness.
### **3.3 Stand on the shoulders of giants, rather than trying to become one**
Utilize existing frameworks instead of trying to write a "better wheel" yourself.
### **3.4 Do not modify the original repository code**
All open-source libraries should ideally remain immutable and be used as black boxes.
### **3.5 Minimize custom code**
The code you write should only be responsible for:
* Combination
* Invocation
* Encapsulation
* Adaptation
This is what is called the **glue layer**.
## **4. Standard Process of Glue Coding**
### **4.1 Clarify Requirements**
Break down the system's desired functionalities into individual requirements.
### **4.2 Use GPT/Grok to Deconstruct Requirements**
Let AI refine requirements into reusable modules, capabilities, and corresponding subtasks.
### **4.3 Search for Existing Open-Source Implementations**
Utilize GPT's web browsing capabilities (e.g., Grok):
* Search for corresponding GitHub repositories for each sub-requirement
* Check for existing reusable components
* Compare quality, implementation methods, licenses, etc.
#### 🔍 Use GitHub Topics to Precisely Find Wheels
**Method**: Let AI help you find GitHub Topics corresponding to your needs, then browse popular repositories under that topic.
**Example Prompt**:
```
I need to implement [Your Requirement]. Please help me:
1. Analyze which technical fields this requirement might involve
2. Recommend corresponding GitHub Topics keywords
3. Provide GitHub Topics links (format: https://github.com/topics/xxx)
```
**Common Topics Examples**:
| Requirement | Recommended Topic |
|:---|:---|
| Telegram Bot | [telegram-bot](https://github.com/topics/telegram-bot) |
| Data Analysis | [data-analysis](https://github.com/topics/data-analysis) |
| AI Agent | [ai-agent](https://github.com/topics/ai-agent) |
| CLI Tool | [cli](https://github.com/topics/cli) |
| Web Scraper | [web-scraping](https://github.com/topics/web-scraping) |
**Advanced Tips**:
- [GitHub Topics Homepage](https://github.com/topics) - Browse all topics
- [GitHub Trending](https://github.com/trending) - Discover popular new projects
- Combine multiple Topic filters: `https://github.com/topics/python?q=telegram`
### **4.4 Download and Organize Repositories**
Pull the selected repositories locally and organize them by category.
### **4.5 Organize by Architectural System**
Place these repositories within the project structure, for example:
```
/services
/libs
/third_party
/glue
```
And emphasize: **Open-source repositories, as third-party dependencies, must absolutely not be modified.**
### **4.6 Write Glue Layer Code**
The role of glue code includes:
* Encapsulating interfaces
* Unifying input and output
* Connecting different components
* Implementing minimal business logic
The final system is composed of multiple mature modules.
## **5. Value of Glue Coding**
### **5.1 Extremely High Success Rate**
Because it uses community-validated, mature code.
### **5.2 Extremely Fast Development Speed**
A large amount of functionality can be directly reused.
### **5.3 Reduced Costs**
Time costs, maintenance costs, and learning costs are significantly reduced.
### **5.4 More Stable Systems**
Relies on mature frameworks rather than individual implementations.
### **5.5 Easy to Extend**
Capabilities can be easily upgraded by replacing components.
### **5.6 Strong Synergy with AI**
GPT can assist in searching, deconstructing, and integrating, making it a natural enhancer for glue engineering.
## **6. Glue Coding vs. Traditional Development**
| Project | Traditional Development | Glue Coding |
| ------ | ----- | ------ |
| Feature Implementation | Write yourself | Reuse open-source |
| Workload | Large | Much smaller |
| Success Rate | Uncertain | High |
| Speed | Slow | Extremely fast |
| Error Rate | Prone to pitfalls | Uses mature solutions |
| Focus | "Building wheels" | "Combining wheels" |
## **7. Typical Application Scenarios for Glue Coding**
* Rapid prototype development
* Small teams building large systems
* AI applications/model inference platforms
* Data processing pipelines
* Internal tool development
* System Integration
## **8. Future: Glue Engineering will Become the New Mainstream Programming Paradigm**
As AI capabilities continue to strengthen, future developers will no longer need to write large amounts of code themselves, but rather:
* Find wheels
* Combine wheels
* Intelligently connect components
* Build complex systems at extremely low cost
Glue Coding will become the new standard for software productivity.