Chuyển tới nội dung chính

Andrej Karpathy: Có Hai Loại Lập Trình Viên -- Người Code Với AI, Và Người Bị Bỏ Lại Phía Sau

Andrej Karpathy: Có hai loại lập trình viên - lập trình viên 10x

Andrej Karpathy biết anh đang nói gì. Cựu Giám đốc AI tại Tesla, nhà nghiên cứu sớm của OpenAI, người tạo ra khóa học computer vision huyền thoại tại Stanford -- anh đã viết code và triển khai các hệ thống AI production suốt hơn một thập kỷ. Khi anh nói quy trình phát triển của mình vừa trải qua sự thay đổi lớn nhất trong 20 năm, đó là điều đáng để lắng nghe.

Luận điểm cốt lõi của anh: các công cụ như Deep Code không chỉ là autocomplete hào nhoáng. Chúng là hệ số nhân đòn bẩy. Trong cùng một khoảng thời gian bạn từng bỏ ra, bạn có thể ship gấp mười lần. Quan trọng hơn, bạn có thể dấn thân vào những dự án mà trước đây cảm tưởng hoàn toàn ngoài tầm với. AI vẫn mắc lỗi -- nó over-engineer, đưa ra giả định sai, và không biết phản bác khi cần -- nhưng lợi ích ròng là không thể phủ nhận. Bạn thích nghi càng sớm, lợi thế càng lớn.

Trong vài tuần qua tôi đã viết khá nhiều code với Claude Code. Dưới đây là những gì tôi học được.

Quy trình lập trình

Đợt cải tiến LLM gần đây nhất đã đảo lộn hoàn toàn quy trình làm việc của tôi. Tháng 11 trước, tôi khoảng 80% gõ tay với IDE autocomplete, 20% dùng agent. Đến tháng 12 thì hoàn toàn ngược lại: 80% code do agent viết, 20% tôi dọn dẹp.

Bây giờ tôi chủ yếu "nói code thành hiện thực". Tôi mô tả điều mình muốn bằng tiếng Anh thường và nhìn nó thành hình. Thành thật mà nói, điều này hơi tổn thương lòng tự trọng của lập trình viên. Nhưng khả năng thao tác trên toàn bộ codebase cùng lúc -- tái cấu trúc, tạo khung, kết nối mọi thứ -- quá tốt để bỏ qua. Nhất là khi bạn đã quen nhịp điệu: tinh chỉnh config, cảm nhận được chỗ nó làm tốt và chỗ nó vấp ngã.

Đây là sự thay đổi lớn nhất trong quy trình phát triển của tôi trong gần 20 năm viết code. Và nó xảy ra chỉ trong vài tuần. Tôi đoán một tỷ lệ đáng kể các kỹ sư (hai chữ số phần trăm) cũng đang trải qua điều tương tự. Còn công chúng nói chung? Có lẽ chỉ một tỷ lệ rất nhỏ biết chuyện này đang xảy ra.

IDE / Bầy agent / Tính tất yếu của lỗi

Hai câu chuyện đang lan truyền: "IDE đã chết" và "bầy agent tự trị sẽ xử lý mọi thứ." Tôi nghĩ cả hai đều bị thổi phồng ở thời điểm hiện tại.

Mô hình vẫn mắc lỗi. Nếu bạn thực sự quan tâm đến dự án, hãy để mắt đến mọi thứ. Tôi vẫn mở IDE đầy đủ trong một cửa sổ phụ và canh chừng như cắt.

Tuy nhiên, lỗi bây giờ khác rồi. Không phải lỗi cú pháp nữa. Chúng tinh vi hơn -- lỗi khái niệm, kiểu mà một junior dev vội vàng hay mắc phải. Mô hình âm thầm bù đắp các giả định cho bạn, bù sai, không bao giờ kiểm tra lại, và cứ thế xây tiếp trên tiền đề sai đó.

