Góc nhìn Anderson

Mã Người Từ Năm 2020 Đã Đánh Bại Các Đại Lý Được Mã Hóa Vibe Trong Các Bài Kiểm Tra Của Đại Lý

mm
Thêm Unite.AI vào các nguồn ưu tiên của bạn trên Google
AI-generated image: a Victorian coach and horses winning formula 1 against modern race car competitors. gpt-image-1.

ChatGPT và các công cụ mã hóa vibe khác đã được thử nghiệm trong gần 40.000 trận đấu – và thua mãi mãi các mã được viết bởi sinh viên tốt nghiệp trước khi phát minh ra Mô hình Ngôn ngữ Lớn.

 

Trong một nghiên cứu mới từ Vương quốc Anh, các nhà nghiên cứu đã so sánh các đại lý được mã hóa bởi con người với các đại lý được mã hóa bằng cách sử dụng các Mô hình Ngôn ngữ Lớn (LLMs) mới nhất, chẳng hạn như ChatGPT-5 và Claude, và phát hiện ra rằng các đại lý được tạo ra mà không có sự giúp đỡ của AI rất dễ dàng đánh bại các phiên bản được hỗ trợ bởi AI.

Cả hai tập hợp đại lý đều được tạo ra bởi các thế hệ sinh viên khác nhau từ Phòng thí nghiệm Trí tuệ Nhân tạo của Viện Công nghệ Liên bang Thụy Sĩ Lausanne. Các đại lý không phải AI được phát triển như một phần của khóa học vào năm 2020, hai năm trước khi ra đời ChatGPT và bắt đầu cuộc cách mạng LLM, trong khi các đại lý mới được tạo ra bởi sinh viên hiện tại, được hỗ trợ bởi các LLM mới nhất và tốt nhất có sẵn.

Ngay cả khi trò chơi được sắp xếp, các giải pháp được mã hóa bằng cách sử dụng vibe cũng không thể giành chiến thắng, và năm vị trí hàng đầu được giữ vững bởi các đại lý “tự nhiên”, với đa số các đại lý LLM (33 trong số 40) bị đánh bại dễ dàng bởi các đại lý cơ bản “rất đơn giản” trong 38.304 thử thách trong một giải đấu, trên một số lượng lớn các biến và hoàn cảnh:

Tài liệu cho biết:

‘Công việc của chúng tôi chứng minh rằng trong khi các LLM hiện đại có thể tạo ra mã chạy (tức là không có lỗi cú pháp), giải pháp được tạo ra không cạnh tranh với các giải pháp được thiết kế bởi con người về các khía cạnh như lập kế hoạch chiến lược, tối ưu hóa hoặc cạnh tranh đa đại lý.

‘Do đó, công việc này đưa ra một hướng đi mới trong việc tạo ra mã, và nhằm mục đích tạo điều kiện cho việc phát triển các điểm chuẩn, tập dữ liệu và mã nguồn mở giúp nhấn mạnh việc tổng hợp mã dựa trên lý lẽ.’

Thử thách được đề ra là tham gia một cách sáng tạo vào các cuộc đấu giá, trên nhiều chiến lược khác nhau, và sắp xếp việc giao hàng cho những người chiến thắng.

Các tác giả lưu ý rằng một số lợi thế đã được trao cho LLM, chẳng hạn như can thiệp vào mã của chúng để cải thiện hiệu suất – một điều không được phép đối với mã từ năm 2020. Mặc dù vậy, ngay cả khi được cung cấp mã sửa lỗi sẽ chắc chắn cải thiện kết quả của chúng, các LLM vẫn không thể sử dụng nó:

‘[Trong] thử nghiệm của chúng tôi, ngay cả khi chúng tôi hiển thị một giải pháp tốt trong ngữ cảnh, LLM vẫn không thể sử dụng nó.

‘Kết quả này cũng đặt ra các câu hỏi nghiên cứu thú vị về giới hạn của việc học trong ngữ cảnh và giải quyết vấn đề tăng cường trong các kịch bản phức tạp.’

Các LLM được sử dụng trong thử nghiệm bao gồm GPT-5 Thinking, Gemini 2.5 Pro, Claude Opus 4.1, và DeepSeek R1*.

