AI đang tạo ra một loại Tech Debt mới - và không ai nói về nó
AI/ML·Dev.to·2 lượt xem

AI đang tạo ra một loại Tech Debt mới - và không ai nói về nó

AI Is Creating a New Kind of Tech Debt — And Nobody Is Talking About It

AI Summary

Các công cụ AI hỗ trợ code đã giúp tăng tốc độ phát triển một cách đáng kể, nhưng đồng thời lại đang tạo ra một loại "tech debt" mới, khó nhận biết hơn. "AI tech debt" này biểu hiện dưới dạng: * **Cognitive debt:** Lập trình viên không thực sự hiểu rõ về code mà họ đang đưa vào sản phẩm. * **Verification debt:** Chấp nhận và duyệt code được tạo bởi AI mà không kiểm tra kỹ lưỡng hoặc hiểu hết. * **Architectural debt:** Code do AI tạo ra vi phạm các nguyên tắc thiết kế và cấu trúc hệ thống. Hậu quả là chúng ta có thể sở hữu một codebase ngày càng khó quản lý, dẫn đến việc giảm niềm tin vào các công cụ AI dù vẫn sử dụng chúng nhiều. Đồng thời, rủi ro bảo mật cũng tăng lên đáng kể. Để tránh rơi vào khủng hoảng về hệ thống không thể bảo trì, các lập trình viên cần ưu tiên việc hiểu và kiểm tra chặt chẽ code do AI tạo ra, thay vì chỉ chăm chăm vào tốc độ.

Sáu tháng trước, đội của tôi đã ăn mừng. Chúng tôi đã cung cấp nhiều tính năng hơn trong Quý 3 so với cả năm trước. Vận tốc của chúng tôi đã xuyên qua mái nhà. Các công cụ AI đã thay đổi cách chúng ta làm việc — điều từng khiến...

Sáu tháng trước, nhóm của tôi đã ăn mừng.

Chúng tôi đã cung cấp nhiều tính năng hơn trong Quý 3 so với cả năm trước. Vận tốc của chúng tôi đã xuyên qua mái nhà. Các công cụ AI đã thay đổi cách chúng ta làm việc - trước đây mất một tuần nay mất một ngày. Trước đây mất một ngày giờ đã mất một giờ.

CTO của chúng tôi đã gửi một thông điệp tới Slack cho toàn công ty: "Đây chính là tương lai của ngành kỹ thuật."

Tháng trước, chúng tôi đã phải dừng mọi hoạt động phát triển tính năng trong ba tuần.

Không phải do vi phạm an ninh. Không phải do máy chủ ngừng hoạt động. Bởi vì cơ sở mã của chúng tôi đã trở nên rối rắm với mã do AI tạo ra đến mức không ai — kể cả những người đã "viết" nó - có thể tự tin sửa đổi nó nữa.

Chúng ta đã ăn mừng khi bước vào một cuộc khủng hoảng.

Và phần tồi tệ nhất? Tôi thấy nó đang đến. Tôi chỉ không biết mình đang nhìn cái gì. 🧵

Khoản nợ công nghệ mới chưa ai được đặt tên cho đến bây giờ

Nợ kỹ thuật là chuyện cũ. Mọi nhà phát triển đều biết cảm giác đó - gấp rút hoàn thành, cắt giảm các bước, tự hứa với bản thân rằng sau này bạn sẽ tái cấu trúc. Mã hoạt động ngày hôm nay. Ngày mai nó sẽ là vấn đề của người khác.

Nợ công nghệ AI thì khác. Nó không phải là về việc cắt góc. Đó là việc di chuyển nhanh đến mức bạn sẽ mất hoàn toàn sợi dây.

Trên thực tế, hiện có ba loại nợ kỹ thuật AI riêng biệt đang tích lũy trong các cơ sở mã — và hầu hết các nhóm đều đang gặp phải cả ba loại nợ này cùng một lúc:

1. Nợ nhận thức — vận chuyển mã nhanh hơn mức bạn có thể hiểu

