AI học cách viết code cho chính mình

Có thể nào máy móc tự viết phần mềm cho mình và chiếm công ăn việc làm của lập trình viên?

Ít nhất thì chúng có thể đem đến sự tự động hóa cho nhiều lĩnh vực khác nhau: Loại bỏ những công việc nhàm chán, cực nhọc để các nhà phát triển làm được nhiều công việc sáng tạo hơn.

Theo InfoWorld, một báo cáo nghiên cứu mới gần đây do các nhà nghiên cứu của Microsoft và Đại học Cambridge (Anh) công bố đã thảo luận về cách một cỗ máy học, có tên là DeepCoder có thể học viết những chương trình nhỏ bằng cách sử dụng thói quen từ các chương trình khác làm nguyên liệu thô.

DeepCoder khởi đầu từ những việc rất khiêm tốn. Nó sử dụng đoạn mã nhỏ, mỗi đoạn chỉ một vài dòng, được viết bằng một tùy chỉnh – DSL (ngôn ngữ được chuyên biệt hoá dành cho miền vấn đề chuyên biệt) để làm cho nó dễ dàng phân tích đầu vào và đầu ra của mỗi đoạn mã hơn. Một đoạn mã được cho là tốt hơn khi nó giải quyết được một vấn đề cụ thể, và nhiều khả năng nó sẽ kết thúc như là một phần của giải pháp. Theo thời gian, với việc huấn luyện về những đoạn mã mới, tốc độ và độ chính xác của DeepCoder được cải thiện hơn.

AI học cách viết code cho chính mình
Theo thời gian, với việc huấn luyện về những đoạn mã mới, tốc độ và độ chính xác của DeepCoder được cải thiện hơn.

Loại tiếp cận này có thể giúp cho những người không biết gì về viết code có thể xây dựng được những chương trình đơn giản dễ dàng hơn.

"Bỗng nhiên mọi người có thể trở nên năng suất hơn", ông Armando Solar-Lezama ở Viện công nghệ Massachusetts (MIT – Mỹ), người không tham gia vào nghiên cứu này, nhận xét. "Họ có thể xây dựng được các hệ thống mà họ có lẽ không thể làm trước đó".

Tóm lại, phương pháp này có thể cho phép những người không phải là coder chỉ cần đơn giản mô tả một ý tưởng cho một chương trình và để hệ thống xây dựng nó, ông Marc Brockschmidt, một trong những người sáng tạo DeepCoder tại Microsoft Research ở Cambridge cho biết.

DeepCoder sử dụng một kỹ thuật gọi là tổng hợp chương trình: tạo các chương trình mới bằng cách ghép các dòng mã lấy từ các phần mềm đang có - giống như một lập trình viên có thể làm. Cho một danh sách các yếu tố đầu vào và đầu ra cho mỗi đoạn mã, DeepCoder học mẩu mã nào là cần thiết để đạt được kết quả mong muốn tổng thể.

Một lợi thế của việc để "thả lỏng" một AI theo cách này là nó có thể tìm kiếm kỹ lưỡng hơn và rộng rãi hơn một coder bằng da bằng thịt, vì vậy có thể ghép nối các đoạn mã với nhau theo một cách mà con người có lẽ không nghĩ đến. Chưa hết, DeepCoder sử dụng máy học để lọc cơ sở dữ liệu mã nguồn và sắp xếp các đoạn mã theo nó là hữu dụng nhất.

AI học cách viết code cho chính mình
DeepCoder sử dụng máy học để lọc cơ sở dữ liệu mã nguồn và sắp xếp các đoạn mã theo nó là hữu dụng nhất.

Tất cả những điều này làm cho DeepCoder nhanh hơn những người tiền nhiệm nó. DeepCoder tạo ra các chương trình làm việc trong các phần phân đoạn của một giây, trong khi các hệ thống cũ hơn phải mất nhiều phút để thử nhiều kết hợp dòng mã khác nhau trước khi ghép nối những đoạn mã nào đó với nhau để có thể thực hiện công việc. Và do DeepCoder học những kết hợp mã nguồn nào hoạt động và những mã nguồn nào không hoạt động được cùng nhau nên mỗi lần nó cố giải quyết một vấn đề mới là mỗi lần nó tự cải thiện.

