---
title: "Vibe coding 的一些抱怨"
url: https://geminixiang.com/posts/vibe-coding/
description: "LLM (vibe coding) 的深度反思: 探討如何在使用 AI 工具時保持程式碼品質，避免產出沒有靈魂的程式碼，以及如何透過 LLM 察覺自己的無知。"
published: 2025-10-27
category: "Programming"
tags: ["AI", "LLM", "軟體開發", "技術反思"]
---

# Vibe coding 的一些抱怨

# Vibe coding

## 日常工作使用

我應該算是重度 LLM 使用者，每天至少會問 Claude 10 個問題以上

- Cluade code (Claude sonnet 4.5): Kubernetes cluster 維護
- Claude desktop (Claude sonnet 4.5): 日常想問就問，只有手機時的工具
- Google AI Studio (Gemini 2.5 flash): 用來驗證問題，對常文章總結時使用
- VSCode + Roo Code (extension) + MCP (Github/Context7/Playright/公司內部的 MCP)

## 一些 murmur

其實我對於大多數人口中的 "vibe coding" 非常厭惡

> o.s. 其實我也常犯以下錯誤，撰寫出來共勉之

因為太多 vibe coding 端出來的 code，沒有靈魂

即使是 LLM 寫的，也要展現出自己對於整個專案的構思，以及對技術的掌握力

我的信念是: LLM 只會給出平庸解，只有人類才會給出靈光乍現的有趣答案 (即使很廢，也能廢的有趣)

沒靈魂的 vibe coding 有幾大特色
1. 莫名其妙的註解
2. 一堆無用 function, import and varaible
3. 意義不明的 try except
4. 不會使用現成的 utils，重複造輪子
5. 對於基礎環境了解不深，明顯感覺到只解決局部問題，全局觀很糟 (不知道)
6. 以為完成了某個功能，實際上是對 codebase 的破壞
7. 縫補感很重的 interface，很明顯有些需求是後續加上的
8. 查文件就有的答案，偏偏你在繞路
9. 知識的匱乏

當希望自己寫的程式碼，是可以放心讓別人堆疊在上面的話，建議 LLM 寫一小段，自己也要確保該段落的 robust 後再繼續開發

<Image src="https://i.imgflip.com/4dwoil.jpg" alt="迷因圖：程式碼能跑，但不知道為什麼能跑" />

## 進一步思考: 如何察覺自己在某個領域的無知度

有了 LLM 很好分辨

首先你需要有一個自己的專業領域，也就是你在這領域是問不倒的

然後使用 LLM 後，你大概清楚 LLM 在這領域是什麼程度， maybe 8成準確，2成唬爛

那麼我就推估，這就是 LLM 的極限，其他領域也是落在這程度上下

某一天，你問一個你不熟悉的領域，當你是 100% 相信 LLM 所說時，你要先警覺出自己在這領域的無知

這時候建議你開始補充這領域的知識
- 翻閱書籍/文件
- 反問 LLM 挖掘出知識點
- 保持著求知慾，而不是放手給 LLM，透過 LLM 獲取知識，但不要放棄辨別真偽的權利

> [!NOTE]
> 以上都是我主觀想法，0% LLM 介入，歡迎討論

---

## About the author

**Ying Xiang Zhao** (geminixiang) — DevOps Engineer, Taipei, Taiwan.

Ying Xiang Zhao（geminixiang）是住在台北的 DevOps 工程師，工作橫跨雲原生基礎設施、CI/CD、ML 模型部署與全端開發。這個部落格記錄 infra、資安與 AI coding agent 的實戰筆記；作品包含開源專案 mikan（把 AI coding agent 帶進 Slack / Telegram / Discord）與 tiny-agent（用四種語言實作的極簡 coding agent），瀏覽器內的影片編輯器 Studio，並經營旅遊分帳工具 SentriPay。

**Open to work** — DevOps Engineer / Platform Engineer / Site Reliability Engineer / AI Infrastructure Engineer · Taipei, Taiwan / Remote. Résumé: https://geminixiang.com/about/ (JSON: https://geminixiang.com/resume.json)

Topics: DevOps, Cloud Native, Kubernetes, Docker, Terraform, Google Cloud, CI/CD, Security, AI coding agents, ML model deployment, TypeScript, Python

Projects:
- [mikan](https://github.com/geminixiang/mikan) — Self-hosted AI coding agent for Slack, Telegram, Discord and GitHub with per-conversation sandboxes
- [tiny-agent](https://github.com/geminixiang/tiny-agent) — Minimal AI coding agents in TypeScript, Go, Python and Rust, plus a book on how they work
- [SentriPay](https://sentripay.com) — Travel expense splitter with multi-currency conversion and shareable, live-synced trip ledgers
- [Studio](https://studio.geminixiang.com) — Browser-based video editor built on WebCodecs

[About](https://geminixiang.com/about/) · [Résumé](https://geminixiang.com/about/) · [LinkedIn](https://linkedin.com/in/geminixiang/) · [GitHub](https://github.com/geminixiang) · [Twitter](https://x.com/geminixiang)