2. Nợ xác minh — phê duyệt các khác biệt mà bạn chưa đọc đầy đủ

3. Nợ kiến trúc — AI tạo ra các giải pháp hoạt động vi phạm thiết kế của hệ thống

Hầu hết các bài viết về AI và nợ công nghệ đều tập trung vào chất lượng mã. Đó là mức độ sai lầm. Cuộc khủng hoảng thực sự đang diễn ra ở cấp độ cao hơn — trong suy nghĩ của các nhà phát triển, những người lẽ ra phải hiểu rõ hệ thống mà họ đang xây dựng.

Khoảnh khắc tôi hiểu chuyện gì đang xảy ra

Hãy để tôi kể cho bạn nghe về tuần mà mọi thứ đã diễn ra.

Một nhà phát triển mới đã gia nhập nhóm của chúng tôi - hãy gọi anh ấy là Rahul. Sáng sủa, nhanh nhẹn, tài năng rõ ràng. Anh ấy đã sử dụng Cursor và Claude Code một cách tích cực kể từ ngày đầu tiên.

Sau ba tuần, tôi yêu cầu anh ấy hướng dẫn tôi quy trình xác thực mà anh ấy đã xây dựng.

Anh ấy đã mở tập tin. Bắt đầu giải thích. Đã truy cập logic làm mới mã thông báo và tạm dừng.

"Thực ra," anh ấy nói, "Tôi không hoàn toàn chắc chắn tại sao nó lại được cấu trúc theo cách này. Nó hoạt động khi tôi thử nghiệm nó."

Tôi không hề tức giận. Tôi nhận ra cảm giác đó. Đó là cảm giác giống như khi tôi cố gắng gỡ lỗi mã do AI tạo ra và có cảm giác như đang đọc tác phẩm của người khác.

Cuộc trò chuyện đó đã dẫn tôi đến một hố thỏ và điều này đã thay đổi hoàn toàn cách tôi nghĩ về các công cụ AI.

Những con số giải thích cuộc khủng hoảng

Dữ liệu này lẽ ra phải là tin tức trang nhất trong mọi cộng đồng nhà phát triển — nhưng không hiểu sao lại không phải vậy:

Niềm tin của nhà phát triển đối với các công cụ mã hóa AI đã giảm từ 43% xuống 29% trong 18 tháng. Tuy nhiên, mức sử dụng đã tăng lên 84%.

Đọc lại lần nữa. Các nhà phát triển ít tin tưởng vào các công cụ AI hơn bao giờ hết. Họ đang sử dụng chúng hơn bao giờ hết. Khoảng trống đó — sử dụng những công cụ mà bạn ngày càng không tin tưởng — giờ đây có tên: nợ nhận thức.

Nó trở nên tồi tệ hơn.

75% các nhà lãnh đạo công nghệ được dự đoán sẽ phải đối mặt với vấn đề nợ ở mức độ trung bình hoặc nghiêm trọng vào năm 2026 do các hoạt động mã hóa được tăng tốc bởi AI.

Và điều khiến tôi đau lòng nhất:

Một công ty bảo mật API nhận thấy số lượng phát hiện bảo mật tăng gấp 10 lần mỗi tháng ở các doanh nghiệp Fortune 50 trong khoảng thời gian từ tháng 12 năm 2024 đến tháng 6 năm 2025. Từ 1.000 đến hơn 10.000 lỗ hổng hàng tháng. Trong sáu tháng nữa.

Lỗ hổng bảo mật tăng gấp 10 lần. Trong sáu tháng. Ở những công ty lớn nhất thế giới.

Đây là điều xảy ra khi vận tốc trở thành thước đo duy nhất.

"Tôi từng là một thợ thủ công"

Một nhà phát triển đã nắm bắt được điều gì đó quan trọng theo cách mà tôi luôn nghĩ tới:

"Tôi từng là thợ thủ công... và bây giờ tôi cảm thấy như mình là giám đốc nhà máy ở IKEA vậy."

Hình ảnh đó đọng lại trong tôi. Không phải vì nó bi quan — mà vì nó chính xác.

