Thế giới trí tuệ nhân tạo đang chuyển động với tốc độ chóng mặt. Mỗi tuần dường như mang đến một mô hình mới, một khả năng mới hoặc một cuộc tranh luận mới về tương lai của nhân loại. Để vượt qua sự ồn ào này, cần có những tiếng nói vừa có hiểu biết kỹ thuật sâu sắc vừa có tầm nhìn rõ ràng về bức tranh lớn hơn. Andrej Karpathy, một nhân vật tiên phong với kinh nghiệm hình thành tại cả Tesla và OpenAI, là một tiếng nói như vậy.
Trong bài nói chuyện gần đây của mình tại Y Combinator, Karpathy với tiêu đề "Phần mềm đang thay đổi (lại)," Karpathy không chỉ cung cấp một bản cập nhật mà còn là một khuôn khổ hoàn chỉnh để hiểu về sự dịch chuyển địa chấn mà chúng ta đang trải qua. Ông lập luận rằng chúng ta không chỉ đơn thuần chứng kiến sự ra đời của một công cụ mới, mà là buổi bình minh của một mô hình điện toán mới. Đây chính là Phần mềm 3.0.
Bài đăng này là một phân tích sâu về những ghi chú và suy ngẫm từ bài nói chuyện của ông, làm sáng tỏ các khái niệm cốt lõi và khám phá những hàm ý sâu sắc của chúng. Chúng ta sẽ cùng tìm hiểu về phân loại phần mềm của ông, hiểu tại sao ông gọi Mô hình Ngôn ngữ Lớn (LLM) là một loại hệ điều hành mới, khám phá cách tiếp cận thực dụng "Bộ Giáp Iron Man" để xây dựng các sản phẩm AI ngày nay, và nhìn về tương lai được xây dựng cho các tác nhân AI (AI agents).
Muốn có một nền tảng Tích hợp, Tất cả trong Một cho Đội ngũ Phát triển của bạn làm việc cùng nhau với năng suất tối đa?
Apidog đáp ứng mọi yêu cầu của bạn, và thay thế Postman với mức giá phải chăng hơn nhiều!
Ba Thời đại của Phần mềm: Một Phân loại mới
Để hiểu chúng ta đang đi đâu, trước tiên chúng ta cần hiểu chúng ta đã ở đâu. Karpathy phân loại lịch sử phần mềm một cách tinh tế thành ba kỷ nguyên riêng biệt, một phân loại làm sáng tỏ bản chất của cuộc cách mạng hiện tại.
Phần mềm 1.0: Thời đại của Logic
Đây là phần mềm mà tất cả chúng ta đều biết, nền tảng của thế giới kỹ thuật số. Phần mềm 1.0 là mã truyền thống, được lập trình viên con người viết rõ ràng để thực thi các hướng dẫn xác định. Đó là C++, Java và Python cung cấp năng lượng cho mọi thứ từ trình duyệt web của bạn đến cơ sở dữ liệu giao dịch của ngân hàng. Trong bài nói chuyện của mình, Karpathy chỉ ra mã C++ nền tảng trong hệ thống Autopilot của Tesla như một ví dụ điển hình [00:04:49].
Mô hình này được định nghĩa bởi sự chính xác và kiểm soát của nó. Con người định hướng logic, từng bước một. Sức mạnh của nó là khả năng dự đoán. Tuy nhiên, điểm yếu của nó là sự cứng nhắc. Phần mềm 1.0 gặp khó khăn với sự mơ hồ và dữ liệu phi cấu trúc. Bạn không thể dễ dàng viết các câu lệnh if/else
để nhận dạng đáng tin cậy một con mèo trong ảnh hoặc nắm bắt cảm xúc của một câu. Vì điều đó, một cách tiếp cận mới đã được cần đến.
Phần mềm 2.0: Thời đại của Học hỏi
Phần mềm 2.0 xuất hiện cùng với sự trỗi dậy của học sâu và mạng nơ-ron. Ở đây, mô hình chuyển đổi mạnh mẽ từ việc viết mã sang tuyển chọn dữ liệu. Thay vì cung cấp các hướng dẫn rõ ràng, các nhà phát triển thu thập các tập dữ liệu khổng lồ và sử dụng chúng để "huấn luyện" một mạng nơ-ron. "Mã" trong mô hình này không phải là logic con người có thể đọc được; đó là hàng triệu hoặc hàng tỷ trọng số và độ lệch trong mạng, được điều chỉnh bởi một bộ tối ưu hóa. Lập trình viên trở thành một người thầy hoặc một người làm vườn hơn, cung cấp dữ liệu cho mô hình và định hình quá trình học của nó.
Cách tiếp cận này theo nghĩa đen đã "ăn xuyên qua" ngăn xếp Phần mềm 1.0 trong nhiều lĩnh vực, đặc biệt là những lĩnh vực liên quan đến nhận thức, như thị giác máy tính [00:05:26]. Các tác vụ từng phức tạp đến mức không thể viết mã bằng tay đã trở nên khả thi. Đây là kỷ nguyên của các hệ thống nhận dạng hình ảnh, chuyển giọng nói thành văn bản và dịch máy thực sự hiệu quả. Đó là một bước nhảy vọt đáng kể, nhưng bước tiếp theo sẽ thay đổi bản chất của lập trình.
Phần mềm 3.0: Thời đại của Đối thoại
Điều này đưa chúng ta đến ngày nay. Phần mềm 3.0 là thế giới của các Mô hình Ngôn ngữ Lớn. Các mô hình này, như GPT-4 hoặc Gemini, là các mạng nơ-ron khổng lồ được huấn luyện trên một phần đáng kể của internet. Chúng thường là các tạo phẩm được đóng băng, đã được tiền huấn luyện. Phần cách mạng là cách chúng ta tương tác với chúng. Như Karpathy nói, chúng ta có một ngôn ngữ lập trình mới: Tiếng Anh [00:04:09].
Lập trình trong Phần mềm 3.0 được thực hiện thông qua các lời nhắc bằng ngôn ngữ tự nhiên. Chúng ta hướng dẫn, truy vấn và điều khiển hành vi của mô hình chỉ bằng cách nói chuyện với nó. Đây là bước nhảy vọt quan trọng nhất về khả năng tiếp cận trong lịch sử điện toán. Nó biến mỗi người có thể diễn đạt một suy nghĩ thành một lập trình viên tiềm năng, một khái niệm mà Karpathy sau này gọi là "vibe coding" (lập trình theo cảm hứng).
LLM như một Nền tảng Điện toán mới
Karpathy lập luận một cách thuyết phục rằng LLM không chỉ là một chương trình thông minh; nó là một loại máy tính mới, một nền tảng mới với những đặc điểm độc đáo của riêng nó [00:06:10]. Ông sử dụng một số phép tương đồng mạnh mẽ để chứng minh luận điểm của mình.
Đầu tiên, ông xem LLM có các đặc tính của cả một **tiện ích công cộng (utility)** và một **nhà máy sản xuất bán dẫn (semiconductor fab)**. Phép tương đồng tiện ích công cộng [00:06:35] đề cập đến khoản chi phí đầu tư vốn (capex) khổng lồ mà các phòng thí nghiệm như OpenAI và Google yêu cầu để huấn luyện các mô hình này, và chi phí vận hành (opex) để phục vụ chúng thông qua API tính phí theo mức sử dụng. Giống như lưới điện, chúng đòi hỏi đầu tư khổng lồ và cần được cung cấp với độ trễ thấp, thời gian hoạt động cao và chất lượng nhất quán [00:07:02]. Phép tương đồng nhà máy bán dẫn [00:08:04] chỉ ra hoạt động R&D sâu sắc, tập trung và thường bí mật để xây dựng các mô hình nền tảng này, tạo ra một bối cảnh bị chi phối bởi một vài người chơi chính.
Thứ hai, và có lẽ quan trọng nhất, ông trình bày **LLM như một hệ điều hành mới** [00:09:07]. Đây là một cái nhìn sâu sắc đáng chú ý. LLM hoạt động như một loại HĐH sinh học, ngoài hành tinh, điều phối các tài nguyên nội bộ của nó—kiến thức rộng lớn, khả năng suy luận, cửa sổ ngữ cảnh (như một dạng RAM)—để thực hiện các tác vụ được chỉ định bởi lời nhắc của người dùng [00:10:09]. Điều này đã tạo ra một mô hình điện toán mới gợi nhớ đến **chia sẻ thời gian (time-sharing) những năm 1960** [00:11:02]. Hầu hết chúng ta không chạy các mô hình khổng lồ này cục bộ; chúng ta là các máy khách kết nối qua mạng đến một "máy chủ lớn" (mainframe) mạnh mẽ, tập trung trên đám mây.
Điều này cũng đã đảo ngược kịch bản về sự phổ biến công nghệ. Trong lịch sử, các công nghệ mạnh mẽ thường chảy xuống từ chính phủ và các tập đoàn lớn đến người tiêu dùng. Đáng chú ý là LLM đã làm ngược lại, tiếp cận hàng tỷ người tiêu dùng thông qua giao diện trò chuyện trực quan gần như chỉ sau một đêm [00:12:42], buộc các doanh nghiệp phải vội vã chạy theo.
"Bộ Giáp Iron Man": Tính Thực dụng trong Thời đại của Sự cường điệu
Mặc dù LLM sở hữu những khả năng siêu phàm, chúng cũng có những khuyết điểm sâu sắc. Karpathy đưa ra một cái nhìn tỉnh táo về "tâm lý" của chúng, mô tả chúng như "những mô phỏng ngẫu nhiên của con người" [00:14:49]. Trí thông minh của chúng "lởm chởm" (jagged) [00:16:20].
Một mặt, chúng có kiến thức bách khoa và trí nhớ gần như hoàn hảo [00:15:30]. Mặt khác, chúng dễ bị ảo giác tự tin, thiếu mô hình thực sự về tự nhận thức [00:16:07], mắc chứng "quên thuận chiều" (chúng không tự nhiên học hỏi từ các tương tác) [00:16:43], và dễ bị tấn công bởi các rủi ro bảo mật như prompt injection (tấn công bằng lời nhắc) một cách nguy hiểm [00:17:38].
Do đó, thách thức kỹ thuật cốt lõi là thiết kế các hệ thống khắc phục những thiếu sót này trong khi tận dụng điểm mạnh của chúng [00:18:03]. Điều này dẫn đến điều có lẽ là hiểu biết thực tế và giá trị nhất từ bài nói chuyện: phép tương đồng "Bộ Giáp Iron Man" [00:28:22].
Thay vì cố gắng tạo ra các "robot Iron Man" hoàn toàn tự chủ hoạt động mà không cần giám sát—một mục tiêu vẫn còn xa vời và đầy rủi ro—chúng ta nên tập trung xây dựng "bộ giáp Iron Man". Đây là các ứng dụng tăng cường khả năng của con người, với con người luôn là người kiểm soát. Quy trình làm việc lý tưởng là một **chu trình tạo-và-xác minh** chặt chẽ, nhanh chóng [00:22:13]. AI tạo bản nháp đầu tiên—có thể là mã, email hoặc thiết kế—và con người, với khả năng phán đoán và ngữ cảnh vượt trội, nhanh chóng xác minh, chỉnh sửa và phê duyệt. Chu trình này càng nhanh, khả năng tăng cường càng mạnh mẽ [00:22:19].
Các ứng dụng LLM thành công ngày nay, như Cursor cho lập trình hoặc Perplexity cho tìm kiếm, là những ví dụ xuất sắc về điều này. Chúng có tính năng quản lý ngữ cảnh phức tạp [00:19:24], điều phối thông minh nhiều lệnh gọi LLM [00:19:32], và quan trọng nhất, giao diện người dùng được thiết kế để dễ dàng kiểm tra lại [00:19:44]. Chúng thường có "thanh trượt tự chủ" (autonomy slider) [00:20:21], cho phép người dùng điều chỉnh mức độ đóng góp của AI dựa trên độ phức tạp của tác vụ và sự tự tin của họ vào hệ thống. Mấu chốt là giữ AI trong tầm kiểm soát, ngăn nó tạo ra các đầu ra quá tải, khó quản lý [00:22:53] hoặc bị "lạc lối" [00:24:41].
Mọi người đều là Lập trình viên: Sự trỗi dậy của "Vibe Coding"
Hậu quả mang tính chuyển đổi lớn nhất của Phần mềm 3.0 là sự dân chủ hóa triệt để của việc sáng tạo. Karpathy đặt ra thuật ngữ thú vị **"vibe coding" (lập trình theo cảm hứng)** [00:31:07] để mô tả hành động lập trình thông qua ngôn ngữ tự nhiên. Bạn không cần biết Swift để mô tả "cảm hứng" (vibe) của ứng dụng iOS bạn muốn xây dựng; bạn chỉ cần mô tả nó, và LLM sẽ xử lý cú pháp.
Điều này mở ra cánh cửa đến một thế giới nơi các chuyên gia trong lĩnh vực—bác sĩ, luật sư, nhà khoa học, nghệ sĩ—có thể xây dựng các công cụ họ cần mà không cần nền tảng kỹ thuật phần mềm truyền thống. Tuy nhiên, Karpathy chỉ ra một cách tinh tế vấn đề "dặm cuối" (last mile). Mặc dù logic cốt lõi có thể được tạo ra thông qua "vibe coding," việc đưa một ứng dụng thực tế vào hoạt động liên quan đến các tác vụ "devops" phức tạp: thiết lập xác thực, tích hợp thanh toán, triển khai lên máy chủ và nhấp qua vô số giao diện người dùng web [00:32:30]. Công việc thủ công, dựa trên trình duyệt này là điểm nghẽn hiện tại, và nó chỉ thẳng đến biên giới tiếp theo: các tác nhân (agents).
Mở đường cho các Tác nhân (Agents): Xây dựng Web thân thiện với LLM
Nếu LLM muốn phát triển từ những trợ lý hữu ích thành các tác nhân có khả năng thực hiện các tác vụ "dặm cuối" này, hạ tầng kỹ thuật số của chúng ta cần phải thích ứng. Chúng ta phải bắt đầu xây dựng cho một loại người dùng mới: tác nhân AI [00:33:55]. Điều này có nghĩa là làm cho các trang web và dịch vụ của chúng ta dễ đọc hơn đối với máy.
Karpathy đề xuất một số ý tưởng cụ thể, có thể hành động được:
llm.txt
: Giống nhưrobots.txt
cung cấp hướng dẫn cho các trình thu thập dữ liệu web, một tệpllm.txt
được đề xuất sẽ cung cấp bản tóm tắt trực tiếp, có cấu trúc, bằng ngôn ngữ tự nhiên về một trang web hoặc tên miền cho một LLM truy cập [00:34:12]. Đó là một hướng dẫn sử dụng cho AI.- Tài liệu thân thiện với LLM: Tài liệu cần chuyển từ ảnh chụp màn hình và bố cục tập trung vào con người sang định dạng Markdown sạch sẽ, đơn giản, dễ dàng được LLM phân tích và hiểu [00:34:51].
- Tài liệu có thể hành động: Các hướng dẫn nên phát triển. Thay vì bảo con người "nhấp vào nút 'Tạo'," tài liệu nên cung cấp lệnh
curl
hoặc lệnh gọi API mà một tác nhân có thể thực thi trực tiếp để đạt được kết quả tương tự [00:35:59].
Chúng ta cũng cần các công cụ mới được thiết kế cho kỷ nguyên này, như công cụ get.ingest
mà ông đề cập, có thể làm phẳng một kho lưu trữ GitHub phức tạp thành một tệp văn bản sạch sẽ, duy nhất mà LLM có thể dễ dàng tiếp nhận và phân tích [00:36:33].
Kết luận: Nắm bắt Sự thay đổi
Bài nói chuyện của Andrej Karpathy cung cấp một tầm nhìn rõ ràng, có cấu trúc và đầy cảm hứng về hiện tại và tương lai của phần mềm. Chúng ta đang ở một thời điểm then chốt, một "thời điểm độc đáo" [00:38:16] nơi bản chất của phần mềm đang được định nghĩa lại. Sự chuyển đổi sang Phần mềm 3.0 không chỉ là một sự thay đổi công nghệ; đó là một sự thay đổi mô hình sẽ trao quyền cho một thế hệ người sáng tạo mới và thay đổi căn bản cách chúng ta tương tác với thế giới kỹ thuật số. Chặng đường phía trước sẽ đòi hỏi chúng ta phải thông thạo tất cả các mô hình, nắm bắt mô hình cộng tác giữa con người và AI theo kiểu "bộ giáp Iron Man", và bắt đầu xây dựng hạ tầng sẽ tạo điều kiện cho các tác nhân AI trong tương lai.
Đây là một thời điểm độc đáo, thú vị và đầy thách thức để trở thành một người xây dựng. Định nghĩa về phần mềm đang mở rộng, và cùng với đó, định nghĩa về người có thể trở thành lập trình viên. Sự thay đổi đã đến, và nó đang diễn ra ngay bây giờ.
Muốn có một nền tảng Tích hợp, Tất cả trong Một cho Đội ngũ Phát triển của bạn làm việc cùng nhau với năng suất tối đa?
Apidog đáp ứng mọi yêu cầu của bạn, và thay thế Postman với mức giá phải chăng hơn nhiều!