AI AgentSố chữ 6293Thời gian đọc16 phút

Ngôn ngữ nào cho AI Agent: Python, TypeScript và kỹ thuật sản phẩm thế hệ mới

AI Agent nên dùng Python hay TypeScript? Bài viết này đi từ lịch sử học sâu, quá trình sản phẩm hóa Agent, hệ thống kiểu, luồng sự kiện bất đồng bộ và phân công kỹ thuật để bàn về lựa chọn ngôn ngữ cho ứng dụng AI thế hệ tiếp theo.

Gần đây mình đọc được hai cuộc thảo luận về lựa chọn ngôn ngữ lập trình cho AI Agent, rất thú vị.

Một bên cho rằng AI Agent giai đoạn đầu dùng nhiều Python vì lịch sử học sâu, tính toán khoa học, huấn luyện mô hình, thực nghiệm Notebook và hệ sinh thái PyTorch / TensorFlow lâu nay đều xoay quanh Python. AI ban đầu có "chủ thể" là mô hình, nên nhà nghiên cứu tự nhiên dùng Python quen tay để ghép nối LLM, gọi công cụ, phân tích bộ giải mã đầu ra, cơ sở dữ liệu vector và các script thử nghiệm.

Bên kia lại cho rằng, ngày nay Agent đi theo hướng sản phẩm hóa ngày càng phù hợp với TypeScript. Vì Agent cuối cùng phần lớn không dừng lại ở bài báo hay script thử nghiệm, mà bước vào web, plugin, bảng điều khiển workflow, tiện ích IDE, backend doanh nghiệp, dịch vụ SaaS và nhiều giao diện người dùng khác. Ở giai đoạn này, hệ thống kiểu, luồng sự kiện, schema dùng chung giữa frontend/backend, cấu trúc gọi công cụ, đối tượng quyền hạn, đồng bộ trạng thái UI… trở nên rất quan trọng.

Theo mình, đây không phải câu chuyện giản đơn “Python đã chết” hay “TypeScript thắng thế”. Nhận định chính xác hơn là: Hướng đi của thời đại AI Agent đang chuyển từ kỹ thuật mô hình sang kỹ thuật sản phẩm; Python vẫn quan trọng, nhưng TypeScript đang trở thành ngôn ngữ cốt lõi của tầng sản phẩm và tầng runtime của Agent.

Một, vì sao AI và hệ sinh thái Agent sớm thiên về Python

1. Trọng tâm ban đầu của AI là mô hình, không phải sản phẩm

Vấn đề cốt lõi của kỹ thuật học sâu ban đầu là làm thế nào huấn luyện mô hình, tuning tham số, xử lý tensor, cấu trúc đồ thị tính toán, vận hành GPU và chạy thí nghiệm. Ở giai đoạn này, điều quan trọng nhất không phải là tương tác web, cũng không phải quyền người dùng, thanh toán, triển khai và UI đa nền tảng, mà là nhanh chóng xác thực giả thuyết mô hình.

Python phù hợp rất tốt cho loại công việc này: cú pháp đơn giản, trải nghiệm tương tác tốt, hệ sinh thái trưởng thành, đồng thời có thể tận dụng hiệu năng cao từ backend C / C++ / CUDA. Nhà nghiên cứu có thể viết ít mã ở Python, giao các phép toán nặng cho các thư viện tầng thấp xử lý.

NumPy, SciPy, Jupyter, PyTorch, TensorFlow, scikit-learn lâu nay tạo thành bàn làm việc cơ bản của AI và tính toán khoa học. Chính vì vậy, nhiều nguyên mẫu AI Agent sớm về bản chất là “LLM + Python glue code”: dán chặt prompt, model API, hàm công cụ, bộ phân tích đầu ra, truy xuất vector và vòng lặp nhiệm vụ.

2. Lợi thế của Python đến từ hệ sinh thái khoa học tính toán

Vị thế của Python trong AI không chỉ vì “đơn giản”. Điều quan trọng hơn là nó sớm hình thành một hệ sinh thái khoa học tính toán hoàn chỉnh.

NumPy cung cấp mảng nhiều chiều, đại số tuyến tính, số ngẫu nhiên, biến đổi Fourier và các khả năng nền tảng; SciPy, pandas, scikit-learn tiếp tục mở rộng sang thống kê, machine learning và phân tích dữ liệu. Jupyter Notebook lại cho phép nhà nghiên cứu vừa viết code, vừa xem kết quả, vừa debug thí nghiệm.