Một người quản lý nhà máy tại IKEA không hiểu mọi món đồ nội thất được tạo ra như thế nào. Họ quản lý thông lượng. Họ theo dõi những khiếm khuyết rõ ràng. Họ tin tưởng vào hệ thống.

Điều đó phù hợp với đồ nội thất. Tính năng này không hoạt động đối với các hệ thống phần mềm xử lý dữ liệu người dùng, xử lý thanh toán hoặc chạy cơ sở hạ tầng mà mọi người phụ thuộc vào.

Phần mềm cần có người hiểu đủ sâu về nó để suy luận điều gì sẽ xảy ra khi có sự cố xảy ra. Mô hình quản lý nhà máy — thông lượng cao, đánh giá nông cạn — tạo ra những hệ thống mà không ai thực sự hiểu được.

Và những hệ thống không ai hiểu được sẽ bị hỏng theo những cách mà không ai có thể dự đoán hoặc khắc phục nhanh chóng.

Ba loại nợ - Bằng tiếng Anh đơn giản

Hãy để tôi giải thích chính xác những gì đang tích lũy trong cơ sở mã ngay bây giờ.

1. Nợ nhận thức - Cuộc khủng hoảng vô hình

Margaret-Anne Storey đã mô tả điều này một cách hoàn hảo: chương trình không phải là mã nguồn của nó. Chương trình là một lý thuyết — một mô hình tinh thần tồn tại trong tâm trí các nhà phát triển, nắm bắt những gì phần mềm thực hiện, ý định được triển khai như thế nào và điều gì xảy ra khi bạn thay đổi mọi thứ.

Theo mặc định, các công cụ AI đẩy nhà phát triển từ chế độ tạo sang chế độ đánh giá. Bạn ngừng giải quyết vấn đề và bắt đầu đánh giá các giải pháp mà người khác đưa ra.

Vấn đề là việc xem xét kết quả đầu ra của AI cảm thấy hiệu quả. Bạn đang đọc mã, phát hiện vấn đề, chỉnh sửa. Nhưng bạn không xây dựng mô hình tinh thần cho phép bạn suy luận về hệ thống một cách độc lập.

Một nhóm sinh viên đã minh họa điều này một cách hoàn hảo — họ đã sử dụng AI để xây dựng nhanh chóng và có phần mềm hoạt động được. Khi họ cần thực hiện một thay đổi đơn giản vào tuần thứ bảy thì dự án bị đình trệ. Không ai có thể giải thích lý do thiết kế. Không ai hiểu các thành phần tương tác như thế nào. Lý thuyết chung của chương trình đã bốc hơi.

