The third golden age of software engineering – thanks to AI, with Grady Booch
Video này, thông qua cuộc trò chuyện với Grady Booch, người tiên phong của kỹ nghệ phần mềm, phản bác lập luận cho rằng sự trỗi dậy của trí tuệ nhân tạo (AI) đồng nghĩa với sự kết thúc của kỹ nghệ phần mềm, và ngược lại lập luận rằng chúng ta đang bước vào “thời kỳ hoàng kim thứ ba”. Nội dung diễn giải lại lịch sử của kỹ nghệ phần mềm như một quá trình nâng cao mức độ trừu tượng hóa, đồng thời so sánh và phân tích các bước ngoặt kỹ thuật trong quá khứ với cuộc cách mạng AI hiện tại. Qua đó, bài viết cho thấy AI không chỉ dừng ở tự động hóa việc viết mã mà còn đang thúc đẩy sự chuyển dịch sang tư duy hệ thống và quản lý độ phức tạp, vốn là bản chất của kỹ nghệ.
1. Mở đầu (Introduction)
Trái với những lo ngại được lặp lại theo chu kỳ về “sự kết thúc của kỹ nghệ phần mềm”, Grady Booch cho rằng thay đổi hiện tại không phải là sự biến mất của ngành mà là một quá trình tiến hóa. Kỹ nghệ phần mềm không đơn thuần là viết mã, mà được định nghĩa là hành động xây dựng lời giải tối ưu bằng cách cân bằng các lực tĩnh và động như quy luật vật lý, tính kinh tế, đạo đức. Bài viết này phân loại và phân tích lịch sử phần mềm từ thập niên 1940 đến nay thành ba “thời kỳ hoàng kim”, đồng thời làm rõ bản chất của sự thay đổi mà AI sẽ mang lại.
2. Sự tiến hóa của kỹ nghệ phần mềm (The Evolution of Software Engineering)
2.1 Thời kỳ hoàng kim thứ nhất: Trừu tượng hóa thuật toán (The First Golden Age)
- Thời kỳ: cuối thập niên 1940 ~ cuối thập niên 1970
- Đặc điểm: Đây là giai đoạn bắt đầu có sự tách biệt giữa phần cứng và phần mềm. Ban đầu, ngôn ngữ máy và phần cứng gắn chặt làm một, nhưng dần dần phần mềm bắt đầu được nhìn nhận là một thực thể có giá trị công nghiệp độc lập.
- Nhiệm vụ chính: Tính toán toán học và tự động hóa quy trình kinh doanh là mục tiêu chủ yếu. Độ phức tạp khi đó đơn giản hơn nhiều so với ngày nay, nhưng việc tối ưu hóa tài nguyên phần cứng hạn chế là thách thức cốt lõi.
- Trừu tượng hóa: “Trừu tượng hóa thuật toán (Algorithmic Abstraction)” giữ vai trò chi phối. Cách nhìn chủ đạo là chia thế giới thành dữ liệu và các quy trình (thủ tục) xử lý dữ liệu đó.
2.2 Thời kỳ hoàng kim thứ hai: Hướng đối tượng và nền tảng (The Second Golden Age)
- Thời kỳ: cuối thập niên 1970 ~ đầu thập niên 2000
- Bối cảnh: Khi nhu cầu phần mềm tăng bùng nổ, “khủng hoảng phần mềm (Software Crisis)” xuất hiện do chất lượng và năng suất không theo kịp.
- Chuyển đổi kỹ thuật: Để quản lý độ phức tạp, mô hình “hướng đối tượng (Object-Oriented)” xuất hiện, gộp dữ liệu và quy trình vào cùng một đơn vị. Điều này cho phép đạt mức trừu tượng hóa cao hơn, trở thành nền tảng cho việc xây dựng các hệ thống quy mô lớn.
- Mở rộng: Sự phổ biến của máy tính cá nhân (PC) và sự xuất hiện của Internet đã mở rộng phần mềm từ phạm vi kinh doanh thành nền tảng của văn minh (interstitial spaces of civilization). Đồng thời, các khái niệm về mã nguồn mở và kinh doanh nền tảng (SaaS, v.v.) cũng bắt đầu được định hình.
2.3 Thời kỳ hoàng kim thứ ba: Hệ thống và AI (The Third Golden Age)
- Thời kỳ: từ thập niên 2000 ~ hiện tại
- Hiện trạng: Chúng ta đã sống trong thời kỳ hoàng kim thứ ba. Đặc trưng của giai đoạn này là các hệ thống khổng lồ vượt ra ngoài đơn vị chương trình riêng lẻ, cùng với các vấn đề về bảo mật, an toàn và đạo đức, đã nổi lên như những bài toán kỹ nghệ cốt lõi.
- Vai trò của AI: Các công cụ AI (LLM, coding agent, v.v.) không thay thế kỹ nghệ, mà hoạt động như công cụ nâng mức độ trừu tượng hóa lên thêm một bậc bằng cách dùng ngôn ngữ tự nhiên như ngôn ngữ lập trình.
3. Tác động của AI đến kỹ nghệ phần mềm (The Impact of AI)
3.1 Tăng tốc tự động hóa và trừu tượng hóa
AI tự động hóa việc sinh mã cho các mẫu lặp đi lặp lại và điển hình. Cũng giống như khi hợp ngữ trước đây được thay thế bởi ngôn ngữ bậc cao, điều này giúp kỹ sư thoát khỏi các chi tiết triển khai ở tầng thấp để tập trung vào việc giải quyết vấn đề ở cấp độ cao hơn.
3.2 Phản biện dự đoán của Dario Amodei
Trước dự đoán của Dario Amodei, CEO của Anthropic, rằng “kỹ nghệ phần mềm sẽ được tự động hóa trong vòng 12 tháng”, Booch bác bỏ mạnh mẽ nhận định này.
- Lý do 1: AI giỏi sao chép các mẫu đã học từ trước, nhưng không giải quyết được “các quyết định thiết kế” và “việc cân bằng nhiều điều kiện ràng buộc khác nhau (chi phí, quy luật vật lý, đạo đức, v.v.)”, vốn là bản chất của kỹ nghệ.
- Lý do 2: AI hiện nay thiên lệch về các mẫu xoay quanh web, và còn thiếu khả năng thiết kế các hệ thống nhúng tương tác với thế giới vật lý hoặc toàn bộ các hệ thống mission-critical phức tạp.
4. Năng lực cốt lõi của kỹ sư tương lai (Future Competencies)
Khi rào cản gia nhập của việc viết mã ngày càng thấp đi, năng lực cốt lõi được yêu cầu ở kỹ sư sẽ dịch chuyển từ “viết mã” sang “tư duy hệ thống (Systems Thinking)”.
- Lý thuyết hệ thống (Systems Theory): Để hiểu và thiết kế các hệ thống phức tạp, việc nắm được các lý thuyết nền tảng như lý thuyết hệ thống phức tạp của Herbert Simon hay Viện Santa Fe, hoặc “Society of Mind” của Marvin Minsky, là điều thiết yếu.
- Tinh thần trách nhiệm và năng lực phán đoán: Khả năng phán đoán của con người trong việc kiểm chứng đầu ra do AI tạo ra, cũng như kiểm soát hệ thống từ góc độ bảo mật và đạo đức, sẽ càng trở nên quan trọng hơn.
5. Kết luận (Conclusion)
Kỹ nghệ phần mềm không hề chết; ngược lại, nó đang bước vào một giai đoạn mở rộng mới, nơi trí tưởng tượng là điều kiện ràng buộc duy nhất. AI vừa thúc đẩy dân chủ hóa sáng tạo khi giúp cả những người không chuyên cũng có thể tạo ra phần mềm, vừa cung cấp cho các kỹ sư chuyên nghiệp những công cụ mạnh mẽ để giải quyết các vấn đề lớn hơn và phức tạp hơn. Trong lịch sử, mỗi khi xảy ra một bước nhảy về trừu tượng hóa kỹ thuật, những người chấp nhận công nghệ mới không bị đào thải mà còn bay cao hơn. Vì vậy, cần đón nhận sự thay đổi hiện tại không phải như một cuộc khủng hoảng, mà như một cơ hội để mở rộng biên giới của kỹ nghệ.
1 bình luận
Mọi thảo luận trước khi có bằng chứng đều là phán đoán vội vàng