Nó cũng không quản lý sự không chắc chắn của chính mình tốt. Nó sẽ không dừng lại và hỏi "nè, bạn muốn A hay B ở đây?" Nó sẽ không đánh dấu sự không nhất quán. Hiếm khi nó phản bác. Nó hơi quá chiều lòng người. Cho nó viết kế hoạch trước, rồi thực thi theo kế hoạch đó, giúp ích rất nhiều. Tôi thực sự nghĩ cần có một chế độ lập kế hoạch nhẹ nhàng, inline.

Nó cũng rất thích over-engineer. Các tầng abstraction chồng chất khắp nơi. Code cảm giác nặng nề. Và nó hầu như không bao giờ dọn dẹp dead code mà nó tạo ra.

Tôi đã nhìn nó phun ra một triển khai trải dài cả ngàn dòng -- chậm, giòn, đầy những ngõ cụt không cần thiết. Rồi tôi hỏi, "Làm cách đơn giản hơn được không?" và nó lập tức "Ồ, tất nhiên!" rồi cô đọng toàn bộ xuống còn một trăm dòng.

Thỉnh thoảng nó xóa hoặc viết lại những comment và code chẳng liên quan gì đến nhiệm vụ, chỉ vì nó không hiểu hoặc không thích chúng. Tôi đã thực sự thêm ghi chú trong CLAUDE.md bảo nó đừng làm thế, mà chuyện vẫn xảy ra. Nhưng dù tất cả những điều đó, lợi ích ròng vẫn khổng lồ. Tôi thực sự không thể tưởng tượng quay lại.

Mỗi người tự tìm ra flow của riêng mình. Của tôi: một vài phiên Claude Code trong Ghostty bên trái, IDE bên phải để đọc code và thực hiện các chỉnh sửa chính xác.

Sự kiên trì

Nhìn một agent quần thảo với một vấn đề, thú thật, rất hấp dẫn. Nó không mệt. Nó không nản lòng. Con người đã nói "kệ, mai tính" từ cả tiếng trước. Nó cứ... tiếp tục.

Thỉnh thoảng bạn nhìn nó vật lộn tưởng chừng mãi mãi. Rồi 30 phút sau, nó cuối cùng giải quyết xong. Khoảnh khắc đó bạn cảm nhận rõ rệt "wow, cái này có hương vị AGI."

Bạn nhận ra: sức bền tinh thần và thể chất là nút thắt cổ chai cốt lõi trong việc hoàn thành công việc. LLM đã phá vỡ trần giới hạn đó.

Tăng tốc

Rất khó để đong đếm LLM giúp bạn nhanh hơn bao nhiêu. Tôi chắc chắn nhanh hơn ở những thứ vốn đã làm. Nhưng thay đổi lớn hơn là bây giờ tôi làm những thứ mà trước đây hoàn toàn không dám thử.

Hai lý do:

  1. Hàng tá tác vụ nhỏ mà trước đây cảm thấy "không đáng bỏ công" giờ trở nên cực kỳ dễ dàng.
  2. Các codebase mà trước đây tôi sẽ tránh -- vì thiếu kiến thức hoặc kỹ năng -- bỗng nhiên cảm thấy có thể tiếp cận.

Vậy nên đúng, đó là sự tăng tốc. Nhưng hơn thế, đó là sự mở rộng. Phạm vi những thứ tôi có khả năng làm đã tăng lên.

Đòn bẩy

Đây là một trong những điều mạnh mẽ nhất về LLM: chúng rất giỏi trong việc lặp lại theo vòng cho đến khi đạt được mục tiêu bạn đã định nghĩa. Nhiều khoảnh khắc "hương vị AGI" xuất hiện chính từ đây.

Chỉnh then: đừng vi quản lý. Hãy cho nó biết thành công trông như thế nào và để nó tự tìm đường.

Bạn có thể cho nó viết test trước, rồi bắt nó vượt qua chính các test của mình. Kết nối nó với trình duyệt qua MCP và cho nó lặp. Viết một thuật toán đơn giản, hiển nhiên đúng, rồi bảo nó "giờ tối ưu hiệu suất nhưng phải giữ nguyên kết quả."

