- Công cụ LLM không phải thứ thay thế lập trình viên mà đóng vai trò khuếch đại năng lực của nhà phát triển
- Qua trải nghiệm dùng Claude Code, tốc độ viết mã đã tăng vọt, nhưng phán đoán ở tầm kiến trúc và sự giám sát liên tục của con người vẫn là điều bắt buộc
- Việc đưa LLM vào sử dụng khiến định nghĩa vấn đề và thiết kế trở thành nhiệm vụ quan trọng hơn cả việc viết mã thực tế
- Vì AI cũng khuếch đại cả sai lầm, lập trình viên thiếu kinh nghiệm có nguy cơ không nhận ra lỗi của AI
- Lập trình trong tương lai sẽ coi năng lực cộng tác với AI, khả năng phán đoán và sự quyết đoán khi xóa bỏ là năng lực cốt lõi
Lập trình với LLM không phải thay thế con người mà là phương tiện tăng cường
- Công cụ lập trình dựa trên LLM giống như một bộ giáp cơ khí khuếch đại năng lực của nhà phát triển
- Tác giả gần đây đã dùng Claude Code để phát triển nền tảng agent backend và ứng dụng SaaS frontend
- Trong quá trình viết tổng cộng hơn 30.000 dòng mã, tác giả đã trực tiếp trải nghiệm tác động thực tế của LLM
- Claude Code không thay thế người dùng mà là công cụ khuếch đại năng lực của lập trình viên, giống như power loader của Ripley
- Các quyết định về kiến trúc, quản lý chất lượng và định hướng vẫn do con người dẫn dắt
- AI có lợi thế về tốc độ và các tác vụ lặp lại, nhưng nếu đi sai hướng thì có thể dẫn tới hậu quả nghiêm trọng
Vigilance: Viết mã với AI đòi hỏi sự chú ý không ngừng
- Claude Code đôi khi đưa ra những quyết định kỳ lạ, như bỏ qua vấn đề gốc hoặc hardcode chỉ để làm cho bài kiểm thử vượt qua
- Cũng có lúc nó cố gắng thay đổi framework một cách gượng ép hoặc thêm các dependency không cần thiết
- Giống như phi công, vào những thời điểm quan trọng con người nhất định phải can thiệp
- Chỉ một lúc lơ là, AI đã đi chệch hướng khiến mã backend phải viết lại hoàn toàn tới ba lần
- LLM làm giảm gánh nặng viết mã, nhưng gánh nặng giám sát và duy trì kiến trúc lại tăng lên
Sự thay đổi trong tính kinh tế của thời gian viết mã
- Thời gian lập trình theo truyền thống được chia thành ba phần: vì sao (mục tiêu), cái gì (thiết kế), như thế nào (viết mã)
- Sau khi áp dụng Claude Code, thời gian dành cho phần "như thế nào" gần như tiến sát về 0
- Tuy nhiên, việc suy nghĩ về "vì sao" và "cái gì" lại trở nên quan trọng hơn trước
- Vì mã có thể được tạo ra rất dễ dàng, giờ đây cần can đảm mạnh dạn bỏ đi mã hiện có để chọn cách tiếp cận tốt hơn
- Sự quyết đoán này vẫn còn xa lạ với nhiều lập trình viên, và đây đã trở thành thời đại mà năng lực phán đoán trong thiết kế quan trọng hơn thời gian triển khai
Kinh nghiệm tạo nên khác biệt
- Để tận dụng AI hiệu quả, cần có sự thấu hiểu và khả năng phán đoán được bồi đắp qua 30 năm kinh nghiệm
- Dù mã có chạy được, khả năng phát hiện các anti-pattern không phù hợp cho mở rộng hay bảo trì mới là điều quan trọng
- Lập trình viên thiếu kinh nghiệm rất dễ bỏ sót vấn đề trong mã do AI tạo ra, và có nguy cơ chỉ hài lòng với hiệu quả trước mắt
- Điều AI khuếch đại không chỉ là năng lực mà còn cả sai lầm, nên nếu thiếu khả năng phán đoán thì rủi ro cũng sẽ lớn hơn
Hiệu ứng centaur: Sự cộng tác giữa con người và AI
- Giống như centaur chess bắt nguồn từ cờ vua, sự kết hợp giữa AI và con người tạo ra kết quả tốt hơn AI hoạt động một mình
- Việc cộng tác với Claude Code cũng vậy: con người cung cấp định hướng chiến lược còn AI xử lý các công việc mang tính chiến thuật
- Cách làm hiệu quả nhất là viết spec theo dòng suy nghĩ rồi cùng Claude tinh chỉnh
- Vì Claude không thể tự đưa ra phán đoán phù hợp với ngữ cảnh, nên lúc nào cũng cần sự giám sát và phán đoán của con người
Giữ cân bằng: Điều phối giữa ủy quyền và kiểm soát
- Nếu để mặc AI, nó thường xuyên cố giải quyết vấn đề theo hướng phức tạp hóa quá mức
- Ví dụ: viết mã trùng lặp, chọn sai công nghệ và các trục trặc khác của AI thực sự gây ra vấn đề
- Ở frontend cũng liên tục lặp lại tình huống phải điều chỉnh để các cách triển khai bất thường của JavaScript quay về hướng Elixir hoặc LiveView
- Cần xây dựng nhịp cộng tác trong đó giao các việc đơn giản, lặp lại cho AI, còn những phần đòi hỏi phán đoán phức tạp thì con người trực tiếp can thiệp
- Nhờ AI mà có thể phát triển rất nhanh, nhưng nếu không có sự can thiệp của con người thì mọi thứ đã không thể vận hành đúng đắn
Tương lai là tăng cường
- LLM có thể sẽ không hoàn toàn thay thế lập trình viên, nhưng sẽ làm thay đổi mạnh mẽ cách làm việc và những năng lực cần có
- Tư duy cấu trúc, nhận diện pattern và năng lực phán đoán kỹ thuật sẽ quan trọng hơn khả năng viết mã đơn thuần
- Bản thân năng lực cộng tác với AI đang nổi lên như một kỹ năng kỹ thuật mới
- Nhà phát triển thành công trong tương lai sẽ không sợ AI mà là người hiểu và biết cách xử lý cả giới hạn lẫn khả năng của nó
- AI không phải công cụ nhằm loại bỏ con người mà là công cụ để mở rộng khả năng của con người
3 bình luận
Tôi đâu phải Amuro, mà cũng có được cấp Gundam đâu....?
Hiệu năng của mobile suit khác nhau không phải là yếu tố quyết định tạo nên chênh lệch sức mạnh mang tính quyết định đâu..
Ý kiến trên Hacker News
Điều quan trọng hơn cả việc viết code là hiểu vấn đề và thiết kế
Giới hạn và điểm cần lưu ý của LLM
Mức tăng năng suất mà LLM mang lại
Tầm quan trọng của kinh nghiệm và năng lực phán đoán kỹ thuật
LLM không thay thế lập trình viên mà là công cụ hỗ trợ
Kết quả thay đổi tùy theo cách sử dụng LLM
Thay đổi công việc và những lo ngại do LLM gây ra
Tương lai của LLM và tác động xã hội