1 điểm bởi GN⁺ 4 giờ trước | 1 bình luận | Chia sẻ qua WhatsApp
  • Lập trình khó đọc, khó kiểm thử và khó bảo trì, đồng thời việc hiểu dự án thường tập trung vào một số ít người, nên thay vì tự động hóa việc viết mã bằng LLM, cần có những lớp trừu tượng giúp giảm chính phạm vi cần đến mã
  • LLM đã lan rộng tới cả lập trình viên lẫn người không phải lập trình viên, nhưng các vấn đề như tính hủy hoại môi trường, dựa trên mã bị đánh cắp, kết quả thiếu nhất quán và tạo ra sự phụ thuộc vẫn còn rất lớn
  • Điểm khởi đầu là đảo ngược thói quen viết mã trước rồi mới thêm tài liệu, chuyển sang lập trình kiểu văn chương với nguyên tắc tài liệu trước, mã theo sau
  • Lập trình trực quan dựa trên GUI và lập trình ngôn ngữ tự nhiên mang tính quyết định có thể biến mã chỉ còn là một trong nhiều cách biểu đạt, nhưng trong môi trường trực quan thì thiết kế trợ năng như tích hợp trình đọc màn hình là điều bắt buộc
  • Những thử nghiệm đi trước như Eve và Inform, cùng các công cụ như Entangled và ReTangled, cho thấy khả năng tạo ra phần mềm theo cách mà cả người mới lẫn chuyên gia đều có thể hiểu được

LLM không phải mô hình đích

  • LLM đã trở thành công cụ quan trọng trong phát triển phần mềm công nghiệp, và ngay cả các chuyên gia giàu kinh nghiệm cũng dùng tác nhân LLM để kiểm thử, gỡ lỗi và viết mã
  • Người không phải lập trình viên cũng đang dùng LLM để tạo từ script cá nhân đến công cụ xử lý dữ liệu khoa học
    • Lập trình khó tiếp cận vì điểm bắt đầu không rõ ràng, và những người không muốn học cú pháp cùng chi tiết thư viện của một ngôn ngữ cụ thể sẽ gặp rào cản lớn
  • Việc LLM lan rộng không hẳn là vì LLM lập trình rất giỏi, mà gần hơn với một tín hiệu rằng bản thân lập trình là một công việc phức tạp và khó chịu
    • Có quá nhiều stack phần mềm xung đột nhau, boilerplate bất tận và các thư viện khó dùng
    • Công việc của một lập trình viên phần mềm trung bình ngày càng thu hẹp thành việc ghép nối thư viện hơn là phát triển đoạn mã thú vị
  • LLM vẫn còn nhiều vấn đề lớn
    • Gây hại cho môi trường
    • Về bản chất dựa trên mã bị đánh cắp
    • Tạo ra mã thiếu nhất quán
    • Gieo mầm sự phụ thuộc
  • Mô hình lập trình hiện tại còn nhiều thiếu sót, nhưng LLM cũng cần một giải pháp thay thế tốt hơn

Trừu tượng hóa thay vì tự động hóa

  • Từ bỏ LLM không có nghĩa là phải từ bỏ tự động hóa, trừu tượng hóa ở mức cao hay các giao diện thân thiện với con người
  • Mục tiêu không chỉ là làm cho việc viết mã dễ hơn, mà là xử lý stack phần mềm bên dưới mã và giảm chính nhu cầu phải viết mã
  • Nếu một tầng trừu tượng nào đó liên tục khiến ta muốn tự động hóa lặp đi lặp lại, thì thay vì tự động hóa tầng đó, hướng phù hợp hơn là trừu tượng hóa để loại bỏ nó
  • Việc LLM được dùng rộng rãi trong lập trình cho thấy mong muốn tự động hóa quy trình viết mã, và đó là tín hiệu rằng chính nhu cầu viết mã cần được trừu tượng hóa
  • Thay vì buộc con người phải suy nghĩ như máy tính, cần một tầng trừu tượng mới gần hơn với cách con người suy nghĩ một cách tự nhiên