// Mã này hoạt động. Bạn có thể giải thích lý do trong 30 giây không?
// Nếu bạn tạo nó bằng AI và không ngừng tìm hiểu nó — 
// bạn đã tích lũy được khoản nợ nhận thức.
const processPayment = async (userId, số tiền,  tiền tệ) => {
  const [người dùng, rateLimit, lừa đảo] = await Promise.tất cả([
    db.người dùng.findById(userId),
     redis.nhận(`rate:${userId`),
    fraudService.kiểm tra(userId, số tiền)
  ]);
  if (!người dùng || rateLimit > 10 || lừa đảo.điểm > 0,7) {
    ném mới PaymentError(người dùng ? 'RATE_LIMITED' : 'USER_NOT_FOUND');
  
   // Bạn có thể phát hiện ra lỗi không? Điều gì xảy ra nếu gian lận.score chính xác là 0,7?
  // Điều gì sẽ xảy ra nếu rateLimit là null?
  // AI đã tạo ra điều này. Bạn có hiểu nó trước khi gửi nó không?
};

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

2. Nợ xác minh - Cái bẫy niềm tin sai lầm

Mỗi lần bạn nhấp vào phê duyệt một điểm khác biệt mà bạn chưa hiểu rõ, bạn đang vay mượn cho tương lai.

Không giống như nợ kỹ thuật — tự xuất hiện thông qua xích mích ngày càng gia tăng, xây dựng chậm, phụ thuộc rối rắm — nợ xác minh tạo ra niềm tin sai lầm. Cơ sở mã có vẻ sạch sẽ. Các bài kiểm tra đều có màu xanh.

Sáu tháng sau, bạn phát hiện ra rằng mình đã xây dựng chính xác những gì thông số kỹ thuật đề ra — và không có điều gì khách hàng thực sự mong muốn.

# Khoản nợ xác minh tích lũy ở đây:
# ✅ Tất cả các bài kiểm tra đều đạt
# ✅ Không có lỗi linting 
# ✅ Đã phê duyệt đánh giá mã
# ✅ Đã triển khai vào sản xuất
# Nhưng không ai hỏi:
 # ❌ Điều này có thực sự giải quyết được vấn đề của người dùng không?
# ❌ Điều gì xảy ra trong các trường hợp nguy hiểm mà AI không xem xét?
# ❌ Điều này có phù hợp với các mẫu kiến trúc của chúng tôi không?
# ❌ Liệu nhà phát triển tiếp theo có hiểu được điều này không?

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

3. Nợ kiến trúc - Khi các khuôn mẫu bị phá vỡ

Các tác nhân AI tạo mã hoạt động nhanh nhưng có xu hướng lặp lại các mẫu thay vì trừu tượng hóa chúng. Bạn kết thúc với năm cách triển khai hơi khác nhau của cùng một logic trên năm tệp. Mỗi người đều làm việc. Không ai trong số họ chia sẻ một tiện ích chung.

Mã do AI tạo ra có xu hướng đi theo hướng tốt đẹp. Nó xử lý tốt các trường hợp mà dữ liệu huấn luyện đã xử lý tốt - đầu vào tiêu chuẩn, trạng thái dự kiến, mã lỗi phổ biến. Các trường hợp biên, điều kiện chạy đua và lỗi cụ thể của cơ sở hạ tầng được xử lý hời hợt hoặc không xử lý gì cả.

Khi một tác nhân AI cần chức năng, nó sẽ tìm đến một gói hàng. Nó không cân nhắc xem cơ sở mã hiện tại đã đáp ứng được nhu cầu hay chưa, liệu phần phụ thuộc có được duy trì hay không hay kích thước gói có hợp lý cho một chức năng hay không.

Kết quả là cái mà tôi gọi là "sự hỗn loạn mạch lạc" — mã hợp lý về mặt cá nhân và không mạch lạc về mặt tổng thể.

Nghịch lý về năng suất - Tại sao nhanh hơn không thực sự nhanh hơn

Đây là sự mâu thuẫn mà không ai trong giới lãnh đạo muốn nghe:

Các công cụ mã hóa AI viết 41% tổng số mã thương mại mới vào năm 2026. Vận tốc chưa bao giờ cao hơn thế.

Tuy nhiên, theo phân tích của Stack Overflow, các nhà phát triển có kinh nghiệm lại báo cáo năng suất giảm 19% khi sử dụng các công cụ AI. Và phần lớn các nhà phát triển cho biết họ đã dành nhiều thời gian hơn để gỡ lỗi mã do AI tạo ra và dành nhiều thời gian hơn để giải quyết các lỗ hổng bảo mật.

Làm thế nào các công cụ tạo mã nhanh hơn có thể khiến nhà phát triển chậm hơn?

Bởi vì viết mã chưa bao giờ là điểm nghẽn.

Hiểu mã là điểm nghẽn. Mã gỡ lỗi là nút cổ chai. Sửa đổi mã bạn không viết — hoặc bạn viết nhưng không hiểu — là điểm nghẽn.

AI làm phần nhanh hơn. Nó làm cho những phần chậm chậm hơn.

Các nhóm đo lường tỷ lệ sử dụng AI và tốc độ tính năng đang tối ưu hóa các chỉ số sai. Họ đang bỏ qua việc tích lũy nợ kỹ thuật. Những công ty lao vào phát triển với sự hỗ trợ của AI mà không có cơ chế quản trị là những công ty phải đối mặt với khoản nợ tích lũy ở mức khủng hoảng trong năm 2026-2027.

Điều gì thực sự xảy ra khi không ai hiểu được mật mã

Tôi muốn nói cụ thể hơn về điều này trong thực tế.

Kịch bản 1: Tạm dừng trong 3 tuần

Đó là chúng tôi. Sáu tháng tăng tốc được AI hỗ trợ, sau đó là ba tuần ngừng hoạt động hoàn toàn vì chúng tôi cần hiểu những gì mình đã xây dựng trước khi có thể thay đổi nó một cách an toàn.

Vận tốc ròng sau khi tính đến việc đóng băng: tăng gần bằng 0 so với phát triển truyền thống.

Kịch bản 2: Bẫy nhà phát triển cấp dưới

54% lãnh đạo kỹ thuật dự định thuê ít nhà phát triển cấp dưới hơn do AI. Nhưng nợ kỹ thuật do AI tạo ra đòi hỏi khả năng phán đoán của con người để khắc phục — chính xác là phán đoán mà các nhà phát triển cấp dưới phát triển qua nhiều năm mắc sai lầm và học hỏi.

Bằng cách loại bỏ các vị trí cấp dưới, các tổ chức đang tạo ra một tương lai nơi họ thiếu năng lực con người để giải quyết khoản nợ phát sinh ngày nay.

Các kỹ sư cần thiết vào năm 2027 — những người có 2-4 năm kinh nghiệm gỡ lỗi — sẽ không tồn tại vì họ không được tuyển dụng.

Kịch bản 3: Quả bom hẹn giờ về an ninh

Một công ty bảo mật nhận thấy rằng quá trình phát triển có sự hỗ trợ của AI đã khiến mã có tỷ lệ vấn đề bảo mật cao hơn 2,74 lần so với mã do con người viết. Món nợ đó không tự thông báo. Nó đang trong quá trình sản xuất và chờ đợi.

Làm thế nào để thực sự khắc phục điều này - Thực tế

Sau ba tuần vất vả sửa lỗi và tái cấu trúc, đây là những gì nhóm của tôi đã thay đổi:

1. Giới thiệu "Bạn có thể gỡ lỗi lúc 2 giờ sáng không?" quy tắc

Trước khi hợp nhất bất kỳ mã nào do AI tạo ra, tác giả phải có khả năng trả lời:

"Nếu quá trình sản xuất này bị gián đoạn vào lúc 2 giờ sáng và gửi trang cho bạn, bạn có thể gỡ lỗi mà không cần xem lại không?"

Nếu câu trả lời là không — mã sẽ không hợp nhất cho đến khi tác giả hiểu nó.

Quy tắc này đã gây ra nhiều vấn đề hơn trong tuần đầu tiên của chúng tôi so với tất cả các quy trình xem xét mã trước đó của chúng tôi cộng lại.

2. Tách biệt "Phiên tạo" khỏi "Phiên hiểu"

Thứ Hai: Sử dụng AI để tạo tính năng (nhanh)
Thứ ba: Đọc từng dòng không cần AI hỗ trợ (chậm)
Thứ tư: Cấu trúc lại những gì bạn không hiểu (trung bình)
Thứ năm: Các trường hợp thử nghiệm mà AI không xem xét (trung bình)
Thứ sáu: Hợp nhất

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Chậm hơn trong thời gian ngắn. Nhanh hơn đáng kể trong khoảng thời gian sáu tháng.

3. Theo dõi nợ nhận thức - Không chỉ chất lượng mã

Thêm những câu hỏi này vào buổi cải tiến sprint của bạn:

  • Mọi thành viên trong nhóm có thể giải thích về các hệ thống cốt lõi mà chúng tôi đã triển khai trong sprint này không?
  • Có phần nào chỉ một người hiểu được không?
  • Chúng tôi có gửi bất kỳ thứ gì mà chúng tôi không thể tự tin sửa đổi vào tuần tới không?

Đây không phải là những câu hỏi tình cảm. Chúng là những đánh giá rủi ro.

4. Đối xử với AI như một nhà phát triển trẻ xuất sắc

Mạnh mẽ. Nhanh. Tự tin về những điều không nên tự tin. Cần có sự giám sát đối với mọi vấn đề phức tạp.

Quy tắc dành cho nhà phát triển cấp dưới:
✅ Dùng cho tấm ván khuôn và giàn giáo
✅ Sử dụng cho các mẫu được hiểu rõ
✅ Sử dụng để tạo thử nghiệm
⚠️ Xem xét mọi thứ một cách cẩn thận
❌ Đừng để họ là kiến trúc sư một mình
❌ Không gộp code không giải thích được
❌ Đừng bỏ qua bài ôn tập vì bài kiểm tra đã vượt qua

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Áp dụng các quy tắc tương tự cho AI. Vì số tiền đặt cược là như nhau.

Sự thật khó chịu

Đây là điều mà không ai trong ngành tiếp thị công cụ mã hóa AI muốn bạn nghe:

Các đội chiến thắng vào năm 2026 không phải là những đội tạo ra nhiều mã nhất. Họ là những người tạo ra mã phù hợp và duy trì kỷ luật để xem xét, tái cấu trúc và kiến trúc xung quanh đầu ra của AI.

Các hệ thống gọn gàng, theo mô-đun và được ghi chép đầy đủ giúp AI trở thành bộ tăng áp siêu tốc. Các hệ thống chắp vá, rối rắm sẽ bóp nghẹt giá trị của AI — và cuối cùng bóp nghẹt doanh nghiệp đang cố gắng vận hành chúng.

Điều trớ trêu của khoản nợ công nghệ AI là: cơ sở mã của bạn càng tốt thì bạn càng nhận được nhiều giá trị từ AI. Cơ sở mã của bạn càng tệ thì AI càng gây ra nhiều thiệt hại cho nó.

AI khuếch đại những gì đã có. Nền tảng vững chắc được khuếch đại để vận chuyển nhanh hơn. Nền tảng yếu kém sẽ bị khuếch đại thành việc tích lũy nợ nhanh hơn.

Và không giống như nợ kỹ thuật truyền thống — vốn tự phát sinh dần dần thông qua xung đột — nợ kỹ thuật AI có thể tích lũy một cách vô hình đằng sau các bộ thử nghiệm xanh và các chỉ số tốc độ cao, cho đến tận thời điểm hiện tại thì không.

Câu hỏi đã thay đổi cách tôi lãnh đạo nhóm của mình

Sau ba tuần đóng băng, CTO của tôi đã hỏi một câu hỏi trong buổi hồi tưởng mà tôi không ngừng suy nghĩ:

"Tại thời điểm nào chúng ta đã ngừng xây dựng phần mềm và bắt đầu tạo ra nó?"

Có một sự khác biệt. Xây dựng hàm ý sự hiểu biết. Việc tạo ngụ ý thông lượng.

Tương lai thuộc về những nhà phát triển làm được cả hai điều đó — những người sử dụng tốc độ thế hệ của AI mà không đánh mất hiểu biết của chính mình.

Đó không phải là lời cảnh báo đối với các công cụ AI. Đó là một lập luận ủng hộ việc sử dụng chúng một cách có mục đích.

Tạo nhanh. Hiểu mọi thứ.

Nhóm của bạn đã chạm tới bức tường nợ công nghệ AI chưa — hay bạn đang nhìn thấy các dấu hiệu cảnh báo? Tôi thực sự muốn biết các đội khác đang xử lý việc này như thế nào. Hãy đưa trải nghiệm của bạn vào phần nhận xét — đặc biệt nếu bạn tìm thấy những hệ thống thực sự hoạt động. 👇

Lưu ý: AI đã giúp tôi viết bài này. Chủ đề này có phần phù hợp — nhưng câu chuyện bị đóng băng kéo dài ba tuần, cuộc trò chuyện với Rahul và các bài học đều là của tôi. Tôi tin vào sự minh bạch về quy trình của mình! 😊

Tác giả: Harsh

#ai#webdev#javascript#career