Công nghệ này có thể có nhiều ứng dụng. Trong năm 2015, các nhà nghiên cứu ở Viện công nghệ MIT đã tạo ra một chương trình tự động vá các lỗi phần mềm bằng việc thay thế các dòng mã lỗi từ các chương trình khác. Ông Brockschmidt cho rằng các phiên bản tương lại có thể làm cho việc xây dựng các chương trình hoạt động lặp đi lặp lại lấy thông tin từ các website dễ dàng hơn rất nhiều, như việc tự động phân loại ảnh Facebook mà coder con người không phải đụng đến một ngón tay.

Tuy nhiên, các chuyên gia cho rằng những hệ thống như vậy sẽ khiến các nhà phát triển mất việc. Có chương trình tổng hợp tự động hóa một số phần tẻ nhạt nhất của lập trình, các coder sẽ có thể tập trung thời gian cho các công việc phức tạp hơn.

Loading...
TIN CŨ HƠN
Những công nghệ được kỳ vọng sẽ thay đổi cuộc sống của con người trong tương lai

Những công nghệ được kỳ vọng sẽ thay đổi cuộc sống của con người trong tương lai

Lọc nước biển thành nước ngọt, vắc xin điện tử chữa bách bệnh... những công nghệ này sẽ giúp cải thiện cuộc sống con người trong tương lai.

Đăng ngày: 28/02/2018
Bitcoin là gì?

Bitcoin là gì?

Dự án “tiền tệ ảo thử nghiệm” này đang trở thành một trong những chủ đề nóng nhất của giới công nghệ cũng như giới kinh tế.

Đăng ngày: 28/02/2018
Điện thoại của bạn sẽ cứng như cục gạch với dung dịch thần kì này

Điện thoại của bạn sẽ cứng như cục gạch với dung dịch thần kì này

Dung dịch đầy ma thuật này sẽ giúp smartphone của bạn trở nên

Đăng ngày: 25/02/2017
Ống kính in 3D siêu nhỏ giúp máy móc có mắt tinh như đại bàng

Ống kính in 3D siêu nhỏ giúp máy móc có mắt tinh như đại bàng

Bằng cách bắt chước những cử chỉ của hố thị giác, các nhà khoa học của đại học Stuttgart, Đức đã giúp máy móc có khả năng tập trung thị giác mạnh như đại bàng.

Đăng ngày: 25/02/2017
Kính thực tế ảo mới của Samsung sẽ biến công nghệ trong Iron Man thành hiện thực

Kính thực tế ảo mới của Samsung sẽ biến công nghệ trong Iron Man thành hiện thực

Đây là một minh chứng rõ ràng nhất cho việc VR không chỉ được sử dụng trong mục đích giải trí mà phục vụ cả việc cải thiện cuộc sống hằng ngày nữa.

Đăng ngày: 24/02/2017
Xe máy biết bay của BMW chính là phương tiện đến từ tương lai

Xe máy biết bay của BMW chính là phương tiện đến từ tương lai

Điểm đáng chú ý là nó được xây dựng nên từ một mô hình lắp ghép đồ chơi mà Lego Technic đã tạo ra.

Đăng ngày: 24/02/2017
Kinh ngạc khẩu súng chỉ bắn được khi đặt cạnh đồng hồ

Kinh ngạc khẩu súng chỉ bắn được khi đặt cạnh đồng hồ

Vũ khí thông minh, điều dường như chỉ có thể đến từ trong viễn tưởng nay đã thành thực tế khi súng lục Armatix iP1, khẩu súng có sự liên kết với đồng hồ thông minh cho phép kiểm soát việc sử dụng súng.

Đăng ngày: 24/02/2017
Tiêu điểm
Khoa Học News