Lập trình với tài liệu đi trước

  • Bước đầu tiên để có phần mềm dễ hiểu là tài liệu hóa
    • Nếu muốn người khác hiểu phần mềm, bạn phải giải thích phần mềm đó
  • Cách làm thông thường là viết mã trước, rồi sau đó mới thêm doc-comment hoặc ví dụ sử dụng
  • Cách được đề xuất là đảo ngược thứ tự: viết tài liệu trước, rồi mới thêm mã
    • Trước hết giải thích cho con người biết chương trình làm gì, sau đó mới nói cho máy tính biết phải làm gì
    • Khái niệm này được biết đến với tên lập trình kiểu văn chương
  • Với cách này, thay vì đọc ngay mã của người khác rồi suy đoán ý định, ta đọc tài liệu trước để hiểu ý định rồi mới kiểm tra mã
  • Entangled là một triển khai tốt của cách tiếp cận này
    • Đây là bộ tangler hai chiều trích xuất mã từ tài liệu và đặt nó vào các tệp mã nguồn phù hợp
    • Có thể chỉnh sửa các khối mã trong tài liệu, và các chỉnh sửa trong tệp mã thông thường cũng sẽ được lan truyền ngược lại vào các khối mã trong tài liệu
    • Các công cụ hiện có như kiểm thử, refactor, định dạng mã vẫn có thể tiếp tục sử dụng mà không cần hỗ trợ đặc biệt cho lập trình kiểu văn chương
    • Tangler chỉ tạo thêm một lượng overhead nhỏ cho hệ thống build, đặc biệt là rất nhỏ nếu so với compiler
  • Cách tiếp cận này không xóa bỏ sự phức tạp của mã, nhưng có thể thay thế LLM trong khía cạnh hiểu mã của người khác

Loại bỏ mã: GUI và nhiều cách biểu đạt

  • Mã là một khái niệm của thời đại cũ, được dùng vì trước đây con người phải tương tác với máy tính thông qua terminal
  • Điện toán đã thay đổi trong 40 năm qua, nên không có lý do gì phải khăng khăng rằng ta chỉ có thể giao tiếp với máy tính bằng chuỗi ký hiệu và từ khóa mơ hồ một chiều
  • GUI giúp xử lý các khái niệm phức tạp dễ hơn giao diện văn bản, và thường dễ tiếp cận hơn với người dùng mới
  • IDE có thể vượt ra ngoài vai trò nơi chỉnh sửa mã thuận tiện để trở thành một cách mới tương tác với phát triển phần mềm
    • Một số IDE đã cung cấp những khả năng như vậy
    • Xa hơn nữa, lập trình trực quan có thể trở nên đủ phổ quát và đơn giản để bất kỳ ai cũng tạo được thứ mình muốn mà không cần học mã
  • Không nhất thiết phải từ bỏ hoàn toàn mã
    • Biểu đạt bằng GUI có thể là một trong nhiều cách biểu đạt mà con người có thể chỉnh sửa
    • Cũng như có người thích giao diện hệ điều hành dựa trên văn bản, sẽ luôn có người thích chỉnh sửa phần mềm dựa trên mã
    • Tuy nhiên, mã không nhất thiết phải là mặc định hay là lựa chọn duy nhất
  • Lập trình trực quan có thể được thiết kế để dễ tiếp cận hơn, nhưng môi trường thiên về thị giác có thể dẫn tới loại trừ người khiếm thị
    • Cần tích hợp mạnh mẽ với trình đọc màn hình
    • Cũng cần những cách biểu đạt thay thế đủ phong phú để có thể hiểu bằng thính giác hoặc xúc giác

Biến ngôn ngữ tự nhiên thành lớp trừu tượng mang tính quyết định

  • Trái với nhận định rằng LLM nâng lập trình lên thêm một tầng trừu tượng, LLM gần với một tầng tự động hóa hơn là trừu tượng hóa
  • Một tầng trừu tượng phải có tính dự đoán và đáng tin cậy, sao cho ý định ở mức cao được biểu đạt chính xác và nhất quán ở mức thấp hơn
  • LLM diễn giải prompt theo xác suất và dự đoán ý định, nên hoạt động theo cách khó dự đoán
    • Nó tự động hóa quá trình xấp xỉ kết quả công việc một cách ngẫu nhiên
    • Nếu gọi là trừu tượng hóa thì đây gần như là một dạng trừu tượng hóa tổn hao rất lớn
  • Sự phát triển của xử lý ngôn ngữ tự nhiên (NLP) mở ra khả năng tạo ra một pipeline có thể dự đoán được từ ngôn ngữ tự nhiên sang ngôn ngữ máy
  • Mục tiêu là cho phép nhập vào giống như prompt LLM, nhưng tạo ra chương trình luôn có thể dự đoán và đủ vững chắc mỗi lần
    • Không chưng cất công việc của người khác như một dạng trung bình từ mã bị đánh cắp, mà xây dựng trực tiếp thông qua định nghĩa
  • Cách tiếp cận này có thể gắn tài liệu và mã với nhau chặt chẽ hơn
    • Nếu thay phần mã trong lập trình kiểu văn chương bằng ngôn ngữ tự nhiên, có thể chỉ còn lại tài liệu
    • Văn bản dùng để giải thích cho con người cách chương trình hoạt động đồng thời cũng có thể là văn bản giao tiếp với máy
  • Kiểu lập trình ngôn ngữ tự nhiên này phải mang tính quyết định
    • NLP có thể được dùng để phân tích cú pháp thành ngữ nghĩa mà không cần đến khả năng sinh của mô hình transformer
    • Cú pháp đã phân tích có thể được chuyển trực tiếp thành biểu diễn trung gian rồi biên dịch theo yêu cầu nền tảng, giống như các ngôn ngữ lập trình khác
  • Có thể hình dung nó tương tự Inform, nhưng với khả năng nhận biết cú pháp cao hơn và kết nối tới một mạng lưới định nghĩa rộng hơn
  • Nhờ tính quyết định đó, prompt có thể trở thành mã một cách đáng tin cậy và nhất quán, và đây là một lớp trừu tượng thực sự khác biệt căn bản với LLM