Luồng làm việc này rất hợp với nhà nghiên cứu: đầu tiên load dữ liệu, rồi xử lý đặc trưng, sau đó train mô hình, cuối cùng trực quan hóa kết quả. AI thời mô hình vốn đã xoay quanh vòng lặp thực nghiệm như vậy.

Vì vậy, Python không thắng vì ngẫu nhiên. Nó thắng nhờ:

  • Chi phí học thấp;
  • Hệ sinh thái khoa học tính toán sớm phát triển;
  • Tích hợp chín muồi với backend C / C++ / CUDA;
  • Trải nghiệm Notebook phù hợp cho thử nghiệm;
  • Phần lớn tutorial AI, mã tham khảo bài báo và mô hình mã nguồn mở dùng Python.

3. Đồ thị động của PyTorch càng củng cố vị thế Python

PyTorch được ưa chuộng ở cộng đồng nghiên cứu một phần vì tư duy đồ thị động gần với trực giác của Python. Nói nôm na, đồ thị tính toán của mô hình được xây dựng động theo tiến trình thực thi code, giúp debug tự nhiên hơn và hợp với thói quen thử-sai liên tục của nhà nghiên cứu.

TensorFlow giai đoạn đầu nhấn mạnh đồ thị tĩnh, sau đó cũng đưa vào eager execution, để các thao tác có thể thực thi ngay như code Python thông thường. Sự thay đổi này cho thấy một điều: ở giai đoạn nghiên cứu và thử nghiệm AI, nhà phát triển đặc biệt coi trọng tính tương tác, trực quan và hiệu quả debug.

Đó cũng là lý do AI Agent sớm chọn Python một cách tự nhiên. Nhà nghiên cứu không cần làm một sản phẩm đầy đủ ngay từ đầu, chỉ cần nối mô hình, công cụ, môi trường và bộ phân tích đầu ra lại với nhau. Python là ngôn ngữ glue thuận tiện nhất.

Hai, vì sao ngày nay Agent càng thích hợp với TypeScript

1. Agent không còn chỉ là “script mô hình”, mà là hệ thống sản phẩm

Agent hiện tại không còn đơn thuần là “người dùng hỏi một câu, mô hình trả một câu”. Agent thực sự thường bao gồm:

  • Gọi API LLM;
  • tool calling / function calling;
  • Trạng thái nhiệm vụ nhiều vòng;
  • Xác nhận của người dùng và can thiệp thủ công;
  • RAG và cơ sở dữ liệu vector;
  • Node workflow;
  • Tự động hóa trình duyệt;
  • Đọc/ghi file;
  • Hệ thống phân quyền;
  • Hệ thống thanh toán;
  • Logging, tracing, đánh giá và giám sát;
  • Cập nhật UI frontend theo thời gian thực.

Đây đã không còn là kỹ thuật mô hình thuần túy, mà là kỹ thuật sản phẩm toàn diện.

Khi Agent đi vào tầng sản phẩm, lợi thế của TypeScript bắt đầu rõ ràng. Vì phần lớn tình huống Agent người dùng nhìn thấy vốn diễn ra trong hệ sinh thái Web: giao diện chat, bảng workflow, plugin trình duyệt, ứng dụng web, ứng dụng desktop Electron, extension VS Code, bot Slack / Discord, API Route, Serverless, Edge Runtime, v.v.

Những nơi này lâu nay ngôn ngữ cốt lõi của kỹ thuật là JavaScript / TypeScript.

2. TypeScript gần gũi hơn với giao diện và luồng sự kiện

Agent phụ thuộc rất mạnh vào luồng sự kiện.

Quá trình chạy của một Agent thực sự thường không phải là một lần request, một lần response, mà là:

  • Nghĩ dần, phát sinh output dần;
  • Khi xuất ra thì gọi công cụ;
  • Chờ người dùng xác nhận;
  • Hủy hoặc thử lại giữa chừng;
  • Công cụ chạy xong ghi lại trạng thái;
  • Frontend hiển thị các bước giữa phiên theo thời gian thực;
  • Hồi phục ngữ cảnh sau khi nhiệm vụ thất bại;
  • Truyền kết quả giữa nhiều Agent hoặc nhiều workflow node.

Những thứ này bản chất rất gần với mô hình event của Web, stream, WebSocket, Server-Sent Events và quản lý trạng thái UI.

Python tất nhiên vẫn làm được async, vẫn viết FastAPI, WebSocket, worker nền và streaming output. Nhưng nếu sản phẩm Agent của bạn bản chất là một ứng dụng web, thì TypeScript giúp đồng nhất frontend/backend, schema công cụ, trạng thái UI và kiểu API dễ dàng hơn.

