Tác giả: Aayush Mitta
Ngày 14 tháng 11 năm 2023
Tuần trước đánh dấu một bước tiến quan trọng cho OpenAI khi họ ra mắt GPT-4 Turbo tại sự kiện OpenAI DevDay của họ. Một tính năng nổi bật của GPT-4 Turbo là cửa sổ ngữ cảnh mở rộng lên 128,000, một bước nhảy đáng kể so với con số 8,000 của GPT-4. Sự nâng cấp này cho phép xử lý văn bản lớn hơn gấp 16 lần so với thế hệ trước, tương đương với khoảng 300 trang văn bản.
Sự tiến bộ này liên quan đến một phát triển quan trọng khác: ảnh hưởng tiềm ẩn đối với cảnh đối tác của các doanh nghiệp phần mềm dưới dạng dịch vụ (SaaS).
ChatGPT Enterprise của OpenAI, với các tính năng tiên tiến, đặt ra một thách thức đối với nhiều startup SaaS. Các công ty này, đã cung cấp sản phẩm và dịch vụ xung quanh ChatGPT hoặc các API của nó, bây giờ phải đối mặt với sự cạnh tranh từ một công cụ có khả năng doanh nghiệp. Các ưu điểm của ChatGPT Enterprise, như xác minh lĩnh vực, SSO (Single Sign-On), và thông tin sử dụng, trực tiếp chồng lấn với nhiều dịch vụ B2B hiện có, có thể đe dọa đến sự tồn tại của những startup này.
Trong bài diễn thuyết của mình, Giám đốc điều hành của OpenAI, Sam Altman, đã tiết lộ một phát triển quan trọng khác: mở rộng giới hạn kiến thức của GPT-4 Turbo. Khác với GPT-4 chỉ có thông tin đến năm 2021, GPT-4 Turbo đã được cập nhật với kiến thức đến tháng 4 năm 2023, đánh dấu một bước tiến quan trọng trong việc tăng tính liên quan và ứng dụng của trí tuệ nhân tạo.
ChatGPT Enterprise nổi bật với những tính năng như bảo mật và quyền riêng tư nâng cao, truy cập nhanh chóng đến GPT-4, và cửa sổ ngữ cảnh mở rộng cho đầu vào dài hơn. Khả năng phân tích dữ liệu tiên tiến, tùy chọn tùy chỉnh và việc loại bỏ giới hạn sử dụng biến nó thành một lựa chọn xuất sắc so với các phiên bản trước đó. Khả năng xử lý đầu vào và tệp dài hơn, cùng với quyền truy cập không giới hạn vào các công cụ phân tích dữ liệu tiên tiến như Code Interpreter đã biết trước đây, làm tăng thêm sức hấp dẫn của nó, đặc biệt là đối với các doanh nghiệp trước đây do lo lắng về vấn đề an ninh dữ liệu.
Thời đại của việc tạo mã thủ công đang chuyển sang các hệ thống do trí tuệ nhân tạo đào tạo thay vì lập trình, đồng thời đánh dấu một thay đổi cơ bản trong phát triển phần mềm.
Các công việc lập trình đơn điệu có thể sớm được chuyển giao cho trí tuệ nhân tạo, giảm bớt sự cần thiết về chuyên môn mã nguồn sâu. Các công cụ như GitHub’s CoPilot và Replit’s Ghostwriter, hỗ trợ trong việc lập trình, là các dấu hiệu sớm về vai trò ngày càng mở rộng của trí tuệ nhân tạo trong lập trình, chỉ ra một tương lai nơi AI mở rộng qua việc hỗ trợ để hoàn toàn quản lý quá trình lập trình. Hãy tưởng tượng tình huống phổ biến khi một lập trình viên quên cú pháp để đảo ngược một danh sách trong một ngôn ngữ cụ thể. Thay vì tìm kiếm qua các diễn đàn và bài viết trực tuyến, CoPilot cung cấp sự hỗ trợ ngay lập tức, giữ cho lập trình viên tập trung vào mục tiêu của mình.
Chuyển từ Low-Code sang phát triển ứng dụng bằng công cụ hỗ trợ AI
Công cụ Low-code và No-code đã đơn giản hóa quá trình lập trình, tự động hóa việc tạo ra các khối mã nguồn cơ bản và giải phóng các nhà phát triển để tập trung vào các khía cạnh sáng tạo của dự án của họ. Nhưng khi chúng ta bước vào làn sóng Trí tuệ Nhân tạo mới này, bức tranh thay đổi thêm nữa. Sự đơn giản của giao diện người dùng và khả năng tạo mã thông qua các lệnh trực quan như “Xây dựng một trang web để thực hiện X” đang cách mạng hóa quá trình.
Ảnh hưởng của Trí tuệ Nhân tạo trong lập trình đã rất lớn. Giống như cách các nhà khoa học máy tính đầu tiên chuyển từ sự tập trung vào kỹ thuật điện tử sang các khái niệm trừu tượng hóa hơn, những lập trình viên trong tương lai có thể coi việc viết mã chi tiết là lạc hậu. Những tiến bộ nhanh chóng trong lĩnh vực Trí tuệ Nhân tạo không chỉ giới hạn ở việc tạo văn bản/mã. Trong các lĩnh vực như mô hình tạo ảnh như Runway ML, DALL-E 3 đã cho thấy những cải tiến đáng kể. Hãy xem tweet dưới đây của Runway để thấy chức năng mới nhất của họ.
Mở rộng ra khỏi lập trình, ảnh hưởng của trí tuệ nhân tạo đối với các ngành nghệ thuật sáng tạo có thể đạt đến mức độ biến đổi tương đương. Jeff Katzenberg, một người hùng trong ngành công nghiệp điện ảnh và cựu chủ tịch của Walt Disney Studios, đã dự đoán rằng trí tuệ nhân tạo sẽ giảm đáng kể chi phí sản xuất phim hoạt hình. Theo một bài viết gần đây từ Bloomberg, Katzenberg dự đoán một giảm 90% đột ngột trong chi phí. Điều này có thể bao gồm tự động hóa các nhiệm vụ lao động tốn sức như in-betweening trong animation truyền thống, kịch bản các cảnh, và thậm chí hỗ trợ trong các quy trình sáng tạo như thiết kế nhân vật và storyboard.
Hiệu quả chi phí của Trí tuệ Nhân tạo trong Lập trình
Phân tích chi phí việc sử dụng một kỹ sư phần mềm:
- Tổng mức lương chi phí: Mức lương trung bình cho một kỹ sư phần mềm bao gồm các lợi ích bổ sung tại các trung tâm công nghệ như Silicon Valley hoặc Seattle là khoảng $312,000 mỗi năm.
Phân tích chi phí hàng ngày:
- Ngày làm việc mỗi năm: Xét đến có khoảng 260 ngày làm việc trong một năm, chi phí hàng ngày cho việc sử dụng một kỹ sư phần mềm là khoảng $1,200.
- Sản Lượng mã nguồn tạo ra: Giả sử một ước lượng hào phóng với 100 dòng mã đã hoàn thiện, đã kiểm tra, đã xem xét và đã được phê duyệt mỗi ngày, sản lượng hàng ngày này là cơ sở để so sánh.
Phân tích chi phí việc sử dụng GPT-3 để sinh mã nguồn:
- Chi Phí Token: Chi phí sử dụng GPT-3, vào thời điểm của video, là khoảng $0.02 cho mỗi 1,000 token.
- Token Trên Mỗi Dòng Mã: Trung bình, có thể ước lượng rằng mỗi dòng mã chứa khoảng 10 token.
- Chi Phí cho 100 Dòng Mã: Do đó, chi phí để tạo ra 100 dòng mã (hoặc 1,000 token) bằng GPT-3 sẽ là khoảng $0.12.
Phân tích so sánh:
- Chi phí cho mỗi dòng mã nguồn (con người so với AI): So sánh chi phí, việc tạo ra 100 dòng mã mỗi ngày tốn $1,200 khi được thực hiện bởi một kỹ sư phần mềm con người, so với chỉ là $0.12 khi sử dụng GPT-3.
- Yếu tố chi phí: Điều này đại diện cho sự khác biệt về yếu tố chi phí khoảng 10,000 lần, với Trí Tuệ Nhân Tạo rẻ hơn đáng kể.
Phân tích này chỉ ra tiềm năng kinh tế của Trí tuệ Nhân tạo trong lĩnh vực lập trình. Chi phí thấp của mã được tạo ra bởi AI so với chi phí cao của các nhà phát triển con người gợi ý một tương lai nơi AI có thể trở thành phương pháp ưa thích cho việc tạo mã, đặc biệt là đối với các nhiệm vụ tiêu chuẩn hoặc lặp lại. Sự chuyển đổi này có thể dẫn đến tiết kiệm chi phí đáng kể cho các công ty và một việc đánh giá lại vai trò của các lập trình viên con người, có thể tập trung kỹ năng của họ vào các nhiệm vụ phức tạp, sáng tạo hoặc giám sát mà AI hiện chưa thể xử lý.
Sự linh hoạt của ChatGPT mở rộng đến nhiều ngữ cảnh lập trình, bao gồm cả các tương tác phức tạp với các framework phát triển web. Hãy tưởng tượng một kịch bản nơi một nhà phát triển đang làm việc với React, một thư viện JavaScript phổ biến để xây dựng giao diện người dùng. Theo truyền thống, công việc này sẽ đòi hỏi đào sâu vào tài liệu đầy đủ và ví dụ do cộng đồng cung cấp, đặc biệt khi làm việc với các thành phần phức tạp hoặc quản lý trạng thái.
Với ChatGPT, quy trình này trở nên thuận tiện hơn. Nhà phát triển có thể đơn giản mô tả chức năng mà họ muốn thực hiện trong React, và ChatGPT cung cấp đoạn mã sẵn có và liên quan. Điều này có thể từ việc thiết lập cấu trúc cơ bản của thành phần đến các tính năng nâng cao hơn như quản lý trạng thái với hooks hoặc tích hợp với các API bên ngoài. Bằng cách giảm thời gian tìm kiếm và thử nghiệm, ChatGPT tăng cường hiệu suất và tăng tốc quá trình phát triển dự án trong ngữ cảnh phát triển web.
Thách thức trong việc phát triển ứng dụng thông qua công cụ hỗ trợ AI
Khi Trí tuệ Nhân tạo tiếp tục định hình bức tranh lập trình, việc nhận biết các hạn chế và thách thức đi kèm khi chỉ phụ thuộc vào AI cho các nhiệm vụ lập trình là cực kỳ quan trọng. Những thách thức này nhấn mạnh sự cần thiết của một phương pháp cân đối, tận dụng các ưu điểm của AI trong khi nhận thức được các giới hạn.
- Chất lượng và bảo trì mã nguồn: Mã nguồn được tạo ra bởi AI đôi khi có thể dài dòng hoặc không hiệu quả, có thể dẫn đến những thách thức về duy trì. Mặc dù AI có thể viết mã chức năng, nhưng đảm bảo rằng mã này tuân theo các quy ước tốt nhất về khả năng dễ đọc, hiệu năng, hiệu suất và bảo trì vẫn là một nhiệm vụ do con người thực hiện.
- Gỡ và xử lý lỗi: Hệ thống AI có thể tạo mã nhanh chóng, nhưng không phải lúc nào cũng xuất sắc trong việc gỡ lỗi hoặc hiểu rõ các lỗi tinh tế ẩn chứa trong mã nguồn hiện tại. Sự tinh tế của gỡ lỗi, đặc biệt là trong các hệ thống lớn, phức tạp, thường đòi hỏi sự hiểu biết và kinh nghiệm tinh tế của các lập trình viên lão luyện.
- Phụ thuộc vào dữ liệu huấn luyện: Hiệu quả của AI trong lập trình chủ yếu phụ thuộc vào chất lượng và phạm vi của dữ liệu huấn luyện. Nếu dữ liệu huấn luyện thiếu các ví dụ về một số lỗi, mô hình, hoặc tình huống cụ thể, khả năng của AI xử lý những tình huống này sẽ bị ảnh hưởng.
- Quan ngại về khía cạnh đạo đức và bảo mật: Khi AI đóng vai trò quan trọng hơn trong việc viết mã, nảy sinh những quan ngại đạo đức và bảo mật, đặc biệt liên quan đến quyền riêng tư dữ liệu và khả năng chệch lệch của mã được tạo ra bởi AI. Đảm bảo việc sử dụng đạo đức và giải quyết những chệch lệch này là quan trọng để phát triển có trách nhiệm các công cụ lập trình được điều khiển bởi Trí tuệ Nhân tạo.
Cân bằng giữa kỹ năng lập trình truyền thống và công cụ AI
Trong tương lai, có thể xuất hiện mô hình kết hợp giữa trí tuệ nhân tạo và lập trình truyền thống trong các đội phát triển phần mềm. Những người quản lý sản phẩm có thể chuyển đổi yêu cầu thành chỉ thị cho các trình tạo mã trí tuệ nhân tạo. Sự giám sát của con người có thể vẫn cần thiết để đảm bảo chất lượng, nhưng tập trung sẽ chuyển từ việc viết và duy trì mã sang việc xác nhận và điều chỉnh đầu ra được tạo ra bởi trí tuệ nhân tạo. Sự thay đổi này gợi ý một sự giảm tầm quan trọng đối với các nguyên tắc lập trình truyền thống như tính mô đun và trừu tượng, vì mã được tạo ra bởi trí tuệ nhân tạo không nhất thiết phải tuân theo các tiêu chuẩn bảo trì tập trung vào con người.
Trong thời đại mới này, vai trò của kỹ sư và nhà khoa học máy tính sẽ chuyển đổi đáng kể. Họ sẽ tương tác với các mô hình LLM, cung cấp dữ liệu đào tạo và ví dụ để đạt được nhiệm vụ, dịch chuyển tập trung từ việc viết mã phức tạp đến việc làm việc chiến lược với các mô hình trí tuệ nhân tạo.
Đơn vị tính toán cơ bản sẽ dịch chuyển từ các bộ xử lý truyền thống sang các mô hình LLM đã được đào tạo trước mạnh mẽ, đánh dấu một sự chuyển từ các quy trình dự đoán và tĩnh đến các tác nhân trí tuệ nhân tạo linh hoạt và động.
Tập trung đang chuyển từ việc tạo ra và hiểu các chương trình sang việc hướng dẫn các mô hình trí tuệ nhân tạo, định hình lại vai trò của các nhà khoa học máy tính và kỹ sư và tái định hình cách chúng ta tương tác với công nghệ.
Nhân tố đóng góp hiểu biết của lập trình viên trong mã nguồn do công cụ AI viết ra
Tương lai của lập trình ít liên quan đến việc viết mã hơn và nhiều hơn là việc chỉ đạo sự thông minh sẽ thúc đẩy thế giới công nghệ của chúng ta.
Niềm tin rằng xử lý ngôn ngữ tự nhiên của Trí tuệ Nhân tạo có thể hoàn toàn thay thế sự chính xác và phức tạp của các biểu thức toán học hình thức và lập trình truyền thống chỉ là sự xuất hiện quá sớm, tối đa là như vậy. Sự chuyển đổi sang Trí tuệ Nhân tạo trong lập trình không loại bỏ nhu cầu về sự nghiêm túc và chính xác mà chỉ kiến thức lập trình hình thức và kỹ năng toán học có thể cung cấp.
Hơn nữa, thách thức trong việc kiểm thử mã được tạo ra bởi Trí tuệ Nhân tạo để giải quyết các vấn đề chưa được giải quyết trước đây vẫn rất lớn. Các kỹ thuật như kiểm thử dựa trên thuộc tính đòi hỏi sự hiểu biết sâu sắc về lập trình, kỹ năng mà Trí tuệ Nhân tạo, trong tình trạng hiện tại của nó, chưa thể sao chép hoặc thay thế.
Tóm lại, trong khi Trí tuệ Nhân tạo hứa hẹn tự động hóa nhiều khía cạnh của lập trình, yếu tố con người vẫn quan trọng, đặc biệt là trong các lĩnh vực đòi hỏi sự sáng tạo, giải quyết vấn đề phức tạp và giám sát đạo đức.