Lập trình
Vibe Coding: Lập trình bằng Prompt LLM không cần đọc Code
/3 phut doc/0 luot xem
KẾT LUẬN
Vibe coding là phương pháp xây dựng phần mềm bằng cách prompt LLM và chấp nhận mọi thay đổi mà không cần đọc code được sinh ra. Phương pháp này phù hợp cho disposable software và prototype dùng bởi tác giả hoặc nhóm nhỏ hiểu rõ rủi ro. Tuy nhiên, nó tiềm ẩn rủi ro nghiêm trọng về bảo mật (Lethal Trifecta), maintainability (spaghetti code), và correctness (hallucination + non-determinism) - không nên áp dụng cho production software.
LUẬN ĐIỂM CHÍNH
- Định nghĩa cốt lõi: 'forget that the code even exists' - người dùng chỉ prompt LLM, chạy thử, yêu cầu sửa mà không bao giờ đọc code hay review diff. Đây là điểm phân biệt quan trọng với Agentic Programming.
- Thuật ngữ do Andrej Karpathy đặt ra (Feb 2025): mô tả cách dùng Cursor Composer với SuperWhisper, 'Accept All' không đọc diff, copy-paste error message không comment - phù hợp 'throwaway weekend projects'.
- Phân biệt rõ với Agentic Programming: Agentic Programming vẫn quan tâm đến code structure, review code; Vibe Coding hoàn toàn phó mặc cho LLM và phớt lờ code. Sự nhập nhằng thuật ngữ (Semantic Diffusion) đang gây hiểu lầm.
LUẬN ĐIỂM PHỤ
- Rủi ro bảo mật (Security): LLM có attack surface lớn, vibe coded apps dễ expose sensitive info hoặc credentials - cần nhận thức về Lethal Trifecta ngay cả với non-programmers.
- Rủi ro maintainability: vibe coding sinh ra lượng lớn code chất lượng thấp (spaghetti), gây khó cho cả LLM khi cần modify/enhance sau này. Well-structured software vẫn giúp LLM làm việc tốt hơn.
- Rủi ro correctness: LLM hallucinate các sự kiện không có thật với độ tự tin cao, cộng với non-determinism khiến LLM có thể thêm lỗi vào phần code không liên quan đến yêu cầu mới.
- Semantic Diffusion: thuật ngữ 'vibe coding' đang bị dùng sai rộng rãi để chỉ Agentic Programming, gây nhầm lẫn về mức độ kiểm soát và rủi ro thực sự.
- Code phức tạp, nhiều người dùng, và có hậu quả nghiêm trọng khi lỗi - không nên bị 'forgotten about'.
LUẬN CỨ & VÍ DỤ
- Andrej Karpathy (Feb 2025, X post): 'I Accept All always, I don't read the diffs anymore... When I get error messages I just copy paste them in with no comment, usually that fixes it... Sometimes the LLMs can't fix a bug so I just work around it or ask for random changes until it goes away. It's not too bad for throwaway weekend projects.'
- Karpathy: 'The code grows beyond my usual comprehension, I'd have to really read through it for a while.' - minh họa rõ ràng về mất kiểm soát code.
- Fowler: well-structured software makes life easier for LLMs too - phản bác quan điểm cho rằng LLM đủ mạnh để xử lý mọi spaghetti code.
- Fowler: 'On the whole vibe coding software is best used for disposable software that's only used by its author or a close group of collaborators who understand and accept the risks involved.'
- Fowler: LLM non-determinism nghĩa là 'asking an LLM to enhance some software could easily lead it to introduce errors, even in parts of the code that shouldn't change'.
Nguồn: Martin Fowler | Phân tích bởi AI
Ban thay bai viet nay the nao?
Bình luận (0)
Bài viết liên quan
Gợi ý dựa trên điểm tương quan phân cấp và danh mục chung
Ngưỡng tương quan tối thiểu:30%
Tất cả (0%)Tương quan mạnh (70%+)
lap-trinh63% tương quan
Fragments: June 2 - AI's Impact on Software Development: Metrics, Security, and Productivity
13 tháng 6, 2026
lap-trinh43% tương quan
OpenAI's GPT-5.5 and Codex Reach General Availability on Amazon Bedrock
13 tháng 6, 2026
lap-trinh40% tương quan
Gemma 4 12B: Kiến trúc Encoder-Free Đa Phương Thức cho Agentic Workflows trên Laptop
13 tháng 6, 2026
lap-trinh37% tương quan
Terraform 1.15 Closes Gap to OpenTofu on Dynamic Sources and Deprecation
13 tháng 6, 2026
lap-trinh36% tương quan
Architecting Cloud-Native Kafka: from Tiered Storage towards a Diskless Future
13 tháng 6, 2026
lap-trinh35% tương quan
Stragglers, Not Failures: How Adaptive Hedged Requests Reduce p99 Latency by 74 Percent
13 tháng 6, 2026
--- Het ---