Tài liệu mới có tiêu đề Liệu Mã Hóa Vibe Có Thể Đánh Bại Sinh Viên Khoa Học Máy Tính?, và đến từ một tác giả tại Đại học Southampton và một tác giả khác tại Đại học Oxford và Viện Alan Turing. Các điểm chuẩn sẽ, theo các tác giả, được phát hành sớm.

Phương Pháp

Các tác giả lưu ý rằng các thử nghiệm truyền thống trong lĩnh vực này tập trung vào các thử thách có giải pháp nhị phân rõ ràng (đúng hoặc sai), được xác minh thông qua kiểm tra đơn vị. Họ cho rằng đây không phải là cách lý tưởng để khám phá các hạn chế của mã được hỗ trợ bởi LLM, và thay vào đó, họ đã tạo ra một kịch bản thử thách phức tạp hơn, với nhiều điểm chuẩn và cột mốc nội bộ, trong đó chiến thắng là có thể, nhưng không dễ dàng:

So sánh các phương pháp tiếp cận dựa trên kiểm tra đơn vị tiêu chuẩn (trên), và kịch bản thử thách mở rộng được tạo ra bởi các tác giả (dưới). Nguồn [ https://arxiv.org/pdf/2511.20613 ]

So sánh các phương pháp tiếp cận dựa trên kiểm tra đơn vị tiêu chuẩn (trên), và kịch bản thử thách mở rộng được tạo ra bởi các tác giả (dưới). Nguồn

Vấn đề đấu giá, giao hàng và giao nhận (APDP) được sử dụng cho nghiên cứu của các tác giả là một phần tự chọn, do sự sẵn có của một tập hợp mã từ năm 2020 của các sinh viên từ trường đại học Thụy Sĩ; mã này nhằm tạo ra các đại lý tự động cho nhiệm vụ APDP, trước khi có khả năng hỗ trợ phát triển thông qua AI. Do đó, nó tương đối dễ dàng để giao nhiệm vụ cho các sinh viên hiện tại với cùng một yêu cầu, nhưng với các công cụ hiện đại.

Các tác giả đã cố gắng tránh các khuôn khổ thử nghiệm phổ biến như HumanEval, BigCodeBenchWebDev Arena (trong số nhiều khuôn khổ khác), vì loại khuôn khổ thử nghiệm này thường bị ảnh hưởng bởi ô nhiễm dữ liệu (tức là, các trường hợp hệ thống có thể được đào tạo trên dữ liệu thử nghiệm thay vì tôn trọng một phân chia).

APDP là một vấn đề hậu cần hai giai đoạn dựa trên đấu giá ngượclập kế hoạch tuyến đường. Trong giai đoạn đầu, các đại lý cạnh tranh để giành chiến thắng trong các nhiệm vụ giao hàng bằng cách gửi giá thầu cho từng nhiệm vụ. Giá thầu quá cao có nghĩa là mất nhiệm vụ; giá thầu quá thấp có thể có nghĩa là mất tiền.

Trong giai đoạn thứ hai, mỗi đại lý phải tạo ra một kế hoạch hiệu quả để thực hiện các nhiệm vụ mà họ đã giành chiến thắng, phân配 chúng cho các phương tiện có dung lượng và chi phí khác nhau, dưới các hạn chế về thời gian và tài nguyên:

Trong APDP, các công ty tham gia đấu giá ngược để giành chiến thắng trong các nhiệm vụ giao hàng, sau đó tối ưu hóa tuyến đường để thực hiện các nhiệm vụ mà họ đã giành chiến thắng, nhằm tối đa hóa lợi nhuận.

Trong APDP, các công ty tham gia đấu giá ngược để giành chiến thắng trong các nhiệm vụ giao hàng, sau đó tối ưu hóa tuyến đường để thực hiện các nhiệm vụ mà họ đã giành chiến thắng, nhằm tối đa hóa lợi nhuận.

Mục tiêu không chỉ là hoàn thành các nhiệm vụ, mà còn là tối đa hóa lợi nhuận tổng thể bằng cách dự đoán các gói nhiệm vụ sẽ hoạt động tốt nhất cùng nhau, và dự đoán chiến lược của các đối thủ cạnh tranh đang cố gắng làm điều tương tự.

APDP đặt ra thách thức cho việc tạo ra mã bằng cách giới thiệu lập kế hoạch chiến lược trên một chuỗi các cuộc đấu giá liên kết, với mỗi giá thầu thay đổi lại phong cảnh của các lựa chọn tương lai; và do đó, yêu cầu các đại lý phải suy nghĩ không chỉ về chi phí ngay lập tức, mà còn về vị trí, thời gian và hậu quả lâu dài.

Vấn đề giao hàng cơ bản là NP-hard, tức là không có thuật toán nào có thể tìm ra giải pháp tốt nhất trong thời gian hợp lý khi số lượng nhiệm vụ tăng lên. Điều này khiến việc sử dụng lực lượng trở nên không khả thi, và buộc các đại lý phải trao đổi độ chính xác cho tốc độ.

Cuộc Đua Bắt Đầu

Đánh giá của các tác giả so sánh 40 đại lý được mã hóa bằng LLM với 17 đại lý được mã hóa bởi con người trong một loạt các trận đấu trực tiếp. Mỗi trong 12 trận đấu sử dụng một kết hợp khác nhau của bốn cấu trúc mạng đường, và bao gồm tất cả các trận đấu, với các đại lý đối đầu với mọi đối thủ khác hai lần: một lần kiểm soát từng công ty, với các thông số phương tiện khác nhau.

Cấu hình này tạo ra 3.192 trận đấu mỗi giải đấu, tổng cộng 38.304 trận đấu. Trong mỗi trận đấu, 50 nhiệm vụ giao hàng được đấu giá, được xác định bởi điểm lấy và điểm giao, và được rút ra ngẫu nhiên trên các bố cục đường được mô hình hóa trên Thụy Sĩ, Pháp, Anh và Hà Lan:

Mạng đường đơn giản hóa được sử dụng trong giải đấu: Anh (trên cùng bên trái), Thụy Sĩ (trên cùng bên phải), Hà Lan (dưới cùng bên trái), và Pháp (dưới cùng bên phải). Các ô vuông màu xanh và đỏ đánh dấu nhiệm vụ lấy và giao hàng. Các tam giác màu cho thấy vị trí hiện tại của phương tiện các đại lý.

Mạng đường đơn giản hóa được sử dụng trong giải đấu: Anh (trên cùng bên trái), Thụy Sĩ (trên cùng bên phải), Hà Lan (dưới cùng bên trái), và Pháp (dưới cùng bên phải). Các ô vuông màu xanh và đỏ đánh dấu nhiệm vụ lấy và giao hàng. Các tam giác màu cho thấy vị trí hiện tại của phương tiện các đại lý.

Các đại lý sinh viên được rút ra từ một giải đấu năm 2020. Tám đại lý đến từ những người biểu diễn hàng đầu trong một trận đấu loại trực tiếp, và bốn đại lý khác được chọn cho hiệu suất mạnh mẽ chống lại các đại lý cơ bản trong các trận đấu trực tiếp.

Các đại lý cơ bản theo các quy tắc cố định. Naive tính toán tổng khoảng cách và giá thầu theo đó, sử dụng chỉ một phương tiện và bỏ qua việc phân lô; ExpCostFixedBid mô phỏng 10 nhiệm vụ ngẫu nhiên, và giá thầu chi phí biên trung bình; Honest tính toán chi phí biên thực tế của việc chèn nhiệm vụ vào lịch; ModelOpponent làm điều tương tự nhưng thêm một ước tính về chi phí của đối thủ, giá thầu tối đa; và RiskSeeking kết hợp một ước tính thời gian giảm dần với ước tính chi phí trực tiếp và mô hình hóa đối thủ – lại giá thầu cao hơn trong hai.

Đánh giá bao gồm 40 đại lý được mã hóa bằng LLM được xây dựng bằng cách sử dụng (như đã đề cập) GPT-5 Thinking, Claude Opus 4.1, Gemini 2.5 Pro, và DeepSeek R1. Mỗi mô hình được kích hoạt với năm chiến lược khác nhau, áp dụng hai lần cho mỗi mô hình.

Hai chiến lược sử dụng các kích hoạt tĩnh được viết bởi các tác giả khác nhau, trong khi một chiến lược khác yêu cầu mô hình tự phản ánh và sửa đổi đầu ra của chính nó; một chiến lược khác liên quan đến việc phê bình và sửa đổi bởi một LLM riêng biệt. Chiến lược cuối cùng sử dụng GPT-4 để tổng hợp một kích hoạt mới bằng cách xem xét tất cả bốn phương pháp trước đó.

Kích hoạt cơ bản phản ánh nhiệm vụ ban đầu của sinh viên, mô tả môi trường giao hàng và hướng dẫn mô hình giá thầu và lập kế hoạch để tối đa hóa lợi nhuận, mà không dựa vào các phương pháp phức tạp.

Tất cả các đại lý LLM đều được thử nghiệm trong cả tự chơi và cài đặt giải đấu cho đến khi tất cả các lỗi quan sát được đều được sửa.

Các lỗi phổ biến của LLM, tài liệu lưu ý, bao gồm vi phạm giới hạn thời gian, thất bại trong việc lấy hoặc giao nhiệm vụ được giao, và vi phạm giới hạn dung lượng phương tiện – các lỗi thường phát sinh từ việc bỏ qua các hướng dẫn rõ ràng, hoặc từ logic lập kế hoạch bị lỗi:

‘Một vấn đề phổ biến khác chúng tôi tìm thấy (chủ yếu với Gemini, Claude và DeepSeek, và không nhiều với GPT) là LLM thường xuyên thất bại trong việc giải quyết một lỗi.

‘Ví dụ, một đại lý sẽ thường xuyên hết thời gian, mặc dù đã có nhiều (ví dụ, 5-15) chu kỳ kích hoạt LLM với thông tin lỗi và nhận được phiên bản cập nhật của mã.

‘Giải pháp duy nhất chúng tôi tìm thấy cho những tình huống như vậy (trong đó LLM lặp lại thất bại trong việc giải quyết cùng một lỗi) là khởi động lại từ đầu. Tổng thể, chúng tôi quan sát thấy nhu cầu về nỗ lực thủ công đáng kể để đạt được mã không có lỗi. Chúng tôi phải tạo ra nhiều đại lý hơn để có được 40 đại lý không có lỗi mà chúng tôi đã đánh giá.’

Kết quả được hiển thị dưới đây tóm tắt kết quả từ 12 giải đấu vòng tròn kép, bao gồm bốn cấu trúc mạng đường và ba giải đấu mỗi cấu trúc, tạo ra gần 40.000 trận đấu:

Đại Lý Trung Bình Số Chiến Thắng / Giải Độ Lệch Chuẩn Số Chiến Thắng / Giải Trung Bình Số Trận Thua / Giải Độ Lệch Chuẩn Số Trận Thua / Giải Tổng Số Chiến Thắng Tổng Số Trận Thua Tỷ Lệ Chiến Thắng
Student 1 108.167 1.193 3.833 1.193 1298 46 0.9658
Student 2 104.917 2.539 7.083 2.539 1259 85 0.9368
Student 3 103.917 2.466 8.083 2.466 1247 97 0.9278
Student 4 103.25 1.815 8.75 1.815 1239 105 0.9219
Student 5 96.5 2.908 15.5 2.908 1158 186 0.8616
LLM(O, IR, 1) 95.417 2.314 16.583 2.314 1145 199 0.8519
LLM(O, A2, 1) 94.583 2.314 17.417 2.314 1135 209 0.8445
Student 6 93.167 1.899 18.833 1.899 1118 226 0.8318
Student 7 93.167 3.563 18.833 3.563 1118 226 0.8318
LLM(O, A1, 1) 86.083 3.029 25.917 3.029 1033 311 0.7686
LLM(O, GEN, 2) 84.083 6.947 27.917 6.947 1009 335 0.7507
LLM(O, CR, 2) 83.5 4.442 28.5 4.442 1002 342 0.7455
Student 8 83.417 4.122 28.583 4.122 1001 343 0.7448
RiskSeeking 82.417 3.343 29.583 3.343 989 355 0.7359
LLM(O, GEN, 1) 80.667 4.355 31.25 4.372 968 375 0.7208
ModelOpponent 80.583 3.26 31.417 3.26 967 377 0.7195
LLM(D, A1, 1) 79.417 3.965 32.583 3.965 953 391 0.7091
ExpCostFixedBid 77.167 4.951 34.833 4.951 926 418 0.689
LLM(O, IR, 2) 73.917 3.502 38 3.618 887 456 0.6605
LLM(O, A1, 2) 72.417 2.193 39.583 2.193 869 475 0.6466
LLM(G, A1, 2) 68.5 3.555 43.5 3.555 822 522 0.6116
LLM(A, GEN, 2) 67.917 2.968 44.083 2.968 815 529 0.6064
LLM(G, IR, 2) 65.917 2.314 46.083 2.314 791 553 0.5885
Student 9 64.167 11.044 47.833 11.044 770 574 0.5729
LLM(G, A1, 1) 64 4.243 47.917 4.316 768 575 0.5719
LLM(G, IR, 1) 60.333 3.725 51.667 3.725 724 620 0.5387
LLM(O, A2, 2) 59.333 4.499 52.667 4.499 712 632 0.5298
LLM(D, CR, 1) 55.083 6.694 56.833 6.59 661 682 0.4922
LLM(G, GEN, 2) 53.167 3.664 58.833 3.664 638 706 0.4747
LLM(D, GEN, 2) 52.083 9.06 59.917 9.06 625 719 0.465
Honest 50.583 3.848 61.417 3.848 607 737 0.4516
Student 10 48.833 2.98 63.167 2.98 586 758 0.436
LLM(D, IR, 1) 48.583 10.211 63.417 10.211 583 761 0.4338
LLM(A, A1, 1) 48 4.69 64 4.69 576 768 0.4286
LLM(G, A2, 1) 47.25 3.864 64.75 3.864 567 777 0.4219
LLM(A, CR, 1) 43.833 4.609 68.167 4.609 526 818 0.3914
LLM(A, A2, 1) 43.75 2.05 68.25 2.05 525 819 0.3906
Student 11 42.083 5.664 69.917 5.664 505 839 0.3757
LLM(A, IR, 1) 39.5 2.541 72.5 2.541 474 870 0.3527
Naive 36.75 1.712 75.25 1.712 441 903 0.3281
Student 12 36.333 1.775 75.667 1.775 436 908 0.3244
LLM(D, A2, 1) 33.917 2.193 78.083 2.193 407 937 0.3028
LLM(A, GEN, 1) 30.167 1.749 81.833 1.749 362 982 0.2693
LLM(D, A2, 2) 29.833 2.038 82.167 2.038 358 986 0.2664
LLM(G, A2, 2) 27 2.256 85 2.256 324 1020 0.2411
LLM(A, A2, 1) 26.333 0.985 85.667 0.985 316 1028 0.2351
LLM(O, CR, 1) 25 3.411 87 3.411 300 1044 0.2232
LLM(A, IR, 2) 24.333 8.542 87.667 8.542 292 1052 0.2173
LLM(A, A2, 2) 24 1.809 88 1.809 288 1056 0.2143
LLM(A, CR, 2) 23.333 1.557 88.667 1.557 280 1064 0.2083
LLM(D, GEN, 1) 22.5 1.784 89.5 1.784 270 1074 0.2009
LLM(D, A1, 2) 13.333 1.826 98.667 1.826 160 1184 0.119
LLM(G, CR, 1) 9.5 1.087 102.5 1.087 114 1230 0.0848
LLM(G, GEN, 1) 9.167 0.937 102.833 0.937 110 1234 0.0818
LLM(D, IR, 2) 7.75 0.622 104.25 0.622 93 1251 0.0692
LLM(G, CR, 2) 7.25 1.422 104.75 1.422 87 1257 0.0647
LLM(D, CR, 2) 5.667 0.985 106.333 0.985 68 1276 0.0506

Để tham khảo, mỗi đại lý đã chơi 112 trận đấu mỗi giải đấu, vì vậy giá trị trung bình tối đa có thể cho chiến thắng hoặc thua mỗi đại lý là 112. Độ lệch chuẩn (SD) phản ánh sự biến đổi trên các giải đấu. Các đại lý được mã hóa bởi con người được hiển thị bằng chữ đậm. Các đại lý được mã hóa bằng LLM được dán nhãn bằng mô hình (O = GPT-5 Thinking, G = Gemini 2.5 Pro, A = Claude Opus 4.1, D = DeepSeek R1), tiếp theo là mã chiến lược kích hoạt hai chữ cái và một chữ số chỉ ra liệu đại lý có phải là đầu tiên hay thứ hai được tạo ra với kích hoạt đó. Nguồn

Về kết quả được hiển thị ở trên, các tác giả cho biết:

‘LLMs không tạo ra mã dự kiến / cạnh tranh ngay cả trong các biến thể đơn giản hơn của vấn đề APDP (mặc dù mã đó chủ yếu không có lỗi cú pháp). Điều này nhấn mạnh tầm quan trọng của việc đánh giá mã dựa trên lý lẽ vượt ra ngoài tự động hoàn thành và xác định các điểm yếu mới của LLMs.’

‘Kết quả của chúng tôi chứng minh sự vượt trội rõ ràng của các đại lý được mã hóa bởi con người: (i) Năm vị trí hàng đầu được giữ vững bởi các đại lý sinh viên, và (ii) đa số các đại lý LLM (33 trong số 40) bị đánh bại bởi các đại lý cơ bản rất đơn giản (như giá thầu cố định dựa trên chi phí mong đợi).’

‘Quan trọng hơn, chúng tôi không gỡ lỗi mã của sinh viên (trong khi chúng tôi đã thử nghiệm và gỡ lỗi mã LLM một cách kỹ lưỡng, cả trong tự chơi và cài đặt giải đấu). Mỗi lần một đại lý sinh viên bị treo, chúng tôi tự động trao chiến thắng cho LLM. Một số lượng lớn các lỗi này sẽ dễ dàng sửa được (ví dụ, các đại lý đã hết thời gian), do đó các đại lý sinh viên có thể đứng hạng cao hơn.’

Là một thí nghiệm bổ sung, GPT-5 Thinking đã được kích hoạt để cải thiện mã của đại lý hàng đầu được mã hóa bởi con người, Student 1; nhưng đại lý hiện đã được sửa đổi bởi LLM sau đó đã rơi xuống vị trí thứ 10, bây giờ là tồi tệ nhất trong số tất cả các điểm số của con người. Thay vì nâng cao giải pháp, các thay đổi của LLM đã làm suy giảm nó gần 20%.

Các tác giả kết luận:

‘[Kết quả của chúng tôi] nhấn mạnh các hạn chế quan trọng của việc tạo mã LLM, đặc biệt là khả năng lý lẽ và lập kế hoạch hạn chế khi tạo mã. Các LLM hiện đại có thể cung cấp mã không có lỗi cú pháp có thể chạy, nhưng đó không phải là điểm chuẩn chúng ta nên sử dụng để đo lường tiến bộ hướng tới AI tổng quát tiên tiến.’

Kết Luận

Các tác giả tự lưu ý rằng mã hóa vibe đã trao quyền cho mọi người từ mọi nền tảng kỹ thuật, và mô tả thực tiễn này theo cách tích cực, như một lực lượng bình đẳng. Tuy nhiên, họ cũng ngụ ý rằng vì mã hóa vibe chỉ mới xuất hiện, các hạn chế của nó không được biết đến và có thể được cho là cao hơn những gì có thể được mong đợi một cách thực tế.

Họ kết thúc bài viết của mình bằng cách kêu gọi một sự thay đổi mục tiêu ‘từ mã có thể biên dịch sang mã có thể cạnh tranh’.

Một câu hỏi mà người đọc thông thường của bài báo mới thú vị này có thể có là liệu các tác giả có đang tấn công lên hay xuống, vì nhiệm vụ đại lý trong câu hỏi phức tạp và liên quan nhiều hơn so với việc nhả ra các tập lệnh PowerShell và các hình thức chức năng và sửa lỗi nhỏ khác mà mã hóa vibe phù hợp.

 

* Xin lưu ý rằng bài báo liên tục đề cập đến ‘DeepThink R1′, dường như không tồn tại, chỉ xuất hiện một số ít tài liệu tham khảo trên internet (dường như từ các tác giả khác đã viết sai ‘DeepSeek R1)’. Nếu đây là lỗi của tôi, vui lòng liên hệ với tôi qua thông tin hồ sơ của tôi và tôi sẽ sửa đổi.

Nhấn mạnh của tác giả, không phải của tôi.

Được xuất bản lần đầu vào thứ Tư, ngày 26 tháng 11 năm 2025. Sửa đổi vào 17:35 est để định dạng.

Nhà văn về học máy, chuyên gia lĩnh vực tổng hợp hình ảnh con người. Cựu trưởng nhóm nội dung nghiên cứu tại Metaphysic.ai, cho đến khi nó được併 nhập vào Brahma.ai của DNEG.
Portfolio site: martinanderson.ai
Contact: [email protected]