Tại sao AI Agent gặp khó với code Data Science hơn code Software Engineering?

Nếu từng sử dụng AI coding agent trong một dự án software engineering, có lẽ bạn đã thấy khả năng khá ấn tượng của chúng. AI có thể đọc cấu trúc codebase, hiểu abstraction, tìm đúng module liên quan và thậm chí tạo ra những đoạn code mới khá “hợp logic” với toàn bộ hệ thống.

Nhưng khi chuyển sang môi trường data science, đặc biệt là notebook workflow, trải nghiệm thường thay đổi khá rõ.

AI vẫn có thể viết Python hợp lệ. Nó vẫn có thể gọi thư viện, xử lý dataframe hoặc tạo visualization. Tuy nhiên, rất nhiều trường hợp AI không thực sự hiểu điều quan trọng nhất của bài toán: vì sao dùng dataset này, vì sao cần filter dữ liệu theo cách đó, tại sao time window lại thay đổi hoặc vì sao một kết quả phân tích lại khiến toàn bộ hướng nghiên cứu phải điều chỉnh.

Nói cách khác, AI thường đối xử notebook giống một software project thông thường, trong khi thực tế notebook không hoàn toàn hoạt động theo cách đó.

Đây cũng là lý do ngày càng nhiều developer nhận ra rằng AI coding agent hiện tại thường mạnh hơn đáng kể trong software engineering so với data science workflow.

Vấn đề không chỉ nằm ở tooling

Ban đầu, nhiều người cho rằng nguyên nhân chủ yếu là do tooling chưa đủ tốt. Ví dụ, AI chưa đọc được notebook hiệu quả, chưa theo dõi state tốt hoặc chưa có integration phù hợp cho data workflow.

Tuy nhiên, khi phân tích hàng trăm GitHub repository thuộc cả hai nhóm software engineering và data science, một điều thú vị dần xuất hiện: vấn đề không đơn giản chỉ nằm ở công cụ. Khác biệt thật sự nằm ở cách “ý nghĩa” được lưu trữ bên trong code của hai lĩnh vực này.

Trong software engineering, phần lớn meaning nằm ngay trong cấu trúc hệ thống. Các abstraction, interface, module, type hay class hierarchy đều góp phần giải thích logic của chương trình.

Trong khi đó, với data science, meaning lại nằm nhiều hơn ở dữ liệu, context, output trung gian, các quyết định phân tích và trạng thái thay đổi liên tục của workflow. Đây là khác biệt rất quan trọng nhưng thường bị bỏ qua khi nói về AI coding agent.

Data Science code thường “trông” phức tạp hơn thực tế

Một trong những phát hiện thú vị nhất là hiện tượng có thể gọi là “entropy inversion”.

Khi đo Shannon entropy ở nhiều cấp độ khác nhau của codebase, data science project thường cho cảm giác rất hỗn loạn ở bề mặt. Chúng chứa rất nhiều tên cột, biến tạm, dataset label hoặc identifier mang tính domain-specific, khiến code nhìn khá “ồn” và khó đoán.

Tuy nhiên, khi phân tích sâu hơn ở cấp độ AST (Abstract Syntax Tree), bức tranh lại đảo ngược hoàn toàn.

Software engineering code thường có structural diversity cao hơn nhiều. Các project lớn tạo ra rất nhiều hành vi khác nhau thông qua abstraction, module, interface, dependency và internal logic.

Trong khi đó, data science workflow thường lặp lại một nhóm hành động quen thuộc như load dữ liệu, filter, group, aggregate, visualize rồi tiếp tục điều chỉnh kết quả. Nói cách khác, data science code thường trông phức tạp hơn ở bề mặt, còn software engineering lại chứa nhiều complexity hơn trong cấu trúc nội tại.

Điều này cực kỳ quan trọng với AI agent, vì phần lớn coding agent hiện nay được tối ưu mạnh cho structural reasoning thay vì contextual reasoning.

Software Engineering “đóng gói” meaning trong cấu trúc

Trong software engineering, rất nhiều lớp ý nghĩa đã được nén vào chính architecture của hệ thống.

Tên function, interface, type, module boundary hoặc design pattern đều giúp mô tả mục đích của code. Một AI agent chỉ cần đọc call graph hoặc dependency structure là đã có thể hiểu khá nhiều về hệ thống.

Đó là lý do AI coding agent hiện rất mạnh ở các tác vụ như refactor code, sửa bug, thêm feature hoặc maintain consistency trong codebase lớn.

Phần lớn context quan trọng đã nằm sẵn trong chính cấu trúc code.

Data Science lại phụ thuộc rất mạnh vào context bên ngoài

Ngược lại, data science workflow thường phụ thuộc vào rất nhiều context nằm ngoài code.

