Tác giả Uladzislau Yanchanka
Ngày 18 tháng 1 năm 2024
Thời kỳ của lập trình được động lực bởi Trí tuệ Nhân tạo đang đến gần chúng ta, và đó không chỉ là một vai trò hỗ trợ; nó đang lấy đi ánh sáng sân khấu. Trí tuệ Nhân tạo hiện đang viết lại các quy tắc của việc tạo mã. Tuy nhiên, điều này chỉ là phần nổi của tảng băng khi nói đến tiềm năng của nó. Trong tương lai không xa, thuật toán có thể loại bỏ rào cản ngôn ngữ và đột phá đổi mới vai trò của các nhà phát triển con người. Vậy, liệu chúng ta có đang chứng kiến sự kết thúc của nhà lập trình con người như chúng ta biết không? Hãy tìm hiểu.
Ảnh hưởng của Trí tuệ Nhân tạo: Tiến triển và Thách thức
Giám đốc điều hành của Stability AI vẽ ra một bức tranh tăm tối cho các lập trình viên, táo bạo tuyên bố rằng trí tuệ nhân tạo sẽ thay thế họ chỉ trong vòng năm năm. OpenAI đang đổ hết sức mình, tập hợp một “đội quân” các nhà thầu bên ngoại để tăng tốc quá trình đào tạo mô hình của họ, có khả năng phá hủy các công việc viết mã cấp nhập môn. Bloomberg đen tối tuyên bố rằng bể lớn 5 triệu lập trình viên của Ấn Độ đang đứng trước nguy cơ mất việc do Trí tuệ Nhân tạo. Mặc dù có những dự báo đen tối này, các cuộc thảo luận trên Reddit cho thấy nhiều lập trình viên coi thường đến an ninh việc làm của họ. Nhưng liệu chúng ta có thể tiếp tục giữ vững lòng tự mãn trước một sự thay đổi đột ngột như vậy không?
Nếu bạn nghĩ rằng Trí tuệ Nhân tạo chỉ là một phần nhỏ của cuộc diễn xiếc, có lẽ bạn nên xem xét lại. Đúng là ngay bây giờ, mặc dù Trí tuệ Nhân tạo có thể mô phỏng cú pháp và cấu trúc của đầu ra được viết bởi con người, nhưng thường khó khăn trong việc hiểu “tại sao” đằng sau “cái gì.” Nói cách khác, nó thiếu sự hiểu biết sâu sắc về logic và ý định cơ bản.
Tuy nhiên, hiện tại, đã có tới 92% các nhà phát triển đặt tại Hoa Kỳ đang áp dụng các công cụ lập trình Trí tuệ Nhân tạo, cả trong công việc và thời gian rảnh rỗi của họ. Các thuật toán thông minh này có thể tạo ra đến 40% mã của bạn, từ đơn giản đến phức tạp. Lỗi do con người trở nên là quá khứ. Tốc độ phát triển được tăng cường mạnh mẽ, với Trí tuệ Nhân tạo giảm thời gian tài liệu mã lên đến 45-50% và giảm thời gian viết mã đi 35-45%.
Tầm với của Trí tuệ Nhân tạo không chỉ giới hạn ở một ngôn ngữ; nó bao gồm tất cả. Dữ liệu của chúng tôi cho thấy rằng các nhà phát triển sử dụng Java, Python và C++ đều hưởng lợi từ tính năng trò chuyện Trí tuệ Nhân tạo của Machinet, có thể tạo ra mã bằng cách sử dụng bối cảnh của một dự án cụ thể và một mô tả được cung cấp. Sự bao dung này dẫn đến một sự gia tăng 25% trong tương tác người dùng.
Nhưng đừng dừng lại ở đó – Trí tuệ Nhân tạo hiện đang phát hiện lỗ hổng trong ứng dụng, đảm bảo rằng sản phẩm là vững và chắc chắn. Các mạng thần kinh có thể quét không mệt mỏi để tìm lỗ hổng mà con người có thể bỏ sót. Trí tuệ Nhân tạo đang hoàn thiện kỹ năng của mình để xác định những điểm yếu của phần mềm và tăng cường phòng thủ của nó, đưa chúng ta gần hơn một bước đến một tương lai nơi giám sát của con người có thể trở nên lạc hậu.
Các thuật toán Trí tuệ Nhân tạo thậm chí đã thành thạo nghệ thuật dịch mã. Trí tuệ Nhân tạo giống như một lập trình viên đa ngôn ngữ, phân tích mã được viết bằng một ngôn ngữ, sau đó tạo ra một phiên bản tương đương bằng một ngôn ngữ khác. Có các ví dụ rõ ràng đã xuất hiện – IBM gần đây đã giới thiệu trợ lý của mình, sử dụng một mô hình Trí tuệ Nhân tạo để dịch COBOL sang Java. Câu hỏi là, ai cần đến chuyên gia con người hay nhiều ngôn ngữ lập trình khi Trí tuệ Nhân tạo cuối cùng sẽ có thể làm tất cả?
Sự Kết Thúc của Đa dạng Ngôn ngữ
Tôi tin tưởng rằng không có cách nào có thể ngăn chặn sự thăng tiến của các Mô hình Ngôn ngữ Lớn như GPT-4. Chúng hiểu cả ngôn ngữ tự nhiên và mã lập trình, làm mờ ranh giới như chưa bao giờ có.
Sự lên ngôi của Trí tuệ Nhân tạo đặt ra những câu hỏi về tương lai của cảnh lập trình. Hiện nay, có hàng trăm ngôn ngữ lập trình tồn tại và các ngôn ngữ mới được phát triển thường xuyên. Một số ngôn ngữ đang được sử dụng tích cực trong ngành công nghiệp. Theo chỉ số PYPL, Python là ngôn ngữ phổ biến nhất trên toàn cầu, theo sau là Java, JavaScript, C# và C/C++. Dữ liệu khác cho thấy rằng tính đến năm 2022, JavaScript là ngôn ngữ phổ biến nhất trong cộng đồng phát triển phần mềm. Một số ngôn ngữ thích hợp cho các mục đích và ứng dụng tương tự, ví dụ như Java và GO.
Vậy thì những ngôn ngữ này, mỗi ngôn ngữ có chỗ đứng và mục đích riêng, sẽ trở nên không hữu ích khi Trí tuệ Nhân tạo ngày càng thành thạo hơn trong việc viết mã? Tôi tin rằng Trí tuệ Nhân tạo sắp đưa vào hết sức của mình để làm lỗi thời, chậm chạp và ít an toàn trở nên lạc hậu. Điều này có thể dẫn đến sự tập trung của ngôn ngữ, chỉ có những ngôn ngữ nhanh nhất và hiệu quả nhất sẽ tồn tại. Những người phát triển sẽ không chọn chúng dựa trên sở thích cá nhân hay các mã nguồn lịch sử nữa. Thay vào đó, chúng sẽ được chọn dựa trên hiệu suất của chúng. Công cụ do Trí tuệ Nhân tạo đưa ra sẽ phân tích và đánh giá chúng một cách cẩn thận để xác định sự lựa chọn tối ưu cho các nhiệm vụ cụ thể. Các phân tích này sẽ xem xét các yếu tố như tốc độ thực thi, sử dụng bộ nhớ và khả năng mở rộng.
Một ngôn ngữ chung, thân thiện với Trí tuệ Nhân tạo cho nhiệm vụ lập trình tổng quát, có thể thậm chí xuất hiện. Tuy nhiên, một số ngôn ngữ chuyên biệt sẽ vẫn giữ vị trí của chúng trong các lĩnh vực cụ thể, như tính toán khoa học. Trí tuệ Nhân tạo có thể hỗ trợ tích hợp chúng khi các vấn đề cụ thể yêu cầu sử dụng chúng. Cách tiếp cận lai này sẽ kết hợp sự hiệu quả của tập trung với sức mạnh của sự chuyên môn, mang lại sự linh hoạt và đa dạng trong quá trình phát triển.
Hệ Thống Kế Thừa Trong Tầm Ngắm
Tác động của Trí tuệ Nhân tạo không chỉ giới hạn trong việc tạo mã mới; nó cũng là một công cụ tiêu diệt tiềm ẩn đối với những hệ thống kế thừa. Việc di chuyển từ các ngôn ngữ lập trình lỗi thời sang những ngôn ngữ mới, hiệu quả hơn có thể là một quá trình phức tạp và đắt đỏ. Tuy nhiên, giữ lại các hệ thống kế thừa cũng là gánh nặng tài chính. Thông thường, các nhóm công nghệ dành khoảng 75% ngân sách phát triển của họ cho các nhiệm vụ bảo trì. Và nếu một tổ chức tiếp tục phụ thuộc vào các giải pháp kế thừa, họ có thể dự kiến một tăng ngân sách hàng năm khoảng 15%.
Đây là nơi các công cụ di chuyển được động bằng Trí tuệ Nhân tạo xuất hiện. Chúng sẽ làm cho việc cập nhật phần mềm hiện tại của tổ chức đến các ngôn ngữ lập trình tối ưu của thời đại mới trở nên dễ dàng hơn. Sản phẩm được động bằng Trí tuệ Nhân tạo sẽ tự động phân tích và hiểu rõ những chi tiết phức tạp trong mã nguồn lỗi thời. Chúng sẽ xác định chức năng cốt lõi, các phụ thuộc và vấn đề tiềm ẩn trong mã nguồn kế thừa, giúp việc lên kế hoạch và thực hiện quá trình di chuyển trở nên dễ dàng hơn nhiều.
Tôi thậm chí mong đợi Trí tuệ Nhân tạo có thể xác định ngôn ngữ phù hợp nhất cho một dự án cụ thể và tự động chuyển đổi mã nguồn, viết lại các phần để tuân theo các quy tắc tốt nhất, loại bỏ các chức năng lặp lại hoặc đã lỗi thời, và tối ưu hóa kết quả để cải thiện hiệu suất và an ninh. Như vậy, các công cụ di chuyển được động bằng Trí tuệ Nhân tạo sẽ dần dần làm cho mã nguồn kế thừa trở thành một di tích của quá khứ.
Liệu Các Nhà Lập Trình Có Thể Tồn Tại Trong Cuộc Cách Mạng?
Cuối cùng, trong cảnh quan được thống trị bởi Trí tuệ Nhân tạo này, vai trò của nhà lập trình con người sẽ trải qua biến đổi. Thay vì việc viết mã bằng tay, họ sẽ nối kết khoảng cách giữa nhu cầu kinh doanh và khả năng của Trí tuệ Nhân tạo. Họ sẽ đặt ra các mục tiêu, đưa ra phản hồi, và đảm bảo rằng mã nguồn phản ánh tầm nhìn của họ. Theo cách hiểu cơ bản, nhà phát triển sẽ trở thành “người kết nối” với kiến thức lập trình cơ bản. Đồng thời, tôi có thể thấy các trợ lý lập trình Trí tuệ Nhân tạo tiến triển thành các giải pháp toàn diện với giao diện thân thiện người dùng, giúp mọi người giao tiếp hiệu quả với thuật toán.
Những thay đổi này sẽ làm cho lĩnh vực lập trình trở nên dân chủ hóa. Hiện nay, có hơn 26 triệu nhà phát triển phần mềm trên toàn cầu. Sự tiến bộ trong lĩnh vực Trí tuệ Nhân tạo đang mở đường cho hàng tỷ người tham gia vào vai trò của người tạo phần mềm. Họ sẽ có khả năng yêu cầu thuật toán tạo ra các ứng dụng tùy chỉnh, cho dù đó là trò chơi hay các chương trình doanh nghiệp. Hãy tưởng tượng bạn muốn tạo ra một phiên bản mới của Angry Birds với những chú mèo? Đơn giản chỉ cần giải thích ý tưởng của bạn cho hệ thống Trí tuệ Nhân tạo và nhận kết quả ngay lập tức, mà không cần phải hiểu rõ cách hộp đen này hoạt động như thế nào.
Trong ngữ cảnh này, một câu hỏi bức xúc nảy ra: tương lai của những nhà phát triển ở cấp độ thấp và trung cấp trong mô hình mới nổi này là gì? Theo quan điểm của tôi, không nhiều. Trí tuệ Nhân tạo đang chuẩn bị vượt qua họ đáng kể ở mọi khía cạnh. Họ có thể thấy mình trở thành giám sát viên Trí tuệ Nhân tạo hoặc tự mình hoàn thiện kỹ năng, có lẽ thông qua việc tham gia vào các dự án có ít lợi nhuận hơn, để đạt đến mức độ thành thạo của những nhà phát triển có trình độ và được trả công cao.
Nhóm cuối cùng sẽ vẫn được đòi hỏi trong các lĩnh vực nơi mỗi lỗi đều có giá trị, và sự cải thiện 5% về độ chính xác có thể dịch thành triệu hoặc thậm chí tỷ đô tiết kiệm. Đó có thể là trong lĩnh vực giao dịch tần suất cao, nơi một chênh lệch chỉ 10 mili giây có thể quyết định lợi nhuận hay lỗ, ngân hàng, và lập trình công nghệ quân sự.
Sự chuyển đổi này sẽ tạo ra một cuộc cạnh tranh toàn cầu thực sự giữa các nhà lập trình viên. Hiện nay, nó hoạt động trong một khuôn khổ toàn cầu hơi giả mạo một chút. Khác với các nghệ sĩ cạnh tranh trên các nền tảng như Spotify với đồng nghiệp từ khắp nơi trên thế giới, nhà phát triển vẫn chủ yếu có thể tập trung vào thị trường địa phương và nhiệm vụ cụ thể. Tuy nhiên, thị trường mà Trí tuệ Nhân tạo có thể quản lý một phần lớn các nhiệm vụ lập trình sẽ trở nên khốc liệt hơn. Chỉ đơn giản “đủ tốt” sẽ không còn đủ. Nhà phát triển sẽ cần phải nỗ lực vì sự xuất sắc để cạnh tranh cả với đồng nghiệp trên toàn cầu và với Trí tuệ Nhân tạo.