AI và cái bẫy của sự tiện lợi
Nhìn lại cách mình làm việc gần đây, kể từ khi AI phát triển mạnh, thì phải thừa nhận là mọi thứ thay đổi khá nhiều. Gặp bug thì paste error vào AI trước, xem nó gợi ý gì. Viết API mới thì mô tả requirement, để nó generate một bản draft rồi chỉnh lại. Query phức tạp thì mô tả structure, nhờ nó viết nháp cho nhanh.
Không phải lúc nào AI cũng đúng. Đưa thiếu context thì nó vẫn sai, vẫn hallucinate, vẫn tự tin đưa ra những thứ nhìn có vẻ hợp lý nhưng chạy lên thì vỡ. Mình vẫn phải đọc lại, sửa lại, bổ sung thêm. Nhưng tổng thể mà nói thì tốc độ làm việc nhanh hơn hẳn so với trước. Nhiều thứ mà ngày xưa phải ngồi mò cả buổi thì giờ rút ngắn xuống còn vài chục phút.
Cho đến một hôm, mình nhìn lại commit log cuối ngày. Khá nhiều. PR cũng gọn. Task close cũng kha khá. Nhìn vào thì năng suất ghê. Nhưng ngồi lại một mình, mình tự hỏi: hôm nay mình thực sự suy nghĩ cái gì chưa?
Không phải là không nghĩ gì, nhưng cái kiểu suy nghĩ sâu, kiểu ngồi vò đầu, vẽ bậy ra giấy, rồi bất chợt "à, ra là vậy" thì gần như không còn. Thay vào đó là một vòng lặp rất êm: prompt → đọc output → chỉnh sửa → tiếp. Êm đến mức mình không nhận ra mình đang nghĩ ít đi.
Cái cảm giác đó nó kỳ lắm. Giống kiểu ăn buffet, no căng bụng, nhưng ra về thì chẳng nhớ mùi vị món nào.
Năng suất hay chỉ là ảo giác?
Từ hôm đó mình bắt đầu để ý nhiều hơn, và thấy một pattern khá rõ.
Những ngày dùng AI nhiều thì output cao, đo bằng commit, bằng task, bằng PR thì đẹp lắm. Nhưng cuối ngày nếu ai hỏi "hôm nay em học được gì mới?" thì mình chịu. Kiến thức không tăng. Kỹ năng không sắc hơn. Mình chỉ đang... hoàn thành công việc.

Ngược lại, những ngày mình tự mò, tự debug, tự vẽ flow ra giấy rồi ngồi nghĩ, thì chậm hơn nhiều. Có khi cả buổi sáng chỉ xong một cái function. Nhưng xong rồi thì mình hiểu nó từ trong ra ngoài, và kiểu hiểu đó nó ăn vào đầu lâu lắm.
Không phải AI sai. Phần lớn nó trả lời đúng. Vấn đề nằm ở chỗ khác: khi câu trả lời đến quá nhanh, quá dễ dàng, não mình skip mất cái bước "vật lộn" mà lẽ ra nó cần phải đi qua để thực sự hiểu. Giống như xem đáp án trước khi giải bài toán vậy. Đọc thì thấy "ờ, dễ mà, hiểu rồi". Nhưng gấp sách lại thì không tự làm được. Cái "hiểu" đó là ảo giác.
Hai kiểu dùng AI nhìn giống nhau nhưng khác nhau rất nhiều
Sau một thời gian, mình nhận ra không phải lúc nào dùng AI cũng xấu. Vấn đề nằm ở cách dùng.
Có những lúc mình đã hiểu vấn đề rồi, biết hướng giải quyết rồi, chỉ cần AI generate code cho nhanh. Kiểu mình biết cần viết middleware rate limiting, hiểu logic, nhưng ngại gõ từng dòng thì nhờ AI generate code. Cái này ổn, nó tiết kiệm thời gian ở phần mình đã nắm rõ.
Nhưng có những lúc mình chưa hiểu vấn đề, chưa biết nên xử lý ra sao, và nhờ AI làm từ A đến Z. Nó cho ra kết quả, chạy thử thấy ổn, commit lên. Xong rồi có người hỏi "tại sao chọn cách này?" thì mình ấp úng. Cái này mới là vấn đề.