Những thử nghiệm trước đây: Eve và Inform

  • Những ý tưởng này không mới, và trước đây cũng đã có các nỗ lực triển khai
  • Eve là một ngôn ngữ lập trình và IDE nhằm làm cho lập trình trở nên dễ tiếp cận hơn với con người
    • Nó sử dụng cách tiếp cận lập trình kiểu văn chương
    • Nó nhúng một ngôn ngữ lập trình hướng dữ liệu, chuyên biệt theo miền, vào trong tài liệu mô tả hành vi phần mềm
    • Mã phụ thuộc vào tài liệu, và toàn bộ môi trường lập trình cũng phản ánh điều đó
  • Eve còn từng cố mở rộng ý tưởng này hơn nữa bằng cách thay ngôn ngữ riêng của mình bằng truy vấn NLP
    • Khi đó họ chưa sẵn sàng gánh vác độ phức tạp của xử lý ngôn ngữ tự nhiên
    • Năm 2016, NLP tiên tiến vẫn chưa dễ tiếp cận với các công ty không tập trung vào machine learning
    • Họ cũng đã thử nghiệm một cách tiếp cận định hướng GUI
  • Một cựu cộng tác viên của Eve cũng nêu ra những mối lo tương tự về độ phức tạp của dự án và giới hạn của LLM
  • Eve chấm dứt vì là một dự án đầy tham vọng được VC đầu tư nhưng thất bại trong thương mại hóa, nên đã không có cơ hội chứng kiến các ý tưởng này đơm hoa kết trái
  • Inform là một ngôn ngữ khai báo để tạo interactive fiction, cho thấy các khái niệm này có thể được áp dụng rộng hơn
  • Ngôn ngữ tự nhiên có thể về bản chất là một lớp trừu tượng bị rò rỉ, nhưng tiềm năng giúp người bình thường trực tiếp điều khiển máy tính của mình xứng đáng được quan tâm nhiều hơn

Bước tiếp theo và công việc được đề xuất

  • ReTangled đang được phát triển như một dự án nhằm tạo ra phần mềm dễ hiểu
    • Đây là bộ tangler hai chiều tương thích với Entangled, được viết bằng Rust
    • Mục tiêu là mở rộng lập trình kiểu văn chương nhiều nhất có thể, đồng thời tích hợp chặt chẽ với toolchain hiện có ở mức hợp lý
    • Hiện dự án vẫn ở giai đoạn phát triển ban đầu và hoan nghênh đóng góp
  • Tác giả dự định sẽ viết các bài đầy đủ hơn về lập trình trực quan, lập trình kiểu văn chương và lập trình ngôn ngữ tự nhiên
  • Ở cấp độ cộng đồng, có đề xuất tiếp nối dấu chân của Eve nhưng với cách tiếp cận hơi khác
  • Mục tiêu là tạo ra một môi trường lập trình trực quan hoặc ngôn ngữ tự nhiên dễ tiếp cận, được tài liệu hóa tốt và hữu ích cho cả người mới lẫn chuyên gia
  • Điểm khởi đầu là tài liệu hóa phần mềm tốt hơn, và mục tiêu cuối cùng là đảo ngược chính khái niệm lập trình

