8.02.2026

Ai Là Người Tính Cái Móng (concrete foundation)? — AI thật sự đòi hỏi điều gì ở một kỹ sư kết cấu (Structural engineer)

Tác giả: Học Trò và Claude AI.


Một bài viết ngắn, gửi anh em kỹ sư trong ngành EPC cũng kỹ sư điện toán — 2026-08-02

(Chú thích cho bạn đọc ngoài ngành: EPC là chữ tắt của Engineering – Procurement – Construction, tức là loại hãng nhận trọn gói một nhà máy: thiết kế, mua sắm vật tư thiết bị, rồi xây dựng luôn. Bài này viết cho dân làm trong đó, nhưng tôi có cố gắng giải thích các từ chuyên môn ngay tại chỗ, và ở cuối bài còn có hai phụ lục giải thích cặn kẽ hơn nữa, để bạn nào không làm nghề này vẫn đọc được trọn vẹn.)


1. Hai chữ đáng bỏ túi

Dân kỹ sư mình xưa nay có bao giờ làm việc bằng hai bàn tay trắng đâu. Chẳng ai đi phục một ông kỹ sư nhất định phải đo đất bằng sợi dây xích kéo tay, hay nhất định không thèm đụng tới nhu liệu (software) phần tử hữu hạn, vì cho rằng "tính toán thì phải tính cho đàng hoàng, trên giấy, bằng cây bút chì". Cả lịch sử nghề nghiệp của chúng ta là lịch sử của việc chịu nhận máy móc tốt hơn. Cho nên khi nỗi lo về AI bây giờ hiện ra dưới bộ áo "máy nó tới lấy nghề của mình rồi hả?", tôi thấy nó lệch lệch làm sao. Máy nó tới lấy việc của mình từ mấy chục năm trước rồi, và chính mình là người rước nó vô.

Nói vậy chứ nỗi lo đó có thật, và nó không hề ngu. Nó chỉ nhắm sai chỗ thôi. Cái làm anh em khó chịu trong một hãng EPC hiện giờ không phải là khả năng của món đồ nghề. Mà là cái thế mà món đồ nghề đó được đặt vào. Có hai cái thế khác nhau một trời một vực, mà chúng nó có thể xài đúng y một nhu liệu như nhau; và chừng nào bạn chưa có hai chữ riêng để gọi tên hai cái thế đó, thì bạn còn cãi nhau về cái nhu liệu, cãi hoài mà không đi tới đâu hết.

Hai chữ đó đây.

Nhân mã (centaur) là một người có máy phụ giúp, và chính người đó quyết định xài ở đâu, xài lúc nào, xài cách nào, và có xài hay không. Hình ảnh này lấy từ thần thoại Hy Lạp: con nhân mã có nửa trên là người, nửa dưới là ngựa — cái đầu người và óc phán đoán của người nằm ở trên, sức mạnh và tốc độ của con ngựa nằm ở dưới. Con ngựa không phải là đứa quyết định đi về hướng nào. Chiếc xe đạp làm bạn nhanh gấp ba lần đi bộ, mà bạn vẫn là người chọn đường. Cái máy trợ thính là một bộ xử lý tín hiệu thời gian thực tinh vi hết sức, mà bạn vẫn là người quyết định có đeo nó vô hay không. Cái máy tính bỏ túi cộng trừ nhân chia giỏi hơn bạn xa lắc, vậy mà nó cứ nằm im thin thít đó cho tới khi bạn cầm nó lên. Tinh vi hay không, không phải là chuyện chính. Được chọn hay không, mới là chuyện chính.

Nhân mã lộn ngược (reverse centaur) là cũng bức hình đó, nhưng lộn đầu xuống đất: một người bị bắt đi phụ việc cho máy, chạy theo cái nhịp do máy đặt ra, dưới một chế độ theo dõi giám sát do chủ của cái máy đặt ra, và không có đường nào thoát ra cho thực tế. Bây giờ chính cái đầu người mới là phần bị đóng yên cương. Bức biếm họa xưa nhất về chuyện này đã sáu chục tuổi rồi: cảnh Lucy và Ethel trong xưởng kẹo sô-cô-la. (Đây là một màn trong "I Love Lucy", chương trình hài trên truyền hình Mỹ thập niên 1950, mà người Mỹ nào cũng biết — kiểu như bên mình ai cũng biết mấy vở kịch của Thanh Việt, Túy Phượng vậy.) Hai bà được giao đứng bên băng chuyền để gói kẹo. Băng chuyền chạy mỗi lúc một nhanh. Gói không kịp, hai bà bèn nhét kẹo vô miệng, nhét vô túi áo, nhét luôn vô trong áo — bởi vì cái băng chuyền nó đâu có cần biết là hai bà đang chết chìm. Ta cười, vì cảnh đó tức cười thật. Mà nó tức cười được là vì cái băng chuyền nắm hết quyền hành mà không lãnh một chút trách nhiệm nào; và ai từng đi làm theo cái đồng hồ của người khác thì nhìn phát là nhận ra liền.