Hai kiểu nhìn bề ngoài giống hệt nhau, cùng là gõ prompt và nhận code. Nhưng một cái mình đang dùng AI như công cụ, còn cái kia mình đang để AI dắt mình đi.
AI tự tin lắm, nhưng tự tin không có nghĩa là đúng
Một điều mình thấy "nguy hiểm" ở AI là nó trả lời lúc nào cũng rất chắc chắn. Không bao giờ nó nói "cái này mình không chắc lắm". Code viết ra rõ ràng, giải thích mạch lạc, format đẹp. Nhìn vào rất thuyết phục, rất dễ tin là nó sẽ works một cách hoàn hảo.
Mình đã có lần tin nó mà ăn quả đắng. Lần đó nó suggest cách xử lý concurrency, nhìn thì hợp lý, test cũng pass, nhưng lên production với traffic thật thì race condition xuất hiện. Nguyên nhân là ngay từ đầu mình không tự suy nghĩ về edge case, chỉ thấy AI viết "có vẻ đúng" thì apply luôn.

Bài học mình rút ra là: AI output càng tự tin, càng mạch lạc, thì mình càng cần tỉnh táo. Vì cái phần nhỏ nó sai thì lại hay rơi vào chỗ mình ít ngờ nhất.
AI là công cụ, mình mới là người cầm cương
Sau mấy lần như vậy, mình bắt đầu thay đổi cách nhìn. AI rất mạnh, rất nhanh, nhiều lúc giải thích còn rõ hơn người. Nhưng có một thứ nó thiếu: nó không biết hệ thống mình đang chạy thế nào, không hiểu business logic đặc thù, và quan trọng nhất là nó không chịu trách nhiệm khi code sai. Người chịu trách nhiệm vẫn là mình.
Mình hay tự hỏi: nếu bỏ AI đi, mình có còn giải quyết được vấn đề không? Nếu câu trả lời là không thì có nghĩa mình đang phụ thuộc chứ không phải đang sử dụng. Một dev mà không có AI thì vẫn phải là dev. AI nên làm mình nhanh hơn, chứ không phải làm mình tồn tại.

Nghĩ vậy thì cách dùng cũng khác đi. Mình không nhờ AI quyết định, mình nhờ AI hỗ trợ để mình quyết định tốt hơn. Khác biệt nhỏ nhưng thay đổi rất nhiều.
Mình bắt đầu dùng AI kiểu khác: thay vì hỏi "viết cho mình cách giải quyết X" thì hỏi "mình định làm thế này, có vấn đề gì không?". Thay vì để nó generate xong rồi apply, mình đọc kỹ rồi tự hỏi "nếu không có AI thì mình có viết giống vậy không, và tại sao?".
Và một thứ nữa mình thấy hiệu quả: lên plan cùng AI trước khi bắt tay vào code. Thay vì đưa requirement rồi bảo "viết cho mình", mình sẽ dùng AI để thảo luận trước. "Mình cần xử lý bài toán này, nên thiết kế thế nào?", "Edge case nào cần cover?". Đẩy qua đẩy lại, phản biện, bổ sung, cho đến khi cả mình lẫn AI đều clear về solution. Lúc đó mới bắt đầu implement.
Mình cũng hay nhờ AI vẽ diagram trước khi code. Sequence diagram, flow chart, hay đơn giản là một cái sơ đồ các component nói chuyện với nhau thế nào. Nhìn thấy bức tranh tổng thể trước khi đụng vào chi tiết, mình tránh được rất nhiều lần phải đập đi xây lại vì "lúc đầu không nghĩ tới".
Nói chung, mình đang tập coi AI như một người cộng tác ở giai đoạn planning, chứ không chỉ là người viết code thay ở giai đoạn implementation. Khi plan đã chốt, mọi thứ đã rõ ràng, thì lúc đó AI generate code mới thực sự có giá trị, vì mình biết mình đang cần gì và đánh giá được output nó đưa ra.
Giá trị của dev không nằm ở tốc độ gõ code
Mình để ý là khi AI xuất hiện, nhiều người bắt đầu đo giá trị của dev bằng tốc độ output. Ship nhanh hơn, commit nhiều hơn, close ticket nhiều hơn. Và AI thì giỏi mấy cái đó thật. Nó generate code nhanh hơn bất kỳ ai.
Nhưng đi làm rồi mình thấy, những lúc mình thực sự tạo ra giá trị cho team lại không phải lúc mình code nhanh nhất. Mà là lúc mình hiểu bài toán đủ sâu để đề xuất một cách làm đơn giản hơn, tiết kiệm cả tuần dev. Là lúc mình đọc requirement rồi hỏi ngược lại PO "case này có thực sự cần không?", và câu trả lời là không, vậy là bớt được một feature không ai dùng. Là lúc mình nhìn cái design của team rồi chỉ ra một bottleneck mà nếu không xử lý sớm thì 3 tháng nữa sẽ thành tech debt.