3. Điểm dễ “vỡ” của Agent là cấu trúc, không chỉ là mô hình

Nhiều người nghĩ phần khó nhất của Agent là “mô hình chưa đủ thông minh”. Nhưng khi đã làm hệ thống Agent rồi sẽ thấy, mô hình chỉ là một phần vấn đề.

Agent rất dễ “đổ” vì vấn đề kiến trúc:

  • Sai trường tham số công cụ;
  • Schema JSON không nhất quán;
  • API response bị đổi cấu trúc;
  • Định dạng message không thống nhất;
  • Workflow state bị phá ở một bước nào đó;
  • Sự kiện UI không khớp với trạng thái backend;
  • Đối tượng quyền hạn thiếu trường;
  • Khi khôi phục ngữ cảnh đa vòng, bối cảnh bị méo.

Trong hệ thống Agent có rất nhiều đối tượng có cấu trúc di chuyển khắp nơi. Khi đó, hệ thống kiểu không phải là “tính cầu kỳ”, mà là hạ tầng cơ bản để giảm xác suất sụp đổ hệ thống.

Giá trị của TypeScript thể hiện ở đây. Nó cho phép bạn định nghĩa rõ tool input/output, agent state, message format, workflow node, permission object, external API response từ trước. Nhiều lỗi sẽ không phải đợi tới runtime production mới phát hiện, mà bị chặn ở giai đoạn phát triển bởi kiểm tra kiểu.

4. TypeScript thích hợp hơn cho Agent Runtime tầng sản phẩm

Nếu bạn đang xây Agent framework, SDK, hệ thống plugin, engine workflow hay runtime hiển thị frontend, lợi thế của TypeScript còn lớn hơn.

Lý do rất trực tiếp: người dùng của bạn có thể tích hợp Agent này vào web, backend, plugin trình duyệt, ứng dụng desktop, extension VS Code, hàm Serverless hoặc hệ thống doanh nghiệp. Ecosystem của TypeScript trong các bối cảnh này thống nhất hơn.

Đó cũng là lý do gần đây trong hệ sinh thái Agent, dự án TypeScript tăng rõ rệt. Vercel AI SDK nhấn mạnh tạo API thống nhất để generate text, đối tượng có cấu trúc, gọi công cụ và Agent; Mastra định vị mình là AI Agent framework bằng TypeScript; OpenAI Agents SDK cũng đồng thời cung cấp bản Python và JavaScript / TypeScript.

Điều này cho thấy một xu hướng: Agent không còn phục vụ riêng cho nhà nghiên cứu, mà đã bắt đầu phục vụ đội sản phẩm và kỹ sư fullstack.

Ba, Python và TypeScript không phải thay thế nhau, mà là phối hợp

1. Python vẫn phù hợp cho tầng mô hình, dữ liệu và thử nghiệm

Nói TypeScript hợp cho tầng sản phẩm của Agent không có nghĩa Python không quan trọng.

Ngược lại, Python vẫn là ngôn ngữ cốt lõi của nhiều hệ thống AI, đặc biệt phù hợp cho:

  • Huấn luyện mô hình;
  • Làm sạch dữ liệu;
  • embedding pipeline;
  • Xử lý batch offline;
  • Hệ thống đánh giá;
  • Thử nghiệm truy xuất;
  • Kỹ thuật đặc trưng học máy;
  • Tính toán khoa học;
  • Xác thực nguyên mẫu trên Notebook;
  • Tích hợp với hệ sinh thái PyTorch / TensorFlow / scikit-learn.

Nếu Agent của bạn cần xử lý ngôn ngữ phức tạp, đánh giá mô hình, phân tích dữ liệu, xây vector, hay job offline, Python vẫn là lựa chọn rất tự nhiên.

2. TypeScript phù hợp hơn với tầng sản phẩm, tầng tương tác và tầng orkhestration

TypeScript phù hợp để gánh phần việc còn lại:

  • Giao diện chat frontend;
  • Orkhestration Agent workflow;
  • Định nghĩa tool schema;
  • API Route;
  • Quyền người dùng;
  • Hệ thống thanh toán và tài khoản;
  • Hệ thống plugin;
  • Mở rộng trình duyệt và IDE;
  • Triển khai Serverless / Edge;
  • Streaming output và đồng bộ trạng thái UI.

Nếu bạn làm một sản phẩm Agent thực sự cho người dùng, nhất là sản phẩm web, thì TypeScript làm ngôn ngữ chính sẽ thuận lợi hơn.