Ví dụ, một đoạn filter dữ liệu có thể chỉ có vài dòng Python rất đơn giản, nhưng lý do tồn tại của nó lại nằm ở business logic, đặc điểm dataset, edge case hoặc insight xuất hiện từ bước phân tích trước đó.

Nhiều quyết định trong notebook không thể hiểu đầy đủ nếu chỉ đọc source code. Một comment như: “Loại bỏ outlier trên percentile 99 vì không ảnh hưởng cohort chính” thực chất đang chứa reasoning rất quan trọng cho toàn bộ phân tích. Tương tự, một chart hoặc dataframe output giữa notebook đôi khi chính là lý do khiến analyst thay đổi hướng nghiên cứu.

Đó là phần mà nhiều AI agent hiện nay thường bỏ lỡ.

Vì sao notebook workflow vẫn tồn tại dù có rất nhiều hạn chế?

Đây là câu hỏi khiến khá nhiều software engineer cảm thấy khó hiểu: nếu notebook khó duy trì như vậy, tại sao data scientist vẫn dùng rất nhiều?

Câu trả lời nằm ở bản chất của data science.

Trong software engineering, requirement thường tương đối rõ trước khi bắt đầu xây hệ thống. Nhưng trong data science, bản thân câu hỏi nghiên cứu đôi khi vẫn đang thay đổi liên tục trong quá trình làm việc.

Nhà phân tích thường phải thử hypothesis, kiểm tra edge case, xem visualization, thay đổi filter rồi tiếp tục điều chỉnh hướng phân tích.

Notebook giữ code, output, comment và reasoning ở cùng một nơi. Điều này khiến workflow trở nên cực kỳ trực quan với analyst đang sống trong context đó. Nếu refactor notebook thành module quá sớm, rất nhiều analytical context có thể bị mất đi.

Vì vậy, notebook không hẳn là “software engineering tệ”, mà thực chất là một dạng artifact khác phục vụ cho một loại công việc khác.

AI Agent hiện được tối ưu cho software engineering nhiều hơn

Đây có lẽ là kết luận quan trọng nhất. AI coding agent hiện hoạt động tốt nhất khi meaning nằm trong cấu trúc code, dependency rõ ràng, abstraction ổn định và architecture đủ clean.

Đó gần như chính xác là môi trường của software engineering hiện đại. Trong khi đó, data science workflow lại yêu cầu AI phải hiểu thêm dữ liệu thực tế, trạng thái thay đổi liên tục, provenance của biến, reasoning phía sau transformation và cả business context.

Một agent chỉ giỏi đọc code sẽ không tự động trở thành agent giỏi cho data science. Vấn đề không chỉ là syntax Python. Vấn đề là information structure của hai lĩnh vực này khác nhau từ gốc.

Khoảng trống lớn nhất: từ notebook sang production

Một trong những cơ hội lớn nhất cho AI agent trong tương lai nằm ở việc thu hẹp khoảng cách giữa exploratory notebook và production workflow. Hiện nay, rất nhiều insight được tìm ra trong notebook nhưng rất khó chuyển thành pipeline ổn định, workflow reproducible hoặc hệ thống deploy thực tế.

Lý do là notebook ưu tiên tốc độ khám phá, flexibility và context, trong khi production system lại ưu tiên structure, reproducibility, monitoring và maintainability. Một AI agent thực sự mạnh cho data science trong tương lai có lẽ sẽ cần hiểu cả analytical context lẫn yêu cầu kỹ thuật của production system. Điều này khó hơn rất nhiều so với chỉ đọc codebase và generate function mới. Nhưng đó mới là bài toán quan trọng thật sự.

Ban đầu, nhiều người nghĩ data science code đơn giản chỉ là software engineering “kém clean hơn”. Nhưng khi nhìn kỹ hơn, có thể thấy hai loại workflow này thực chất đang tối ưu cho hai mục tiêu hoàn toàn khác nhau.

Software engineering tập trung vào abstraction, cấu trúc và behavior ổn định. Trong khi đó, data science tập trung vào khám phá dữ liệu, reasoning, context và quá trình liên tục điều chỉnh câu hỏi phân tích.

Đó là lý do AI agent hiện mạnh hơn nhiều trong software engineering: phần lớn meaning đã được encode vào structure.

Còn với data science, phần quan trọng nhất đôi khi lại nằm ngoài code — trong dataset, output, comment, business logic hoặc chính quá trình suy nghĩ của analyst.

Khi hiểu điều đó, notebook sẽ không còn giống một “software project thất bại” nữa. Đây thực chất là vấn đề về một không gian làm việc phục vụ cho việc suy luận trên dữ liệu đang thay đổi liên tục.

Chủ Nhật, 31/05/2026 20:45
31 👨 9
Xác thực tài khoản!

Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
0 Bình luận
Sắp xếp theo
❖ AI cho Lập trình