Sự chuyển đổi tư duy là từ mệnh lệnh sang khai báo. Thay vì "làm A, rồi B, rồi C," bạn nói "kết quả cần trông như thế này." Agent tự lặp lại vài vòng, và bạn nhận được một tầng đòn bẩy miễn phí.

Niềm vui

Tôi không ngờ điều này, nhưng lập trình thực sự trở nên thú vị hơn. Tất cả công việc điền khuyết tẻ nhạt được agent hấp thụ. Phần còn lại là những phần sáng tạo.

Tôi cũng ít bị kẹt hơn. Bị kẹt rất khó chịu. Bây giờ hầu như luôn có con đường "cộng tác với nó và ít nhất tiến thêm một bước," khiến việc bắt đầu trở nên dễ dàng hơn.

Tuy nhiên, tôi cũng gặp người cảm thấy ngược lại -- lập trình với LLM khiến họ ít vui hơn.

Về lâu dài, tôi nghĩ điều này chia kỹ sư thành hai nhóm: người yêu thích việc viết code, và người yêu thích việc tạo ra sản phẩm.

Thoái hóa

Tôi đã cảm nhận được: khả năng viết code từ đầu của tôi đang từ từ mai một. Trong não bộ, "tạo sinh" (viết code) và "phân biệt" (đọc và review code) là hai kỹ năng riêng biệt. Viết code đòi hỏi ghi nhớ cả đống cú pháp chi tiết. Đọc code là về hiểu logic và cấu trúc. Nên dù cơ tạo sinh của bạn có yếu đi, bạn vẫn có thể review code hiệu quả -- phát hiện chỗ bất thường, tìm ra bug.

Slopacolypse

Tôi đang chuẩn bị tinh thần: 2026 có thể là năm bùng nổ nội dung rác.

GitHub, Substack, arXiv, YouTube, Reddit -- mọi nền tảng nội dung số sẽ bị ngập trong tài liệu do AI tạo ra. Chúng ta sẽ thấy một làn sóng "biểu diễn năng suất" hào nhoáng, demo bắt mắt trông rất ấn tượng nhưng không chịu nổi thử thách. Trong đó cũng sẽ có những cải thiện năng suất thật sự, hữu hình. Nhưng bạn sẽ phải đào bới mới tìm được.

Câu hỏi

Lập trình viên 10x sẽ trông như thế nào trong tương lai? Khoảng cách giữa kỹ sư trung bình và kỹ sư hàng đầu sẽ rộng hơn nữa không? Dự đoán của tôi: rộng hơn nhiều.

Liệu generalist sẽ bắt đầu vượt qua specialist? LLM cực kỳ giỏi trong việc bổ sung chi tiết (vi mô) nhưng yếu hơn ở tư duy tổng thể và chiến lược dài hạn (vĩ mô). Sự lệch này có lợi cho người có thể nhìn thấy toàn bộ bàn cờ.

Lập trình với LLM sẽ cảm giác như thế nào trong năm năm nữa? StarCraft? Factorio? Biểu diễn một bản nhạc?

Bao nhiêu phần xã hội thực sự bị nút thắt cổ chai bởi công việc tri thức số?

Kết luận: Điều này đưa chúng ta đến đâu?

Khả năng agent của LLM -- đặc biệt là Claude Code -- đã vượt qua ngưỡng về tính mạch lạc tổng thể vào khoảng tháng 12 năm 2025. Điều đó đã kích hoạt một sự chuyển pha trong kỹ thuật phần mềm. Cách mọi thứ được hoàn thành đã thay đổi theo cấp số nhân, gần như qua một đêm.

Hiện tại cảm giác như trí tuệ đã chạy xa hơn mọi thứ xung quanh nó. Tích hợp công cụ chưa bắt kịp. Các đội ngũ cần quy trình làm việc và mô hình cộng tác mới. Ngành công nghiệp vẫn đang tiêu hóa những gì vừa xảy ra.

2026 sẽ là một năm căng thẳng. Mọi người đều đang vội vã hấp thụ và nội tại hóa khả năng mới này. Cửa sổ cơ hội đang mở ngay bây giờ. Những người hiểu ra điều này sớm sẽ có lợi thế khởi đầu khổng lồ.