3. Kiến trúc thực tế hơn: Python làm năng lực, TypeScript làm sản phẩm

Phân công mà mình đồng ý hơn là:

  • Python làm tầng mô hình, tầng dữ liệu, tầng đánh giá, công việc offline và script thử nghiệm;
  • TypeScript làm tầng sản phẩm, tầng orkhestration Agent, tầng tương tác frontend, tầng plugin và runtime hiển thị cho người dùng.

Đây không phải là ai thắng ai, mà là phân tầng kỹ thuật tự nhiên khi ứng dụng AI trưởng thành.

AI sớm = mô hình, nên Python là nhân vật chính.

Ngày nay Agent = mô hình + công cụ + trạng thái + workflow + UI + quyền hạn + triển khai + giám sát, nên vị trí của TypeScript sẽ ngày càng quan trọng.

Bốn, từ “viết Agent” đến “làm sản phẩm Agent”

1. Agent sớm là nguyên mẫu nghiên cứu

Hình dạng điển hình của Agent sớm thường là một script Python:

  • Gọi LLM;
  • Phân tích output của mô hình;
  • Quyết định có gọi công cụ hay không;
  • Đưa kết quả công cụ vào lại ngữ cảnh;
  • Sau đó để mô hình tiếp tục suy luận;
  • Cuối cùng xuất ra câu trả lời.

Các hệ thống này giống nguyên mẫu nghiên cứu hơn. Chúng theo đuổi mục tiêu “có chạy được không”, chứ không phải “có phục vụ người dùng ổn định không”.

2. Agent thế hệ mới là ứng dụng chạy dài hạn

Agent thế hệ mới không chỉ là một script, mà là hệ thống ứng dụng vận hành lâu dài.

Nó phải xử lý đăng nhập người dùng, biên giới quyền, cách ly dữ liệu, khôi phục nhiệm vụ, thử lại khi lỗi, audit công cụ, log thực thi, kiểm soát chi phí, chuyển đổi mô hình, xác nhận thủ công và phản hồi UI.

Lúc này, lựa chọn ngôn ngữ không thể chỉ dựa trên “ngôn ngữ nào gọi mô hình tốt hơn”. Còn phải xét:

  • Ngôn ngữ nào phù hợp tương tác sản phẩm hơn;
  • Ngôn ngữ nào phù hợp duy trì trạng thái phức tạp hơn;
  • Ngôn ngữ nào phù hợp chia sẻ kiểu với frontend;
  • Ngôn ngữ nào phù hợp làm việc nhóm tốt hơn;
  • Ngôn ngữ nào phù hợp triển khai vào môi trường vận hành thật;
  • Ngôn ngữ nào phù hợp bảo trì lâu dài hơn.

Đây là lý do gốc khiến TypeScript trở nên quan trọng.

Năm, lời khuyên cho nhà phát triển cá nhân

1. Nếu bạn là người mới học AI, trước tiên hãy học Python

Nếu bạn mới bắt đầu học AI, Python vẫn là ngôn ngữ đáng học đầu tiên nhất.

Lý do rất đơn giản: phần lớn tutorial machine learning, tutorial phân tích dữ liệu, mã huấn luyện mô hình, ví dụ Notebook, dự án mô hình nguồn mở vẫn chủ yếu dùng Python. Bạn cần hiểu dữ liệu, mô hình, embedding, RAG, đánh giá và gọi LLM API cơ bản; Python là lối vào trơn tru nhất. Muốn học từ nền tảng của Agent, từ ReAct đến memory, RAG và engineering bối cảnh một cách hệ thống có thể tham khảo 《Hello-Agents: Hướng dẫn mã nguồn mở xây dựng AI Agent từ con số không》.

2. Nếu bạn muốn làm sản phẩm Agent, nhất định phải bổ sung TypeScript

Nếu mục tiêu của bạn không phải chỉ chạy demo, mà là làm một website, SaaS, plugin, công cụ workflow hoặc Agent trực tuyến thực sự, thì TypeScript gần như không thể tránh.

Bạn không nhất thiết phải trở thành chuyên gia frontend, nhưng ít nhất cần nắm:

  • Hệ thống kiểu của TypeScript;
  • API schema;
  • Cấu trúc cơ bản của React / Next.js;
  • streaming response;
  • Định nghĩa kiểu cho tool calling;
  • Đồng bộ trạng thái frontend/backend;
  • Triển khai Serverless / Edge;
  • Kỹ năng kỹ thuật cơ bản của sản phẩm Web.