1 bình luận

 
Các ý kiến trên Lobste.rs
  • Tôi không chắc việc bỏ code, hoặc đặt nó phụ thuộc vào văn xuôi ngôn ngữ tự nhiên, có phải là giải pháp hiệu quả cho vấn đề khả năng tiếp cận của lập trình hay không
    Ngôn ngữ lập trình là một giao diện người dùng cân bằng giữa nhu cầu của máy tính và con người. Một ký pháp hình thức rõ ràng, được thiết kế tốt có thể trở thành công cụ tư duy, giúp cá nhân hiểu vấn đề và truyền đạt ý tưởng giữa người với máy
    Tôi chịu ảnh hưởng lớn khi học các ngôn ngữ họ APL; tuy mất thời gian để thành thạo, nhưng một khi đã học được, tôi có thể giữ những vấn đề lớn hơn trong đầu và suy nghĩ chính xác hơn. Với K, ta có thể giải quyết vấn đề chỉ bằng đầu óc, giấy và một REPL đơn giản, không cần IDE phức tạp
    Các dự án được tài liệu hóa tốt và lập trình văn chương đều có giá trị, nhưng tài liệu cũng tốn thời gian để đọc, viết và sửa. Cũng như kiểm thử, nhiều tài liệu không mặc nhiên là tốt; tôi thích những lời giải thích ngắn gọn, có cấu trúc, và những chương trình súc tích, dễ giải thích. Code có thể là thơ, nhưng phần lớn thơ không phải là chương trình

    • Tôi thích lập trình hình thức, nhưng không tin rằng người dùng trung bình phải trở thành lập trình viên để tận dụng sức mạnh của máy tính
      Phần lớn mọi người sẽ không học các cơ chế bên trong như vậy, nên tôi muốn hạ thấp rào cản gia nhập để nhiều người hơn có thể tham gia
      Vì thế tôi nghĩ LLM trở nên phổ biến. Tôi thường thấy người không lập trình dùng LLM để viết code nhằm xử lý công việc, nhưng như bài viết đã nói, LLM có những khiếm khuyết lớn mà tôi muốn tránh. Mọi người nên có thể mod game, tạo script và mở rộng chương trình bằng ngôn ngữ tự nhiên hoặc giao diện người dùng thuận tiện
      Cách nói “hãy bãi bỏ code” có thể hơi quá, nhưng nhiều người không muốn nghĩ về code, và lẽ ra họ cũng không cần phải làm vậy
  • Có thể nói các lập trình viên đã bỏ mặc những người không lập trình
    Visual Basic đã chết, PHP không framework cũng không có vẻ còn sôi động, và Access về cơ bản cũng đã chết. Những công cụ gần giống cơ sở dữ liệu như Notion hay Airtable thì vẫn còn
    Lập trình viên quá yêu việc viết code, đến mức nhiều người đã rời xa những giải pháp đơn giản cho các vấn đề đơn giản
    Python từng quét qua thế giới người không lập trình vì nó trông đơn giản, và các công cụ như Pandas cũng trông dễ dùng. Điều thú vị là nhiều lập trình viên lại không đánh giá cao Python hay Pandas. Chẳng hạn, nhìn thấy code dùng Pandas để xử lý việc vốn có thể làm dễ dàng bằng thư viện chuẩn thì khá dễ ngán
    Trước đây, người không lập trình cũng tạo trang HTML, thêm màu sắc và hình ảnh. Ngày nay, nếu nhờ lập trình viên làm một website tĩnh, nó sẽ kéo theo mức độ phức tạp vô lý. Một phần là cần thiết, nhưng phần lớn thì hoàn toàn không cần. Nếu đưa cho người không lập trình quy trình mà lập trình viên dùng để tạo một website đơn giản, ngay cả những người 20 năm trước từng thích chỉnh sửa HTML cũng sẽ hét lên rồi bỏ chạy
    Thật mỉa mai sâu sắc và đáng lo khi có những thứ ngày nay lại trở nên khó hơn rất nhiều

    • Nói vậy hoàn toàn vô lý. Ngày nay ai cũng vẫn có thể viết HTML, thậm chí còn dễ hơn trước
      CSS đã mạnh hơn, trình duyệt ít lỗi hơn, và còn có trợ lý lập trình cá nhân để giúp mọi thứ. Python thuần cũng vậy, cứ dùng là được. Lập trình chưa bao giờ dễ như bây giờ
      Sự phức tạp của các stack công nghệ hiện đại thường có lý do, nhưng chỉ nên dùng sau khi lý do đó xuất hiện, và người mới bắt đầu hoàn toàn không cần dùng
      Nếu mọi người không tạo website HTML hay chương trình cơ bản, đó là vì họ không muốn. Ta từng nghĩ trong tương lai ai cũng sẽ biết lập trình cơ bản, nhưng thực tế cho thấy mọi người đơn giản là không muốn. Có thể lập luận rằng ai cũng nên biết bảo dưỡng cơ bản ô tô hay xe đạp, nhưng mọi người từ chối. Điều đó không có nghĩa công việc đó khó hay bất khả thi; nó gần với việc họ không có ý chí làm hơn
      Tôi cho rằng năng lực sử dụng máy tính của công chúng hầu như không tiến bộ, và điều đó không liên quan đến độ phức tạp của lập trình. Trong giáo dục, thậm chí có người nói năng lực sử dụng máy tính có vẻ đang thụt lùi, nhưng khó có thể quy điều đó cho các framework frontend phức tạp
  • Tôi đồng ý với nhiều phần của bài viết. Chẳng hạn, tôi thích lập trình văn chương, nhưng không nghĩ bản thân lập trình là tệ
    Một số kiểu lập trình thì tệ, và lập trình ở các công ty BigTech nhìn chung thường khá tệ. Nhưng viết chương trình cho chính tôi hoặc cho những người tôi yêu quý đến nay vẫn là việc thú vị
    Tôi chưa biết Entangled, nhưng nó có vẻ là một ý tưởng hay, và xử lý vấn đề LSP cùng các công cụ hiện có không nhận biết được — nỗi đau lớn nhất trong lập trình văn chương. Vì vậy đến nay tôi chủ yếu dùng lập trình văn chương cho các ngôn ngữ khai báo như cấu hình NixOS
    Nếu là lập trình văn chương hai chiều, nó có thể khiến cuộc sống dễ chịu hơn khi dùng các ngôn ngữ không khai báo. Tôi định sẽ thử ReTangled

    • Lập trình không tệ. Tôi đồng ý với tác giả đến câu đó, nhưng khi đến đoạn “hãy chấp nhận GUI” thì tôi mất hứng
      GUI dường như chủ yếu tồn tại để khiến các cấp điều hành trở lên tin rằng nhân viên đang làm những việc mà chính họ hiểu và có thể làm
      Tôi từng học một lớp về công cụ ETL kéo-thả trực quan, và chỉ còn lại cảm giác rằng sẽ khó tạo lại một thứ gần giống hệ thống đầu tiên, và cũng khó quản lý phiên bản toàn bộ. Hệ thống thay thế cron kéo-thả trực quan mà công ty tôi dùng vào năm 2010 cũng tương tự
      Với lãnh đạo thì kéo thả dễ, nhưng với người làm thực tế thì tìm lỗi, duy trì phiên bản/bản sao lưu và tái sử dụng trở nên khó hơn
    • Nếu chức năng đó là mục đích chính, tôi khuyên nên dùng Entangled cho đến khi stitching hoạt động trong ReTangled
    • Có một đoạn thật sự vất vả trong quá trình nâng một thứ dùng từng lúc thì vui lên thành thứ mà người dùng có thể yêu thích
      Để biến một nguyên mẫu thú vị thành thứ đủ đưa vào vận hành, cần rất nhiều xử lý lỗi, tuần tự hóa, giải tuần tự hóa, chiếu kiểu, v.v. Một trong những quy tắc của tôi là trải nghiệm người dùng tuyệt vời gần như luôn đi kèm cấu trúc bên trong lộn xộn
      Cá nhân tôi không thích phần lớn những việc đó, và trước đây cũng từng chọn đường tắt hoặc hoàn toàn không làm chúng
  • Khá đồng ý mạnh mẽ. Nhìn vào các trình biên tập WYSIWYG thì chúng không thay thế hoàn toàn phát triển web, nhưng đã thu hẹp đáng kể ngách của những người chỉ muốn có một website cơ bản hoặc bán hàng đơn giản
    Vẫn còn một mảng lớn phần mềm có thể được làm đơn giản hơn bằng giao diện GUI tốt
    Nếu hiện giờ bạn chỉ đang nối ghép mã một cách đơn giản hoặc chạy LLM bừa bãi, thì thực ra lập trình bằng GUI có khi còn tốt hơn. Mã tôi hay dùng cũng thường là máy chủ REST, và không có lý do gì lại không thể tạo ra thứ gì đó cho những việc như vậy

  • Tôi cũng chia sẻ cùng mục tiêu, và đã suy nghĩ nhiều năm về một tech stack có thể cung cấp đúng giải pháp mà tôi muốn dùng
    Tôi đã công bố một dự án tên là Curv, nhưng đó chỉ là một phần nhỏ của một hệ thống đẹp hơn nhiều vẫn chỉ nằm trong đầu tôi
    Hàng nghìn người khác cũng đã bám lấy vấn đề này. Với quy mô của vấn đề, có vẻ cần làm việc theo nhóm, nhưng thực tế đa phần lại là các dự án nhỏ của một người. Những người có tầm nhìn mạnh mẽ nhất thường không muốn thỏa hiệp tầm nhìn của mình vì mục tiêu của nhóm. Tôi không biết nên giải quyết chuyện này thế nào
    Các dự án truyền cảm hứng gồm tầm nhìn Dynabook của Alan Kay, Smalltalk tiếp nối từ đó, dự án sau này của Alan Kay là STEPS Toward the Reinvention of Programming, các công trình của Bret Victor, đặc biệt là thành tựu đáng kinh ngạc của ông, Dynamicland
    Một cộng đồng quan tâm đến chủ đề này là Feeling of Computing, trước đây được gọi là Future of Coding. Nếu bạn có gì muốn bổ sung thêm thì mong được cho biết

  • Ý tưởng “nhập chỉ dẫn như đưa vào prompt LLM để tạo ra một chương trình hoàn chỉnh, nhưng lần nào cũng hoạt động có thể dự đoán được và vững chắc” đặt trên một giả định khổng lồ rằng có thể phân tích được ngữ nghĩa tất định và nhất quán từ ngôn ngữ tự nhiên
    Nhưng ngay từ đầu tôi không nghĩ điều đó là đúng. Gạt sang một bên chuyện chưa từng làm cho nó hoạt động đúng cách, tôi còn nghi ngờ liệu nó có khả thi hay không
    Ngôn ngữ có quá nhiều ngữ cảnh. Dù nói cùng một câu cả chục lần, mỗi lần vẫn có ý nghĩa hơi khác nhau tùy theo ngữ điệu, người nghe, vị trí vật lý, phương tiện phát ngôn và thời điểm trong ngày. Các kỹ thuật xử lý ngôn ngữ tự nhiên truyền thống về cơ bản không xử lý được sự linh hoạt này
    Chính vì vậy mà LLM tồn tại. Thay vì cố đặt ra những quy tắc ngữ cảnh nghiêm ngặt có lẽ không tồn tại, cách làm là huấn luyện một mô hình có thể mã hóa việc nhận biết ngữ cảnh vào các trọng số. Điều này hóa ra lại hiệu quả đáng kinh ngạc
    Đó cũng là lý do mọi người dùng LLM. Vì chúng có thể xét đến ngữ cảnh tốt hơn rất nhiều so với bất kỳ giao diện ngôn ngữ tự nhiên nào từng được tạo ra trước đây và tạo ra phản hồi như mong đợi. Theo góc nhìn đó thì chúng thực sự hoạt động. Xử lý ngôn ngữ tự nhiên ngoài LLM chưa cho thấy mức độ thành công tương tự

  • Nếu bạn quan tâm đến môi trường lập trình trực quan phong phú, Glamorous Toolkit là một ví dụ tốt cho thấy một hướng khả thi https://gtoolkit.com/
    Tôi chưa xem nó là dạng hoàn thiện, nhưng đây là một công cụ đã đẩy xa hơn những gì từng được xây dựng trước đó. Trong thời đại mã do LLM sinh ra, cũng có điều đáng nói về các môi trường dựa trên hình ảnh

    • Tôi đã lướt qua website Glamorous Toolkit nhưng hoàn toàn không nắm được nó là gì. Bạn có thể tóm tắt trong vài câu không?
  • Thứ còn thiếu là những trừu tượng hóa có thể dự đoán được vượt ra ngoài các phần tử nguyên thủy mà lập trình viên hiện nay thường dùng, tức là các dòng mã được tổ chức thành hàm và module
    Đặc biệt khi chuyển các yêu cầu không phải là biến đổi dữ liệu đơn giản mà là mô hình hóa những hệ thống bên ngoài phức tạp chỉ bằng những phần tử đó, ngay cả khi do lập trình viên con người tạo ra thì nó cũng dần trở thành một đống bùn ngày càng phình to. LLM cũng đang bắt chước hình dạng đó