Những thứ đó AI không làm được. Không phải vì nó không đủ giỏi, mà vì nó không có context. Nó không ngồi trong meeting, không hiểu team dynamics, không biết cái service kia là do ông A viết hồi mới vào nghề và đụng vào là vỡ, không biết PO hay thay đổi requirement vào phút chót nên cần design linh hoạt hơn bình thường.
Giá trị của dev trong thời AI, theo mình nghĩ, đang dịch chuyển. Ít hơn về "gõ code", nhiều hơn về "nghĩ đúng cái cần gõ". Và nếu mình chỉ dùng AI để gõ nhanh hơn mà quên tập nghĩ, thì mình đang tự giảm đi chính cái giá trị mà AI không thay thế được.
AI không biết đặt câu hỏi
Đây là thứ mình nghĩ về nhiều nhất gần đây.
AI rất giỏi trả lời. Nhưng nó không biết hỏi ngược. Nó không hỏi "requirement này có hợp lý không?". Không hỏi "user có thực sự cần feature này?". Không hỏi "với deadline này thì nên trade-off chỗ nào?". Mình đưa gì, nó làm đó.
Nhưng thực tế đi làm thì phần lớn giá trị của dev không nằm ở viết code nhanh. Nó nằm ở chỗ biết hỏi đúng câu trước khi gõ dòng đầu tiên. "Cần cache ở đây hay optimize query là đủ?" "API này design cho flexibility hay simplicity?" "Cái này có đáng để build không hay đang over-engineer?"

Những câu hỏi đó vẫn là của mình. Và nếu mình quen để AI nghĩ thay, dần dần mình cũng quên luôn cách đặt câu hỏi. Đó mới là thứ đáng lo.
Lời kết
Đây chỉ là góc nhìn cá nhân của mình tại thời điểm này thôi. Mình vẫn dùng AI mỗi ngày, vẫn thấy nó giúp ích rất nhiều. Chỉ là đang tập cân bằng giữa việc nhờ AI và việc tự nghĩ, để cái đầu mình không bị rỉ sét vì quá lâu không dùng đến. Biết đâu vài tháng nữa đọc lại bài này mình sẽ nghĩ khác. Nếu bạn đọc đến đây mà thấy gật gù thì chắc mình không phải người duy nhất đang nghĩ về chuyện này. Còn nếu bạn có cách dùng AI hay hơn thì chia sẻ với mình nhé, mình luôn sẵn sàng học hỏi. Hẹn gặp lại các bạn ở những bài viết sau.
All rights reserved