Nó sẽ quyết định trực tiếp liệu Agent của bạn có thể chuyển từ script thành sản phẩm hay không.

3. Nếu bạn muốn làm Agent Infra, TypeScript cần được ưu tiên hơn

Nếu bạn làm Agent framework, hệ thống workflow, giao thức plugin, marketplace công cụ, nền tảng tự động hóa trình duyệt, IDE Agent hoặc Agent Runtime doanh nghiệp, thì giá trị của TypeScript sẽ cao hơn.

Vì những thứ này cuối cùng sẽ được đội sản phẩm, kỹ sư fullstack và nhà phát triển Web tiếp nhận. Hệ thống kiểu, hệ sinh thái package, trải nghiệm thống nhất frontend/backend của TypeScript khiến nó ngày càng có trọng lượng trong Agent Infra.

Sáu, nhận định của mình: “hai ngăn xếp”, nhưng trọng tâm nằm ở kỹ thuật sản phẩm

Lựa chọn ngôn ngữ cho AI Agent? Câu trả lời của mình là:

Giai đoạn học tập và thử nghiệm dùng Python; giai đoạn sản phẩm và runtime ưu tiên TypeScript; hệ thống Agent thực sự trưởng thành thì khả năng rất cao là mô hình hai ngăn xếp.

Python sẽ không biến mất, vì tầng mô hình, tầng dữ liệu và tầng thử nghiệm của AI vẫn phụ thuộc mạnh vào nó.

TypeScript sẽ ngày càng quan trọng, vì Agent đang dịch chuyển từ “thử nghiệm mô hình” sang “kỹ thuật sản phẩm”. Chỉ cần Agent đi vào web, plugin, workflow, IDE, backend doanh nghiệp và giao diện người dùng, vị thế của TypeScript sẽ tiếp tục tăng.

Vì vậy, tranh luận bề mặt có vẻ đang so kèo Python với TypeScript, thực chất là tranh luận một vấn đề lớn hơn:

Chiến trường chính của AI hiện còn ở phòng thí nghiệm mô hình, hay đã chuyển sang “sân khấu kỹ thuật sản phẩm”?

Nhận định của mình là mô hình vẫn quan trọng, nhưng gọi mô hình đơn thuần đã không còn khan hiếm. Tương lai sẽ khan hiếm thật sự ở điểm này: ai có thể nối được mô hình, công cụ, dữ liệu, quyền hạn, UI, workflow và quy trình nghiệp vụ thật thành một hệ thống ổn định, dùng được được.

Đó là hướng đi của thời đại AI Agent.

Câu hỏi thường gặp

AI Agent nên dùng Python hay TypeScript?

Không có câu trả lời duy nhất, mà gần hơn với mô hình phân công: giai đoạn học tập và thử nghiệm dùng Python, giai đoạn sản phẩm và runtime ưu tiên TypeScript, hệ thống Agent thực sự trưởng thành thì rất có thể là hai ngăn xếp — Python làm tầng mô hình / dữ liệu / đánh giá, TypeScript làm tầng sản phẩm / orkhestration / tương tác frontend.

Tại sao Agent AI giai đoạn đầu đa phần dùng Python?

Vì hệ sinh thái sâu, tính toán khoa học, huấn luyện mô hình và thí nghiệm Notebook lâu nay đều xoay quanh Python (NumPy, PyTorch, TensorFlow, scikit-learn). Nhiều Agent sớm về bản chất là “LLM + Python glue code”, dán prompt, model API, hàm công cụ, phân tích output và vòng lặp nhiệm vụ lại với nhau.

Vì sao Agent tầng sản phẩm ngày càng phù hợp với TypeScript?

Vì Agent thật sự dành cho người dùng thường nằm trong hệ sinh thái Web: giao diện chat, plugin trình duyệt, bảng workflow, extension IDE, backend doanh nghiệp. Những bối cảnh này cần hệ thống kiểu, luồng sự kiện, schema dùng chung frontend/backend và đồng bộ trạng thái UI; TypeScript giúp frontend, backend, schema công cụ và kiểu API thống nhất hơn, đồng thời chặn sớm lỗi cấu trúc ở thời điểm compile.

Người mới nên học trước ngôn ngữ nào?

Hãy học Python trước để khởi đầu AI—hiểu dữ liệu, mô hình, embedding, RAG, đánh giá và gọi LLM API cơ bản; khi bạn muốn biến demo thành website, SaaS, plugin hoặc Agent trực tuyến có thể phát hành, lúc đó bổ sung TypeScript.

Nguồn tham khảo

Share

Chia sẻ bài viết