(Xin ghi ơn cho phải phép: cặp chữ nhân mã / nhân mã lộn ngược này tôi lấy từ quyển The Reverse Centaur's Guide to Life After AI của ông Cory Doctorow — đó là chỗ đầu tiên tôi thấy có người vạch ra sự phân biệt này gọn gàng tới vậy. Từ câu này trở xuống là phần tôi tự dịch nó qua thế giới của anh em mình.)

Để ý coi cái gì không phải là chỗ phân biệt giữa hai thứ. Không phải là độ tinh vi của cái máy — cái băng chuyền là một món đồ đơn giản hết sức, mà cái thế nó tạo ra vẫn hạ nhục người ta như thường. Cũng không phải là chuyện tự động hóa nói chung: khối công việc tự động hóa tới tận răng mà con người vẫn nắm quyền, và khối công việc gần như chẳng tự động gì hết mà con người thì không nắm gì cả. Cái phân biệt hai thứ đó chỉ có đúng một câu hỏi:

Bạn có quyền nói "không" với món này — trên chính hồ sơ này, ngay hôm nay — mà không lãnh hậu quả gì hay không?

Không phải "về nguyên tắc thì được". Không phải "trong nội quy có ghi là tùy ý". Mà là hôm nay, trên tập hồ sơ có tên bạn ký ở dưới: bạn có thể từ chối không xài nó, và không có chuyện gì xảy ra cho bạn hết, được hay không? Nếu được, bạn là nhân mã, và cái nhu liệu kia là một món đồ nghề. Nếu không được, thì bạn đang bị người ta cưỡi, và cái món đồ nghề đó khôn ngoan cỡ nào cũng không thay đổi được điều đó.


2. Một cái móng, hai ngày thứ Sáu

Nói cho cụ thể, và nói trên đúng một món việc: cái móng. Giả sử là móng cho một cái máy nén khí (compressor) trong một dự án mở rộng nhà máy — có tải trọng của máy, có báo cáo khảo sát địa chất, có sức chịu tải cho phép của nền đất, có mặt cắt địa tầng kèm vài ghi chú, có danh sách tải trọng từ bên cơ khí gởi qua, và có một cái móng phải được tính kích thước, kiểm tra, rồi vẽ chi tiết ra.

(Nếu bạn không làm nghề này: cái móng là khối bê tông chôn dưới đất, nằm dưới cây cột hay dưới cỗ máy, có nhiệm vụ duy nhất là dàn cái sức nặng đó ra trên một diện tích đất đủ rộng để đất khỏi lún, khỏi nghiêng, khỏi xê dịch. Phụ lục 1 ở cuối bài giải thích kỹ hơn.)

Bạn có trong tay một nhu liệu thiết kế móng có gắn AI. Bạn đưa vô các trường hợp tải trọng và các thông số của đất; nó đề nghị kích thước mặt bằng và bề dày, nó phân bố ứng suất dưới đáy móng, nó chạy hết các bài kiểm tra — lật, trượt, cắt một chiều và cắt hai chiều, lún, và cả phản ứng động do máy chạy rung — rồi nó trả lại cho bạn một cái móng đã có kích thước, có bố trí cốt thép, kèm một bản báo cáo. Món này hay thật, nhanh hơn bạn thật, và tới cái móng thứ bốn chục nó vẫn không biết mệt.

Ngày thứ Sáu thứ nhất. Bạn tự đi kiếm cái nhu liệu này về xài, vì cái kiểu sai mà bạn thật sự sợ trên một hồ sơ bốn chục cái móng không phải là kiểu sai cao siêu, mà là kiểu sai lãng nhách: sót một trường hợp tải, lấy nhầm trị số sức chịu tải ở một độ sâu khác, vẽ chi tiết cái móng theo cái bệ máy của bản sửa đổi kỳ trước. Bạn tính nhẩm cái móng máy nén bằng tay trước cho ra một con số áng chừng, bởi bạn muốn có sẵn một con số trong đầu trước khi cái máy đưa con số của nó cho bạn. Rồi bạn mới chạy nhu liệu. Nó ra hơi lớn hơn của bạn một chút, bạn bèn đi tìm coi tại sao — hóa ra nó bị khống chế bởi điều kiện lật, dưới một tổ hợp tải mà bạn đã gạt đi. Bạn ngó lại cái tổ hợp đó, thấy nhu liệu nói đúng, và bạn chỉnh lại. Qua cái móng kế tiếp, một cái đế đơn giản đỡ giàn ống, bạn không thèm chạy nhu liệu luôn, vì bạn nhìn là thấy đáp số rồi. Chẳng ai để ý hết, bởi vì chẳng có ai đang ngồi ghi sổ coi bạn cho những cái móng nào chạy qua cái nhu liệu đó.

Ngày thứ Sáu thứ nhì. Cũng cái nhu liệu đó. Cũng phiên bản đó. Có điều bây giờ nó chạy ra nguyên bộ bốn chục cái móng trong một đêm; cái lịch trình dự án đã được vẽ lại sau khi hãng mua cái nhu liệu này, vẽ lại dựa trên lời hứa hẹn về những gì nó làm được; và việc của bạn ngày thứ Hai là coi lại rồi đóng dấu. Có một cái bảng theo dõi (dashboard) treo trên màn hình. Nó hiện con số số móng trên mỗi kỹ sư mỗi tuần, và tỉ lệ đóng ý kiến trên các điểm mà chính cái nhu liệu đó gắn cờ báo; và hai con số đó ông xếp trực tiếp của bạn ngồi đâu cũng thấy. Trên giấy tờ thì bạn vẫn là kỹ sư chịu trách nhiệm. Trên thực tế thì bạn là bốn chục con dấu năng suất, gói trong một cửa sổ năm ngày, và không có một dòng ngân sách nào cho hai ngày mà bạn cần để thật sự kiểm lại hai cái móng đang làm bạn thấy không yên bụng.

Cùng một món đồ nghề. Hai công việc khác nhau hoàn toàn. Ngày thứ Sáu thứ nhất, bạn có trong tay một dụng cụ rất tốt. Ngày thứ Sáu thứ nhì, bạn đã bị xếp lại thành một hạng khác: phần thiết kế đã dời qua cho cái máy, còn cái được thu hoạch từ bạn là con dấu — đúng cái phần duy nhất trong cả trình tự có sức nặng pháp lý và không tự động hóa được, mà nó không tự động hóa được chính bởi vì nó là cái phần mang nghĩa đã có một con người coi qua cái này rồi.

Toàn bộ sự phân biệt nằm ở đó, và không có một mảy may nào của nó là thuộc tính của cái nhu liệu hết.


3. Làm thì làm ra sao

Đây mới là phần quan trọng hơn phần chẩn bệnh, bởi vì đây là phần bạn nắm được trong tay vào một ngày thứ Ba bình thường. Nước cờ nhân mã không phải là từ chối món đồ nghề — mà là giữ lại phần kiểm chứng cho riêng mình. Trên cái móng máy nén kia, điều đó có nghĩa là một danh sách ngắn những việc bạn không giao cho ai:

Bạn kiểm cái con số đó ở đâu ra, chứ không phải chỉ kiểm con số. Cái nhu liệu nuốt vô đúng một trị số sức chịu tải cho phép. Còn bản báo cáo địa chất thì dày ba chục trang, và nằm đâu đó trong đó là một câu về một lớp đất yếu ở độ sâu ba thước, một ghi chú về mực nước ngầm mùa mưa, và một lời khuyến cáo có kèm điều kiện — mà mấy cái điều kiện đó thì một con số trơ trọi không cách nào chở nổi. Cái nhu liệu có con số. Bạn thì đã đọc bản báo cáo. Cái chênh lệch đó không phải là khuyết điểm của nhu liệu — nó chính là cái lý do cụ thể vì sao bạn còn đứng trong vòng, và nó đáng được nói lớn tiếng ra khi có người hỏi tại sao coi lại mà lâu vậy.

Bạn kiểm đường truyền lực và các tổ hợp tải, bởi đó là một quyết định về cách mô hình hóa, chứ không phải là chuyện cộng trừ. Những trường hợp tải nào đã được đưa vô; tải trọng động của cỗ máy đã được xử theo đúng ý mà tờ dữ liệu (data sheet) của nhà chế tạo muốn nói hay chưa; độ lệch tâm rơi vô chỗ mà giả thiết phân bố ứng suất của nhu liệu còn đúng hay không; có ai xét tới lực đẩy nổi khi mực nước ngầm dâng cao hay là chưa xét gì hết. Mỗi một câu trong đó là một phán đoán về việc kết cấu này thật ra là cái gì, phán đoán trước khi bất cứ phép tính nào bắt đầu; và làm sai chỗ đó thì cái bạn nhận được là một đáp số được kiểm tra hoàn hảo — cho một câu hỏi sai.

Bạn giữ sẵn một con số trong đầu trước đã. Một cái tính tay thô sơ trước khi chạy nhu liệu tốn của bạn mười phút, mà nó biến kết quả xuất ra từ chỗ là một mệnh lệnh thành chỗ là một bằng chứng. Chênh nhau trong vòng hai chục phần trăm thì hai bên xác nhận lẫn nhau; chênh nhau tới một nửa thì một trong hai đứa sai bét, và ngay lúc đó bạn biết là mình phải đi tìm coi đứa nào sai — mà đó đúng là cái trạng thái tinh thần bị cái lịch "bốn chục cái móng trước thứ Sáu" giết chết.

Bạn rút riêng ra mấy cái mà bạn không tin. Rút êm, khỏi diễn văn: cái này tôi làm tay, vì mặt cắt địa tầng chỗ đó kỳ kỳ và tôi không tin một trị số sức chịu tải mà bao trùm nổi cả cái diện tích này. Hai trên bốn chục thì không phải là chống đối. Đó là cái bằng hành nghề nó đang làm đúng công việc mà nó sinh ra để làm.

Và tới lúc phải nói thì bạn đi nói, nói lớn, nói bằng lời lẽ trơn tru dễ hiểu. Không cần công văn. Không cần bản kiến nghị. Bạn đi thẳng vô phòng ông kỹ sư trưởng và bạn nói: Tôi không đóng dấu bốn chục cái móng này trước thứ Sáu đâu. Với thời gian được cho, tôi kiểm không xuể, cho nên tôi không ký. Cho tôi thêm một tuần, hoặc cho tôi thêm một người kiểm thứ hai, hoặc rút phần móng ra khỏi hồ sơ đợt này — chớ tôi không đóng con dấu của tôi lên những tính toán mà tôi chưa kiểm.

Nguyên cuộc nói chuyện chỉ có bấy nhiêu, và nói ra thì nó đỡ ghê gớm hơn là ngồi tưởng tượng ra nó nhiều lắm. Bạn không hề từ chối cái nhu liệu; từ đầu tới cuối bạn không hề nhắc tới cái nhu liệu. Bạn chỉ đang phát biểu đúng một sự thật mà không ai ở ngoài ngành có thể tự nhìn ra được: món đồ nghề chạy nhanh lên, còn việc kiểm thì không nhanh lên. Tốc độ sản xuấttốc độ kiểm chứng là hai đại lượng khác nhau, mà cái lịch trình kia thì được dựng lên trên cái giả thiết ngấm ngầm rằng hai cái đó là một. Bốn chục cái móng đẻ ra trong một đêm không phải là bốn chục cái móng đã được kiểm, và cái khác nhau giữa hai thứ đó chính xác là cái mà con dấu của bạn chứng nhận.

Nói nó ra y như cách bạn báo rằng một áp suất thiết kế đã bị vượt — nói phẳng, không mắc cỡ, không có một câu xin lỗi nào trong đó. Trong một dự án, có những ràng buộc thuộc loại lịch trình và đẩy được; có những ràng buộc thuộc loại vật lý và không đẩy được; con dấu thì thuộc loại thứ hai, và bạn là người duy nhất trong tòa nhà này có giấy phép để phán cái nào là cái nào.

Nói mấy điều đó ra thì cái thế "thứ Sáu thứ nhì" thường là được thương lượng lại, bởi vì ngay từ đầu nó có bao giờ là một quyết định được cân nhắc đâu. Nó chỉ là một ông nào đó ngồi vẽ lịch trình dựa trên một buổi trình diễn hàng của nhà bán nhu liệu.


4. Cái sườn mà tôi khỏi phải gõ

Thêm một trường hợp nữa, lần này là chuyện của chính tôi, bởi vì nó cho thấy nửa còn lại của cái thế nhân mã — không phải là chuyện đi kiểm cái mà món đồ nghề đẻ ra, mà là chuyện xài nó để đi tới một chỗ mà mình vốn không đủ sức bỏ tiền ra để khởi sự.

Tôi muốn có một câu lệnh (command) trong SmartPlant 3D, để đặt nguyên một cái "mặt bàn" bằng thép vô một mô hình nhà máy đang chạy: bốn cây cột, bốn cây dầm chạy quanh chu vi, cộng với toàn bộ hạ tầng lưới trục mà mấy cấu kiện đó móc vô — hệ tọa độ, các trục, các mặt phẳng cao độ, các mặt phẳng lưới thẳng đứng, và tám đường lưới thật sự ghim từng đầu cấu kiện vô đúng chỗ của nó trong không gian.

(Nói cho bạn đọc ngoài ngành: SmartPlant 3D là nhu liệu dựng mô hình ba chiều mà các hãng EPC dùng để "xây" nguyên nhà máy trong máy tính trước khi xây ngoài đời. Bình thường nó không biết cách dựng riêng một khung thép của riêng một nhà máy nào bằng một cái bấm chuột — muốn vậy thì phải có người viết thêm một mẩu nhu liệu nhỏ dạy nó. Đó là việc tôi làm ở sở. Phụ lục 2 ở cuối bài kể chuyện này chi li hơn.)

AI viết bản đầu tiên. Không phải một bản phác thảo — mà là một bộ khung chạy được, với mấy phần lặp đi lặp lại đã được gõ ra sẵn: tám cái đối tượng đường lưới gần như giống hệt nhau, mấy chỗ chốt sổ giao dịch (transaction commit) với mô hình, và phần kiểm tra dữ liệu trên bốn ô nhập liệu của cái hộp thoại.

Bản đầu tiên đó không đúng. Nó gần đúng, mà gần đúng lại là một chuyện khác hẳn và đáng giá hơn nhiều. Đi từ gần đúng tới đúng là phần của tôi: mấy cái điểm gốc quy chiếu (cardinal point — với cây cột thì lấy trọng tâm, với cây dầm thì lấy mặt trên của thép, bởi vì bên vẽ chi tiết ở khâu sau người ta đọc như vậy); chuyện góc xoay phải gắn vô hệ tọa độ của lưới trục, để mọi thứ ràng buộc vô đó cùng xoay theo, thay vì chỉ ngó có vẻ đúng ở góc không độ; thứ tự chốt sổ phải khớp với cái cách mà bộ API đó thật sự hành xử; và chỗ tra cứu ca-ta-lô khi thất bại thì phải báo lỗi bằng một câu có nêu tên tiêu chuẩn và tên tiết diện, chớ không phải quăng ra một cái lỗi "null reference" trơ trọi. Đó là gỡ rối (debugging), và cái phần kỹ thuật thật sự nằm ở chỗ gỡ rối đó.

Cái mà tôi thật sự mua được là cái sườn — tức là mấy ngày mà lẽ ra tôi phải bỏ ra để dựng giàn giáo, trước khi mon men tới được bất cứ quyết định thú vị nào. Và bởi vì cái sườn đó có sẵn, mà tôi lại hiểu từng dòng trong đó, nên tôi cứ thêm vô hoài được: thêm hệ giằng, thêm bản đế chân cột, thêm một nhịp thứ hai, thêm cái gì tôi cần kỳ tới cũng được. Đó là cái khác nhau giữa một món đồ nghề làm giùm việc của bạnmột món đồ nghề nâng cái nền mà bạn đứng lên để làm việc.

Một chương trình viết giỏi có thể vẽ cái cầu thang này trong vòng vài phút!

Và không có ai ngồi ghi sổ hết — nghe thì nhỏ nhặt, mà thật ra đó là phân nửa cái lý do khiến nó là một cái thế tốt. Đó là việc làm ngày thứ Bảy trong cái ga-ra. Không ai giao, không ai định kỳ hạn, và làm xong rồi cũng không có ai đứng ở cửa hỏi coi mấy cái máy khoan máy cưa nó làm giùm bao nhiêu phần trăm. Câu hỏi duy nhất mà thiên hạ sẽ hỏi về cái kệ đó là nó có chịu nổi sức nặng hay không. Bây giờ bạn thử hình dung cũng cái kệ đó, mà đóng trong một xưởng nơi ông quản đốc ghi sổ coi cái máy khoan chạy được bao nhiêu phút, rồi mỗi tuần báo cáo con số đó lên trên. Cũng cái máy khoan đó, cũng cái kệ đó, cũng con người đó — mà là hai buổi chiều khác nhau hoàn toàn, bởi vì một bên là công trình của bạn, còn bên kia là một chỉ tiêu năng suất mà người ta đang đo bạn.


5. Cái con dấu, nó có ra để làm gì

Cũng nên nhớ lại rằng cái nghề của mình đã đánh trận này một lần rồi, và đã thắng, từ hồi chưa ai trong chúng ta ra đời.

Ông Frederick Taylor với thuyết quản trị theo lối khoa học (scientific management) đặt ra mục tiêu là dời cái phán đoán đi chỗ khác: nghiên cứu một công việc, rút cái hiểu biết ra khỏi cái đầu của người đang làm nó, mã hóa nó thành một thủ tục kèm một cái nhịp, rồi mướn một người rẻ tiền hơn vô thi hành. Người thợ không cần biết tại sao cái xẻng phải bự cỡ đó. Ban quản trị biết là đủ. Người thợ chỉ cần theo kịp. Mọi cái thế nhân mã lộn ngược đều là cái thuyết đó, mặc bộ đồ nghề mới hơn, và cái món bị moi ra bỏ đi bao giờ cũng là quyền tự quyết của người đang cầm đồ nghề.

Con dấu PE là một món đồ chống-Taylor. (Ở Mỹ, PE — Professional Engineer — là kỹ sư có bằng hành nghề do một hội đồng của tiểu bang cấp, sau khi thi cử và sau nhiều năm làm việc dưới sự giám sát của một PE khác; gần giống chứng chỉ hành nghề bên nhà, nhưng sức nặng pháp lý và cá nhân thì nặng hơn nhiều.) Con dấu đó không phải là một biện pháp tăng năng suất; nó là điều ngược lại — nó là việc cố ý nhét một con người có tên có tuổi, đang cầm một cái bằng có thể bị tước, vô giữa một trình tự mà nếu không có người đó thì chạy nhanh hơn. Điều lệ nghề nghiệp nói thẳng cái phần mà người ta hay nói nhỏ: anh không được đóng dấu lên công việc mà anh chưa kiểm, và không một chủ đầu tư hay chủ hãng nào được quyền ép anh đóng dấu lên cái mà anh tin là không an toàn. Kiểm tra tính toán, thư hỏi đáp kỹ thuật (RFI), kiểm tra thiết kế độc lập (IDC), mấy đợt duyệt 30/60/90 phần trăm, HAZOP, thủ tục quản lý thay đổi — tất cả đều ăn vô lịch trình, tất cả đều phải đấu tranh mới có, đấu với những người chỉ muốn bản vẽ ra khỏi cửa cho lẹ, và tất cả đều ghi lại cùng một điều đã tìm ra được: phán đoán của con người và trách nhiệm của con người, nén tới một mức nào đó thì không nén thêm được nữa.

Cho nên cái mối nguy đáng gọi tên là một mối nguy hẹp thôi. Nó không phải là chuyện AI tính cái móng — một món đồ tính được cái móng thì nó là một cây xẻng nhanh hơn, mà xẻng nhanh hơn thì xưa giờ mình vẫn nhận. Mối nguy là ở chỗ tốc độ xuất hàng của nó lặng lẽ trở thành cái thước đo cho tốc độ của lớp kiểm tra; và khi chuyện đó xảy ra thì không có gì lên tiếng báo hết. Kho từ vựng vẫn còn nguyên vẹn: vẫn còn "kiểm", vẫn còn "ý kiến", vẫn còn "tỉ lệ đóng ý kiến", vẫn còn "đóng dấu". Chỉ có cái mà mấy chữ đó đo là đã đổi. Một ý kiến được đóng lại mà không được hiểu thì đóng nhanh hơn một ý kiến được đóng cho đàng hoàng.


6. Đôi lời kết

Cái trục đáng kể là quyền được chọn, chớ không phải là khả năng của máy. Hai người kỹ sư cầm y hệt một nhu liệu như nhau lại đang ở trong hai hoàn cảnh khác nhau hoàn toàn, tùy theo đúng một câu hỏi — và đó là câu hỏi về quyền hành, chớ không phải về kỹ thuật: ai là người quyết chuyện này, và cái quyết định đó có gỡ ra được không?

Nghĩa là cách đối phó có ích không phải là cách phòng thủ. Gần như chẳng bao giờ có ai đem cái thế nhân mã tới trao tận tay bạn đâu — bạn phải tự dựng nó lên, dựng từng mảnh một, bằng chính cái quyền tự quyết mà bạn đang có sẵn trong tay. Hãy xài AI cho tới bến trên những phần việc mà bạn kiểm chứng được, và trên những cái giàn giáo mà nếu không có nó thì bạn chẳng bao giờ vượt qua nổi. Hãy giữ sẵn một con số tính tay trong đầu trước khi ngó tới kết quả của máy. Hãy đọc bản báo cáo địa chất, dù cái nhu liệu chỉ đòi có một dòng trong đó. Và khi cái lịch trình mặc nhiên coi rằng kiểm tra là chuyện miễn phí, hãy nói ra câu đó: tôi kiểm không xuể trong thời gian được cho, nên tôi không đóng dấu.

Làm được vậy thì bạn sẽ không có cái cảm giác bị AI xài. Bạn sẽ thấy về nó cái cảm giác mà bạn vẫn có với một bộ nhu liệu phân tích tốt: nó giỏi, thỉnh thoảng nó sai theo mấy kiểu mà bạn biết cách bắt — và nó hoàn toàn là của bạn, muốn chĩa đi đâu thì chĩa.

Rốt cuộc, phép thử vẫn là phép thử ở phần đầu bài. Hãy để ý coi món đồ nghề đó làm chuyện đó lên ai, và làm chuyện đó cho ai. Một người kỹ sư kết cấu đang ngồi tính cái móng thì phải trả lời được liền, và câu trả lời phải là làm cho tôi. Nếu không phải vậy, thì cái đó không phải lỗi của cái máy. Cái đó là một cách sắp đặt — mà cách sắp đặt thì do người ta bày ra, nghĩa là cãi lại được, và đôi khi dẹp đi dựng lại cái khác cũng được luôn.


Phụ lục 1: Cái móng, tập tính toán, và con dấu — thật ra là những thứ gì

Bài ở trên mặc nhiên cho rằng bạn đã biết cái móng là gì, "chạy số" là làm những gì, và tại sao cái con dấu lại ghê gớm tới vậy. Nếu bạn không làm trong ngành xây dựng thì mấy cái đó chẳng có gì là hiển nhiên hết, cho nên đây là phần giải thích bằng lời lẽ thường ngày — khỏi cần biết chút kỹ thuật nào cũng đọc được.

"Đo đất bằng dây xích" và "nhu liệu phần tử hữu hạn" nghĩa là gì. Bài mở đầu bằng câu nói chẳng ai đi phục ông kỹ sư nhất định phải làm hai chuyện này theo lối cũ — mở ra chỗ này cũng đáng, vì nó gói nguyên cái lý luận mở đầu của bài vô trong một hình ảnh. Đo đất bằng dây xích là nghề đo đạc thuở xưa: hồi chưa có GPS và chưa có máy đo bằng tia laser, người đi đo phải kéo căng một sợi dây xích kim loại (đúng nghĩa là một sợi xích, sau này là thước thép, có chiều dài chuẩn cố định) trên mặt đất, đo từng khoen từng khoen rồi cộng lại. Đo vậy vẫn chính xác, nhưng một toán mấy người làm nguyên một ngày mới xong cái mà bây giờ một cái máy GPS hay máy laser làm trong một tiếng, lại còn ít chỗ sai hơn. Nhu liệu phần tử hữu hạn là món tương đương thời nay cho phần tính toán kết cấu: thay vì một công thức đơn giản coi nguyên cây dầm hay tấm sàn như một hình dạng lý tưởng duy nhất (lối tính tay cổ điển, làm bằng cây thước tính rồi sau này bằng máy tính bỏ túi), cái nhu liệu băm nhỏ kết cấu ra thành hàng ngàn mẩu nhỏ nối với nhau ("phần tử hữu hạn"), viết ra phương trình vật lý cho chuyện từng mẩu nhỏ đẩy và kéo mấy mẩu bên cạnh nó ra sao, rồi giải nguyên cái hệ phương trình khổng lồ đó cùng một lượt — chuyện mà không một người nào giải nổi bằng tay trong suốt một đời làm việc, mà lại tóm được những rắc rối có thật ngoài đời (hình dạng méo mó, vật liệu chỗ này khác chỗ kia, tải trọng đặt kiểu kỳ cục) mà công thức tay giản lược buộc phải bỏ qua. Cả hai trường hợp, lối cũ không hề "thật" hơn hay "lương thiện" hơn — nó chỉ là món đồ tốt nhất có được vào thời đó; và khi đã có món tốt hơn mà còn nhất định không xài, thì đó không phải là nghiêm cẩn, mà chỉ là chậm.

Cái móng là gì. Cái móng là khối bê tông chôn dưới một cây cột, một bức tường, hay một cỗ máy nặng, mà nhiệm vụ duy nhất của nó là dàn cái sức nặng đó ra trên một diện tích đất đủ rộng, để nền đất khỏi lún, khỏi nghiêng, khỏi trôi. Bạn hình dung cái khác nhau giữa mang đôi giày ống đứng trên tuyết và mang đôi giày bơi trên tuyết (snowshoe — cái vỉ rộng bè bè cột dưới chân để đi trên tuyết). Sức nặng của bạn có đổi đâu; cái đổi là diện tích mà nó được dàn ra, và đó là cái khác nhau giữa lún tới đầu gối và đi phăng phăng trên mặt. Cái móng là đôi giày tuyết của tòa nhà. Tải càng nặng, hoặc đất càng mềm, thì móng càng phải bự — và đó là phần lớn ý nghĩa của việc "tính kích thước" cái móng.

"Tập tính toán" là gì. Nói chuyện thường ngày thì "tính toán" nghĩa là làm một phép toán. Trong dự án, "tập tính toán" (calculation package) là một tập tài liệu có thật — thường dày mấy chục trang — trình bày nguyên cái chuỗi lý luận đứng sau một mẩu thiết kế: tải trọng là bao nhiêu, ở đâu ra, đã chạy những bài kiểm tra nào, kết quả ra sao, và rốt cuộc người kỹ sư chốt lại kích thước và cốt thép là bao nhiêu. Nó ít giống một bài toán, mà giống một bản phúc trình thí nghiệm hơn: đáp số thì quan trọng thật, nhưng cái tập tài liệu đó tồn tại là để một người khác đi lại được từng bước đã dẫn tới đáp số, và bắt được cái sai trước khi bê tông đổ xuống.

Mấy con số ở đâu ra. Hai nguồn dữ liệu, từ hai chỗ khác nhau. Tải trọng — cỗ máy nặng bao nhiêu, lúc chạy nó đẩy và rung mạnh cỡ nào, gió hay động đất có thể quật vô nó với lực bao nhiêu — thì từ nhà chế tạo thiết bị và từ tiêu chuẩn thiết kế mà ra. Dữ liệu về đất thì từ báo cáo khảo sát địa chất: người ta khoan những lỗ khoan xuống đúng miếng đất đó tại đúng công trường đó, đem mẫu về phòng thí nghiệm thử, rồi một kỹ sư địa kỹ thuật viết ra thành một bộ khuyến cáo (đất chỗ này gánh nổi bao nhiêu áp lực cho an toàn, mực nước ngầm nằm sâu bao nhiêu, dưới mấy thước có lớp đất yếu nào không). Tập tính toán cái móng gộp cả hai nguồn đó lại.

Mấy bài kiểm tra thật ra đang hỏi cái gì. Vài câu hỏi rất mộc mạc, được chạy dưới dạng những bài kiểm tra chính thức có tên nghe dữ dằn hơn cái ý bên trong:

  • Ứng suất dưới đáy móng (bearing pressure) — tải đã được dàn ra đủ rộng để đất bên dưới không bị ép nát hay phá hoại hay chưa? (Đúng cái câu hỏi đôi giày tuyết.)
  • Lật (overturning) — một lực đẩy ngang (gió, động đất, cái rung của cỗ máy đang chạy) có thể lật cái móng nhào không, y như cái bàn nặng đầu trên bị xô một bên?
  • Trượt (sliding) — cũng lực đẩy ngang đó, có thể đẩy cái móng lết ngang trên nền đất không, y như cuốn sách trượt trên mặt bàn khi bạn đẩy mạnh mà không có gì chặn mép?
  • Cắt / chọc thủng (shear) — tải có thể đâm xuyên thẳng qua khối bê tông ở ngay chỗ chân cột không, y như cái đục lỗ xuyên qua xấp giấy, thay vì lan tỏa dịu dàng ra như nó phải làm?
  • Lún (settlement) — cái móng có từ từ lún xuống trong nhiều tháng nhiều năm khi đất bị nén dưới sức nặng thường trực không, dù ngày đầu nó chẳng hư hại gì?

Qua được hết mấy bài này, còn dư biên an toàn, thì mới gọi là "cái móng đã được tính xong". Kết quả xuất ra còn có phần cốt thép — mấy cây sắt chôn trong bê tông, được chọn cỡ và khoảng cách để gánh lực kéo, là cái mà bê tông trơn thì yếu xìu.

"Kiểm tập tính toán" nghĩa là gì. Trước khi một tập tính toán đi đâu đó, thường phải có một kỹ sư thứ hai — không phải người viết ra nó — ngồi coi lại: tự mình dựng lại các tải trọng một cách độc lập, xét lại mấy giả thiết coi có hợp lý không, đối chiếu các con số trong tập tính toán với bản vẽ coi có khớp không. Việc này có khi gọi là kiểm tra tính toán (calc check) hay kiểm tra thiết kế độc lập (IDC). Nó tồn tại vì đúng cái lý do mà người phi công phụ phải kiểm chéo lại người phi công chính trước khi cất cánh: một mình thì không ai làm hoàn hảo được, và cái giá của một lỗi lọt sổ ở đây là một tòa nhà hay một cái bệ máy hư ngoài đời thật, chứ không phải hư trên giấy.

Cái con dấu, thật ra nó là gì. Ở phần lớn các nước, chỉ có kỹ sư có bằng hành nghề (Professional Engineer, gọi tắt PE, hay tên tương đương ở địa phương — cái bằng đó do một hội đồng của chính quyền cấp, sau khi thi cử và sau nhiều năm làm việc dưới sự giám sát) mới được luật cho phép đóng con dấu của mình — một cái dấu nổi hay dấu in chính thức, có tên và số bằng hành nghề của người đó — lên một tập tính toán hay một bản vẽ sẽ được đem đi xây. Con dấu đó không phải là cái lô-gô của hãng, và cũng không phải là thủ tục cho có. Đóng nó lên một tờ giấy là chính cá nhân người kỹ sư đó, có tên có tuổi, đang tuyên bố — theo một cách có hiệu lực pháp lý: chính tôi đã coi lại cái này, tôi tin nó an toàn, và tôi đem cái bằng hành nghề của tôi ra đặt cược cho điều đó. Nếu sau này cái móng hư, mà tập tính toán hóa ra sai hoặc chưa hề được kiểm, thì cái bị đem ra là cái bằng của người đó — tức là cái quyền hợp pháp của họ được đi làm kỹ sư nói chung — chớ không phải chỉ là danh tiếng của cái hãng. Nó gần với chữ ký của ông bác sĩ trên toa thuốc hơn là gần với cái mộc cao su đóng lên tờ đơn: nó có nghĩa là có một con người chịu trách nhiệm đã ngó vô cái này và đứng ra bảo đảm.

Đó là nguyên cái chuỗi mà bài viết ở trên nói tới: một tải trọng, một bản báo cáo địa chất, một bộ các bài kiểm tra, một tập tài liệu trình bày lý luận, một kỹ sư thứ hai kiểm lại, và một người có tên tuổi có bằng hành nghề ký chính chữ ký của mình lên kết quả. Nhu liệu AI bây giờ làm được rất nhiều khúc giữa của cái chuỗi đó — phần cộng trừ, phần kiểm tra, thậm chí cả bản nháp đầu tiên của phần lý luận. Nó không làm được bước cuối, bởi vì bước cuối căn bản không phải là một phép tính. Nó là một con người nhận lãnh trách nhiệm cá nhân và trách nhiệm pháp lý cho một vật thể có thật, sẽ phải gánh sức nặng suốt năm chục năm tới.


Phụ lục 2: "AI viết bản đầu tiên" một câu lệnh SmartPlant 3D thì thật ra gồm những gì

Phần 4 nói AI viết ra một bộ khung chạy được cho một câu lệnh SmartPlant 3D, và chuyện đó tiết kiệm được mấy ngày chứ không phải mấy phút. Nếu bạn không viết nhu liệu thì lời quả quyết đó khó mà kiểm được, bởi vì mọi danh từ trong đó — cái nhu liệu, cái "solution", cái mã, cái hộp thoại, cái API — đều xa lạ. Đây là phần kể ra những gì thật sự nằm giữa "tôi có một ý" và "cái sườn đã có", nói bằng lời lẽ thường, để bạn thấy được cỡ của cái đường tắt đó.

SmartPlant 3D là cái gì. SmartPlant 3D (gọi tắt SP3D, hiện do hãng Hexagon bán) là nhu liệu dựng mô hình ba chiều mà một hãng EPC dùng để dựng nguyên cái nhà máy trong máy tính: từng ống, từng cây thép, từng cỗ thiết bị, từng cái giá đỡ, tất cả đều nằm ở tọa độ thật và được máy tự động kiểm coi có món nào đụng món nào không, trước khi đem đi gia công ngoài đời. Nó không phải là một chương trình vẽ theo cái kiểu chương trình đánh máy là một chương trình viết chữ — nó là một kho dữ liệu chứa những vật thể thật có quan hệ thật với nhau (cây dầm thuộc về cây cột, đường ống chạy từ thiết bị này qua thiết bị kia), mà tình cờ hiện lên màn hình dưới dạng một bức hình ba chiều. Mua về xài liền thì nó không biết cách dựng cái khung thép riêng biệt của một nhà máy riêng biệt nào bằng một cú bấm chuột; muốn có một hình dạng lặp đi lặp lại như vậy thì phải có người dạy nó, bằng cách viết một mẩu nhu liệu riêng — một "câu lệnh" (command) — để người kỹ sư bấm chạy ngay từ bên trong SP3D.

"Tạo một solution trong Visual Studio" nghĩa là gì. Visual Studio là chương trình mà dân viết nhu liệu dùng để viết, thử, rồi đóng gói nhu liệu. Một "solution" là cái vỏ chứa mà nó dùng để đựng một dự án — bạn cứ hình dung nó là cái thư mục cộng với bộ thiết lập, nói rằng "mấy tập tin này thuộc về nhau, chúng nó ráp lại thành cái này, và đây là danh sách những thư viện bên ngoài mà chúng nó được phép gọi". Trước khi gõ được một dòng logic có ích nào, cái vỏ chứa đó phải hiện hữu đã: một solution mới, một dự án mới nằm trong đó, một tham chiếu (reference) trỏ tới thư viện lập trình của chính SP3D (để cho cái mã mới viết được phép nói chuyện với SP3D), loại dự án phải chọn cho đúng (dạng Windows Forms, để nó bày ra được một hộp thoại), và mấy thiết lập biên dịch phải khớp với đúng phiên bản SP3D đang cài trên máy. Tới đây thì chưa ra được cái gì nhìn thấy được hết — nó tương đương với việc dọn sạch cái bàn thợ và bày đồ nghề ra trước khi khởi công. Nó cũng đúng là loại chuyện dễ làm sai sơ sơ theo mấy kiểu mà mãi về sau mới lòi ra, và làm lại từ trí nhớ mỗi lần thì rất chán.

"Cái mã" là gì. Là mấy dòng chỉ thị thật sự, viết bằng một ngôn ngữ lập trình (ở đây là VB.NET) trong một tập tin văn bản, chạy tuần tự từng bước khi người kỹ sư bấm nút của câu lệnh. Trong trường hợp này là chừng 350 dòng, sắp thành mấy công việc riêng biệt: đọc mấy giá trị mà người dùng gõ vô hộp thoại, tra tiết diện thép và vật liệu trong ca-ta-lô của SP3D, dựng mấy đường lưới mà cái khung sẽ bám vô, đặt bốn cây cột, đặt bốn cây dầm, rồi báo là xong hay báo một câu lỗi rõ ràng. Mỗi công việc trong đó phải xảy ra đúng thứ tự — thí dụ mấy đường lưới phải hiện hữu trước thì mới bảo cây cột bám vô chúng nó được — mà làm sai thứ tự thì nó không quăng ra một dòng chữ đỏ báo lỗi như khi gõ sai chính tả đâu; nó lẳng lặng đẻ ra một cây cột đứng nhầm chỗ, mà như vậy còn tệ hơn.

"Cái hộp thoại" là gì. Trước khi câu lệnh làm bất cứ chuyện gì, người kỹ sư cần một cái hộp nhỏ để gõ vô: chiều dài nhịp, chiều rộng nhịp, chiều cao, góc xoay, cộng với mấy ô thả xuống để chọn tiết diện thép, chọn mác vật liệu, và đặt tên cho cái khung sắp ra. Dựng cái hộp đó trong Visual Studio nghĩa là kéo mấy ô nhập liệu và mấy cái nhãn thả lên một cửa sổ trống, rồi viết mã nằm sau mỗi cái: nếu có ai gõ chữ vô ô "chiều cao" thay vì gõ số, thì cái ô đó đỏ lên và cái nút "Đặt" tự khóa lại, để một giá trị bậy bạ không bao giờ tới được cái phần chương trình nói chuyện với SP3D. Đây là một mẩu nhỏ, chẳng vẻ vang gì, trong tổng số công việc; và nó cũng là cái phần dễ bị bỏ qua hoặc làm cho có nhất khi bị hối — cho nên có nó nằm sẵn ở đó, viết rồi, đấu dây rồi với mấy ô phía sau, là đáng giá.

"Gọi API" là gì. SP3D bày phần chức năng của nó ra ngoài dưới dạng một bộ API (Application Programming Interface) — một kho từ vựng cố định gồm những mệnh lệnh mà mã tự viết được phép ra lệnh, thí dụ "tạo một cây cột mới ở đây", "tra tiết diện thép này trong ca-ta-lô", hay "chốt sổ thay đổi này vô mô hình". Cái câu lệnh tự viết không tự nó dựng ra hình khối ba chiều của cây cột; nó chỉ nói, đại khái là: "SP3D ơi, đặt giùm một cây cột tiết diện này, vật liệu này, chạy từ điểm này tới điểm kia", rồi bộ máy của chính SP3D đi làm chuyện đặt cột. Học coi trong hàng trăm lời gọi API của SP3D có những lời gọi nào, phải ra lệnh theo thứ tự nào, và mỗi lời gọi ngấm ngầm giả định điều gì (thí dụ: mấy vật thể quy chiếu nào đó phải hiện hữu sẵn thì mới được phép trỏ một cây cột vô chúng nó), tự nó đã là một khối kiến thức lớn và riêng biệt — gần với chuyện học một thứ thổ ngữ chuyên biệt hơn là chuyện tra một hàm trong sách chỉ dẫn.

"Người lập trình tự viết hàm của mình để tổng quát hóa lời gọi API" nghĩa là gì. Một lời gọi API thô thì hẹp — một cây cột, một bộ đường lưới cụ thể. Thay vì chép đi chép lại mấy khối mã gần y hệt nhau bốn lần cho bốn cây cột và bốn lần cho bốn cây dầm, cái mã tự định nghĩa mấy hàm nhỏ dùng lại được của riêng nó (MakeColumn, MakeBeam, CreateGridInfrastructure), nhận vô một nhúm giá trị đơn giản — một cái tên, một điểm đầu, một điểm cuối, một cỡ tiết diện — rồi bên trong nó lo hết mấy khúc đường ống API lặp nhặt, lo đúng một lần. Đây cũng đúng cái phản xạ của người viết macro cho bảng tính: làm cho đúng cái chuỗi thao tác lằng nhằng đó một lần, gói nó lại thành món dùng lại được, rồi mọi lần dùng về sau chỉ còn là đưa vô mấy con số. Có thêm một lớp phụ tá riêng làm y như vậy cho phần tra ca-ta-lô — "tìm giùm tôi một tiết diện cột dạng chữ W trong bộ tiêu chuẩn này" — để cái mẩu logic đó nằm ở đúng một chỗ thay vì nằm rải bốn chỗ. Mã sắp xếp kiểu này không chỉ ngắn hơn; nó còn dễ kiểm hơn nhiều, bởi vì chỉ có một phiên bản duy nhất của "một cây cột được đặt ra sao" cần đi kiểm, chớ không phải tám bản na ná nhau.

Mã nguồn nhu liệu biếu không để minh họa cho việc tự động hóa

Tại sao "được cho không 80%" thật ra là một hai ngày. Không có mẩu nào ở trên là xa lạ đối với một người viết nhu liệu có kinh nghiệm. Cái làm chúng nó mắc là ở chỗ có tới cả chục mẩu như vậy, chúng nó phải ráp theo một thứ tự nhất định, và một cái sai ở mẩu đầu (đặt tham chiếu dự án sai, hay đặt cái điểm gốc quy chiếu vô nhầm đầu cây dầm) thì không hư một cách ồn ào — nó đẻ ra một mô hình nhà máy có cây dầm lơ lửng sai chỗ, mà mãi sau này mới có người ngó cái hình ba chiều rồi phát hiện. Dựng cái solution, đấu dây cái hộp thoại, học cho ra đúng thứ tự các lời gọi API, và viết bản nháp đầu của mấy hàm phụ tá dùng lại được — đó mới là phần ngốn của một người đã biết cách làm nguyên một hai buổi làm việc, bởi vì phần lớn thời gian đó là thời gian đi ráp cho đúng mấy khúc ống, chớ không phải thời gian quyết định mấy khúc ống đó nên làm gì. Có sẵn một bản nháp chạy được của tất cả những thứ đó, gõ ra rồi — dù nó vẫn còn cần tôi sửa cái điểm gốc quy chiếu, sửa cái góc xoay, và viết lại câu báo lỗi ca-ta-lô — chính là cái mà chữ "gần đúng" mua được cho tôi: hai ngày lẽ ra đổ vô giàn giáo, được đổ vô bốn năm cái quyết định thật sự cần tới đầu óc kỹ thuật.