1. Định hướng hành trình hiện đại hoá của bạn
Lớp học lập trình toàn diện này là lớp học thực hành đi kèm, được lấy trực tiếp từ bài viết chuyên sâu về kiến trúc Cách tự động hoá quy trình hiện đại hoá bằng Antigravity và quy trình điều phối nhiều tác nhân. Mặc dù chúng ta sử dụng một quy trình hoán đổi khung Node.js cổ điển làm phương tiện minh hoạ hữu hình, nhưng các mẫu thiết kế cốt lõi, cấu trúc thư mục và quy trình điều phối dựa trên tác nhân mà bạn sẽ thực hiện ở đây hoàn toàn không phụ thuộc vào ngôn ngữ và có thể áp dụng cho mọi dự án hiện đại hoá hệ thống cũ ở quy mô lớn.
Không giống như các trợ lý lập trình tiêu chuẩn chỉ tự động hoàn thành các dòng trong một tệp duy nhất, bạn sẽ tìm hiểu cách tận dụng các chức năng ưu tiên tác nhân của Google Antigravity để điều phối các nhóm tự trị gồm các tác nhân phụ AI chuyên biệt. Các tác nhân này có thể độc lập phân tích ngược các cơ sở mã cũ, viết các bộ kiểm thử nghiêm ngặt, giàn giáo các kiến trúc hiện đại và tự sửa các lỗi trình biên dịch của chính chúng bằng cách sử dụng các vòng lặp Phản xạ, trong khi bạn vẫn duy trì quyền kiểm soát tuyệt đối với tư cách là kiến trúc sư cấp cao.
Kiến thức bạn sẽ học được
- Ánh xạ quy trình làm việc: Cách phân loại và tách biệt chính xác các tác vụ thiết lập mang tính xác định với các thử thách tái cấu trúc phức tạp theo kinh nghiệm.
- Cấu trúc kỹ năng: Cách cấu trúc một Gói kỹ năng của tác nhân có thể mở rộng bằng cách sử dụng tính năng tiết lộ từng bước và siêu dữ liệu định tuyến YAML.
- Điều phối các mẫu thiết kế: Cách thúc đẩy việc tái cấu trúc quy mô lớn bằng cách liên kết các mẫu thiết kế Router, Lập kế hoạch và thực thi, cũng như Phản xạ.
- Hợp đồng đầu vào/đầu ra cố định: Cách thực thi các ranh giới rõ ràng về đầu vào/kỹ năng/đầu ra trên các quy trình kỹ thuật đảo ngược nhiều giai đoạn và giàn giáo mục tiêu.
- Xác minh tính tương đồng: Cách tận dụng Trợ lý trình duyệt của Antigravity để thực hiện kiểm thử tính tương đồng song song trong trình duyệt web Chrome.
Sản phẩm bạn sẽ tạo ra
Bạn sẽ điều phối một Quy trình tái cấu trúc Greenfield hoàn toàn tự động, lấy đơn nguyên CRUD Express và Mongoose cũ, lỗi thời (bản "demo madhums") làm ví dụ và tự động xây dựng lại từ đầu thành một ứng dụng Next.js App Router được gõ nghiêm ngặt, có MongoDB hỗ trợ, xác thực Zod nghiêm ngặt và các thành phần giao diện người dùng ShadCN dễ truy cập.
Bạn cần có
- Google Antigravity IDE được cài đặt cục bộ (có tại antigravity.google).
- Node.js (phiên bản 18 trở lên) được cài đặt cục bộ.
- Trình duyệt Chrome để xác minh giao diện người dùng tự động.
- Bản sao của kho lưu trữ đơn nguồn mở modernizing-expressjs.
2. Thiết lập môi trường hiện đại hoá
Trước khi cho phép các tác nhân tự trị hoạt động trên một toàn bộ mã nguồn kế thừa đã cũ, chúng ta phải thiết lập một môi trường monorepo ổn định, gọn gàng. Việc cung cấp cho trợ lý AI một đường cơ sở gọn gàng đảm bảo trợ lý này hoàn toàn tập trung vào việc tạo mã hiện đại chất lượng cao thay vì lãng phí token để khắc phục các lỗ hổng bảo mật của gói hoặc sự không khớp của trình biên dịch đã có từ hàng chục năm trước.
Mối liên kết giữa Express cũ và cấu trúc Next.js hiện đại
Thành phần | Legacy Stack | Thiết bị thay thế hiện đại | Lý do |
Cấu trúc | Express Monolith | Trình định tuyến ứng dụng Next.js | Tách logic thành các Thành phần máy chủ để tối ưu hoá hiệu suất hiển thị và Thành phần máy chủ React (RSC). |
Logic dữ liệu | Mongoose (ODM) | MongoDB + Zod | Hoán đổi các hook ORM ngầm ẩn cho các giản đồ Zod tường minh, an toàn về kiểu và hiệu suất trình điều khiển thô. |
Ngôn ngữ | CommonJS / JavaScript | TypeScript (ESM) | Thực thi tính an toàn tại thời gian biên dịch và chuyển sang các tiêu chuẩn mô-đun hiện đại. |
Giao diện người dùng | Pug/EJS (Chế độ xem máy chủ) | Giao diện người dùng ShadCN + Tailwind | Chuyển từ các mẫu cứng nhắc sang một hệ thống thiết kế có thể kết hợp, dễ truy cập và ưu tiên tiện ích. |
Auth | Passport.js | NextAuth | Hiện đại hoá hoạt động quản lý phiên bằng tính năng hỗ trợ tích hợp cho Edge và các nhà cung cấp hiện đại. |
Tính an toàn | Phần mềm trung gian thủ công | Zod (Xác thực nghiêm ngặt) | Triển khai "Nguồn thông tin đáng tin cậy duy nhất" để xác thực dữ liệu trên toàn bộ ngăn xếp. |
Khởi chạy trung tâm hiện đại hoá
Hành động xác định đầu tiên của chúng tôi là sao chép cấu trúc monorepo riêng biệt. Điều này tách mã cũ chỉ đọc khỏi kho lưu trữ mục tiêu mới, đảm bảo không có đột biến ngẫu nhiên nào đối với ứng dụng ban đầu.
Mở cửa sổ dòng lệnh Antigravity rồi chạy các lệnh thiết lập sau:
git clone https://github.com/GoogleCloudPlatform/devrel-demos.git cd devrel-demos/other/modernizing-expressjs
Sau khi sao chép, hãy mở trực tiếp thư mục modernizing-expressjs trong trình khám phá IDE Antigravity. Bạn sẽ thấy bố cục riêng biệt sau:
/modernizing-expressjs/ ├── .agents/ # Skills metadata and checklists │ └── skills/ ├── docs/ # Target directory for reverse-engineered markdown artifacts ├── legacy-app/ # Read-only root of the legacy Express monolith ├── modern-app/ # Greenfield target repository for the Next.js rewrite ├── GEMINI.md # Project-wide agent constitution └── README.md # Companion documentation
Hãy xem video hướng dẫn ngắn này để biết cách chuẩn bị và cô lập môi trường monorepo một cách xác định:
3. Gói kỹ năng và mẫu tác nhân AI cho kiến trúc sư
Việc tạo một Kỹ năng của trợ lý ảo mạnh mẽ khác biệt cơ bản so với việc viết một câu lệnh trò chuyện tiêu chuẩn. Khi tạo một Gói kỹ năng, bạn đang thiết kế một phần mềm dạng mô-đun mà LLM cơ bản sẽ tự động thực thi. Để ngăn tác nhân tạo ra thông tin sai lệch hoặc gặp phải "vấn đề về cửa sổ ngữ cảnh", chúng tôi giới thiệu Gói kỹ năng điều phối Greenfield nguồn mở dưới dạng một mẫu tác giả có thể mở rộng dựa trên hai nguyên tắc không thể thương lượng: tính súc tích và tiết lộ từng bước.
Tiết lộ tiến trình bằng cách sử dụng định tuyến siêu dữ liệu YAML
Thay vì đưa tất cả các quy tắc mục tiêu vào một lời nhắc hệ thống nguyên khối duy nhất, chúng tôi phân phối hướng dẫn trên các thư mục. Mọi thư mục Skill đều chứa một điểm truy cập SKILL.md được bao bọc trong một khối YAML routing frontmatter.
Mở .agents/skills/orchestrating-greenfield-migration/SKILL.md rồi kiểm tra siêu dữ liệu của bộ định tuyến:
---
name: orchestrating-greenfield-migration
description: >
Manages the end-to-end modernization of legacy Express
monoliths into Next.js architectures. Orchestrates subagents
for auditing, scaffolding, and verification. Use when starting
or managing a greenfield rewrite project.
---
Mã hoá cứng mẫu lập kế hoạch và thực thi
Để ngăn tác nhân tự trị đi chệch hướng, bị phân tâm bởi phần mềm trung gian cũ thú vị hoặc cố gắng hoán đổi cơ sở dữ liệu trái phép, chúng tôi sẽ ghi đè quy trình lập kế hoạch mở tiêu chuẩn bằng cách mã hoá cứng mẫu Lập kế hoạch và thực thi trực tiếp vào hướng dẫn.
Kiểm tra danh sách kiểm tra Markdown theo nghĩa đen được nhúng bên trong trình điều phối chính:
### Phase 1: The AI audit (reverse engineering)
Dispatch subagents to produce specifications while identifying project-specific test scenarios.
* [ ] Init `docs/verification/Verification_Plan.md` to create baseline template.
* [ ] Run `auditing-data-models` -> Append Data Integrity Stress-Tests.
* [ ] Run `auditing-api-contracts` -> Append API Parity & Edge Case Probes.
* [ ] Run `auditing-business-logic` -> Append Logic & Authorization Stress-Tests.
* [ ] Run `auditing-ui-archeology` -> Append Interaction & Layout Targets.
Bằng cách định dạng quy trình làm việc dưới dạng danh sách kiểm tra rõ ràng có các tham chiếu kỹ năng nội tuyến, trợ lý sẽ sao chép chính xác lộ trình này vào kế hoạch công việc của mình, khoá lộ trình này ở chế độ "chỉ thực thi" để có thể đánh dấu các ô một cách có hệ thống và gọi các trợ lý con chuyên biệt cao đúng lúc cần thiết.
4. Giai đoạn 1 — Phân tích ngược hệ thống đơn khối cũ (kiểm tra)
Chúng ta đã sẵn sàng kích hoạt chuỗi điều phối chính! Giai đoạn chính đầu tiên của chúng tôi trích xuất các quy tắc nghiệp vụ, giản đồ dữ liệu và tải trọng API từ monolith cũ, lưu trữ chúng dưới dạng các cấu phần phần mềm Markdown rõ ràng trong khi loại bỏ một thập kỷ nợ kỹ thuật bắt buộc.
Kích hoạt trình tự tái cấu trúc tự động
Trong bảng trò chuyện Antigravity Agent Manager, hãy nhập lệnh dấu gạch chéo tuỳ chỉnh sau đây rồi nhấn Enter:
/orchestrating-greenfield-migration
Bây giờ, hãy quan sát bảng điều khiển của thiết bị đầu cuối. Bạn sẽ thấy nhân viên hỗ trợ chính đọc lời nhắc hệ thống, khớp yêu cầu của bạn với siêu dữ liệu của Orchestrator, xuất danh sách kiểm tra gồm 5 giai đoạn và bắt đầu gửi các nhân viên hỗ trợ phụ "Kiểm toán viên" chuyên biệt ngay lập tức.
Hợp đồng hướng dẫn đầu vào/kỹ năng/đầu ra
Trong Giai đoạn 1, tác nhân thực thi một quy trình kỹ thuật đảo ngược nghiêm ngặt, bị ràng buộc bởi hợp đồng hướng dẫn sau:
Đầu vào được sử dụng: Các tệp mã nguồn cũ ở chế độ chỉ đọc nằm trong legacy-app/.
Các kỹ năng được kích hoạt:
Kỹ năng | Nội dung mô tả |
| Theo dõi các tuyến đường cũ để ghi lại chính xác các phong bì phản hồi JSON. |
| Phân tích cấu trúc lược đồ Mongoose để trích xuất các mối quan hệ, trường bắt buộc và giá trị mặc định. |
| Tài liệu về các tác dụng phụ ngầm, quy trình xác thực bằng Passport và các quy tắc về phần mềm trung gian. |
| Quét các mẫu Pug cũ để lập bản đồ "Ý định của giao diện người dùng" cấp cao (thanh điều hướng, biểu mẫu). |
Cấu phần phần mềm được tạo: Thông số kỹ thuật Markdown có cấu trúc cao được tạo trực tiếp vào thư mục docs/
Cấu phần phần mềm | Nội dung mô tả |
| Tài liệu này trình bày chi tiết diện tích API được thiết kế đảo ngược của ứng dụng Express cũ. Sử dụng danh mục này để đảm bảo tính tương đồng tuyệt đối khi tạo lại các tuyến đường trong ứng dụng Next.js hiện đại. |
| Tài liệu này ghi lại các hành vi, cấu hình và quy tắc nghiêm ngặt đã được xác minh của ứng dụng Express cũ liên quan đến việc xác thực (AuthN), uỷ quyền (AuthZ), các phần mềm trung gian toàn cầu, quản lý phiên và các tác dụng phụ. |
| Tài liệu này cung cấp một bản phân tích toàn diện về các giản đồ Mongoose cũ từ |
| Tài liệu này cung cấp thông tin phân tích chi tiết về giao diện người dùng dựa trên Pug cũ trong |
Xem đoạn video ghi lại màn hình thiết bị đầu cuối này để xem quy trình kiểm tra kỹ thuật đảo ngược tự động đang hoạt động:
5. Giai đoạn 2 và 3 – Bộ kiểm thử TDD và giàn giáo phụ trợ greenfield
Sau khi ứng dụng cũ được kiểm tra và ghi lại đầy đủ, trình điều phối chính sẽ chuyển sang giai đoạn tạo khung cho phần phụ trợ mục tiêu hiện đại. Giai đoạn này giới thiệu mẫu thiết kế tác nhân mạnh mẽ nhất trong bộ công cụ của chúng tôi: Reflexion (tự phản ánh) khép kín dựa trên phương pháp Phát triển dựa trên kiểm thử (TDD) nghiêm ngặt.
Tạo mã tự khắc phục bằng vòng lặp Phản xạ
Việc viết mã hiện đại rất đơn giản; việc đảm bảo mã biên dịch hoàn hảo và đáp ứng các ràng buộc xác thực nghiêm ngặt đòi hỏi phải có quy trình đánh giá khép kín. Trình điều phối sẽ tự động xử lý việc này bằng cách chuyển đầu ra kiểm thử trực tiếp trở lại cửa sổ ngữ cảnh của tác nhân phụ:
- Giai đoạn 2 (thiết lập TDD): Trình điều phối gọi tác nhân phụ
generating-api-tests, đọcdocs/API_Contracts.mdvà ghi các bộ kiểm thử tích hợp Vitest toàn diện, khẳng định mã trạng thái HTTP và tải trọng JSON chính xác theo yêu cầu. Như dự kiến trong TDD, ban đầu các kiểm thử này sẽ không thành công. - Giai đoạn 3 (Khung phụ trợ): Các tác nhân phụ tạo khung bắt đầu viết Trình xử lý tuyến đường Next.js hiện đại và các lược đồ xác thực Zod nghiêm ngặt.
- Vòng lặp tự sửa lỗi: Khi bộ kiểm thử Vitest xác định đánh giá mã mới và trả về lỗi (ví dụ: lỗi xác thực
422dự kiến trả về500), tác nhân sẽ không gặp sự cố. Thao tác này phản ánh đầu ra lỗi mục tiêu, mở lại trình xử lý tuyến đường mục tiêu, sửa cấu trúc tải trọng của giản đồ Zod và chạy lại các kiểm thử. Nó tự động lặp lại cho đến khi đạt được mã thoát0.
Hợp đồng hướng dẫn đầu vào/kỹ năng/đầu ra
Đầu vào được sử dụng: Cấu phần phần mềm đặc tả được thiết kế đảo ngược (docs/API_Contracts.md, docs/Data_Models.md).
Các kỹ năng được kích hoạt:
Kỹ năng | Nội dung mô tả |
| Tạo các bộ kiểm thử tích hợp Vitest không thành công. |
| Khởi tạo bố cục cơ bản của Bộ định tuyến ứng dụng Next.js. |
| Định cấu hình môi trường trình chạy kiểm thử Vitest cục bộ. |
| Dịch các mô hình Mongoose cũ sang giản đồ MongoDB + Zod. |
| Tạo lại các tuyến đường Express thành Trình xử lý tuyến đường Next.js và các Route Guard theo mô-đun. |
Kết quả đầu ra: Các bộ Vitest ban đầu không thành công, các giản đồ Zod được nhập đầy đủ, các trình xử lý tuyến đường Next.js có chức năng và các lần thực thi bộ kiểm thử sạch sẽ, thành công.
Quan sát quá trình tự động tạo bộ kiểm thử TDD:
Quan sát quá trình thực thi theo thời gian thực của giàn giáo vòng lặp Tự phản ánh để nhắm đến phần phụ trợ mục tiêu:
6. Giai đoạn 4 – Tạo cấu trúc cho giao diện người dùng hiện đại (các thành phần giao diện người dùng)
Khi lớp xác thực phụ trợ được củng cố hoàn toàn và vượt qua các kiểm thử tích hợp, trình điều phối chính sẽ chuyển đổi ngữ cảnh để hiện đại hoá cách trình bày trực quan. Các mẫu kết xuất phía máy chủ bắt buộc sẽ bị loại bỏ để chuyển sang hệ thống thiết kế thành phần có tính hữu ích cao và ưu tiên khả năng tiếp cận.
Dịch ý định của giao diện người dùng sang các khung hiển thị có thể kết hợp
Thay vì cố gắng dịch CSS từng dòng, tác nhân phụ giao diện người dùng sẽ đọc khoảng không quảng cáo "Ý định về giao diện người dùng" đã trích xuất và ánh xạ trực tiếp các phần tử cấu trúc sang các phần tử tương đương hiện đại có độ trung thực cao.
Hợp đồng hướng dẫn đầu vào/kỹ năng/đầu ra
Đầu vào được sử dụng: Cấu phần phần mềm khoảng không quảng cáo giao diện người dùng được thiết kế lại (docs/UI_Inventory.md).
Các kỹ năng được kích hoạt:
Kỹ năng | Nội dung mô tả |
| Dịch một cấu phần phần mềm |
Sản phẩm đầu ra: Các trang giao diện người dùng Next.js sẵn sàng cho quá trình sản xuất được tạo bằng các thành phần giao diện người dùng ShadCN có khả năng truy cập cao và bố cục tiện ích Tailwind CSS.
Xem quá trình tạo tự động lớp xem giao diện người dùng hiện đại:
7. Giai đoạn 5 – Xác minh và kiểm tra đối chiếu
Quy trình tái cấu trúc của chúng tôi kết thúc bằng một đợt kiểm tra chất lượng nghiêm ngặt. Trình điều phối chính chuyển từ phân tích mã tĩnh sang kiểm thử môi trường thời gian chạy đang hoạt động, chủ động cố gắng phá vỡ ứng dụng mục tiêu mới để chứng minh sự tương đồng tuyệt đối về chức năng với đường cơ sở cũ.
Thực hiện thử nghiệm hai thẻ và kích hoạt trình duyệt
Giai đoạn xác minh tận dụng các chức năng DOM và hình ảnh tích hợp của Antigravity để tự động chứng minh thành công mà không yêu cầu bạn nhấp vào biểu mẫu theo cách thủ công:
- Tính tương đồng song song:
auditing-paritysubagent hướng dẫn trình chạy cục bộ bắt đầu đồng thời cả ứng dụng Express nguyên khối cũ và ứng dụng Next.js hiện đại, xác minh bản trình bày trực quan và việc kết xuất dữ liệu giống hệt nhau. - Thăm dò bảo mật đối thủ: Trình điều phối gọi tác nhân phụ
adversarial-verification, tác nhân này sẽ khởi chạy Tác nhân phụ trình duyệt Antigravity. Tác nhân chuyên biệt này sẽ kích hoạt trực tiếp trình duyệt – nhập vào các đầu vào, gửi biểu mẫu và thăm dò các lỗi bảo mật, cookie phiên bị hỏng hoặc các trường hợp biên chưa được xử lý. - Tạo nhật ký kiểm tra: Trình duyệt phụ tự động ghi lại ảnh chụp màn hình video WebP về các thao tác trong phiên, đính kèm trực tiếp các ảnh chụp màn hình này vào báo cáo di chuyển cuối cùng dưới dạng "bằng chứng công việc" có thể xác minh.
Hợp đồng hướng dẫn đầu vào/kỹ năng/đầu ra
Đầu vào được sử dụng: Cả ứng dụng cũ và ứng dụng hiện đại đều chạy song song trong môi trường thời gian chạy cục bộ.
Các kỹ năng được kích hoạt:
Kỹ năng | Nội dung mô tả |
| Thực hiện các quy trình kiểm tra xác minh song song trong thời gian chạy. |
| Thăm dò các lỗi logic và hồi quy chức năng bằng cách sử dụng cơ chế kích hoạt trình duyệt tự động. |
Kết quả đạt được: Nhật ký kiểm tra toàn diện về tính tương đồng chức năng, kết hợp với video ghi lại phiên trình duyệt để xác nhận hoàn tất thành công.
Quan sát tác nhân phụ tự động của trình duyệt đang tích cực xác minh ứng dụng hiện đại hoá:
8. Mức độ sẵn sàng phát hành công khai sau khi di chuyển và các bước tiếp theo
Xin chúc mừng! Bạn đã điều phối thành công một quy trình tái cấu trúc dựa trên tác nhân tự trị, có độ phức tạp cao để hiện đại hoá một ứng dụng đơn khối cũ từ đầu, học được các kỹ năng phổ quát, có tính chuyển giao cao như tiết lộ từng bước, danh sách kiểm tra Lập kế hoạch và thực thi, cũng như các vòng lặp Tự phản ánh để tự khắc phục.
Chuẩn bị triển khai cho kênh phát hành công khai
Sau khi ứng dụng Next.js của bạn được xác minh và kiểm tra đầy đủ, bạn đã sẵn sàng chuyển sang giai đoạn tích hợp với môi trường phát hành công khai. Hãy cân nhắc thực hiện các bước tiếp theo theo tiêu chuẩn ngành sau đây:
- Định tuyến gia tăng: Triển khai một proxy đảo ngược (ví dụ: Strangler Fig Pattern) để định tuyến lưu lượng truy cập gia tăng từ ứng dụng Express cũ sang mục tiêu hiện đại.
- Bảo toàn SEO: Ánh xạ các tuyến đường Express cũ sang lệnh chuyển hướng vĩnh viễn của Next.js (
_redirects.yaml) để duy trì quyền hạn hiện có của miền. - Truyền phát dữ liệu: Chuyển từ việc gieo hạt cơ sở dữ liệu tĩnh sang truyền phát dữ liệu sản xuất trực tiếp được xác thực an toàn trong thời gian chạy bằng cách sử dụng các lược đồ Zod nghiêm ngặt.
- Khả năng quan sát: Thay thế các tiện ích ghi nhật ký bắt buộc bằng các khung OpenTelemetry có cấu trúc.
Nâng cao kiến thức chuyên môn về hoạt động hiện đại hoá
Để khám phá toàn bộ cơ sở mã cơ bản, hướng dẫn về kỹ năng tuỳ chỉnh và lý do lý thuyết đầy đủ thúc đẩy quy trình này, hãy nhớ đọc toàn bộ bài viết gốc:
Tham gia cộng đồng Agentic Builder
Tôi hy vọng bạn thấy những mẫu tái cấu trúc phổ quát và quy trình dựa trên tác nhân này hữu ích. Hãy theo dõi tôi trên các kênh chuyên nghiệp để nắm bắt thông tin mới nhất về các gói kỹ năng nguồn mở trong tương lai, nội dung kỹ thuật chuyên sâu và các sự kiện diễn thuyết tại hội nghị sắp tới:
- Theo dõi trên LinkedIn: linkedin.com/in/jamesor
- Theo dõi trên X (Twitter): x.com/JamesOR
Cho chúng tôi biết suy nghĩ của bạn
Điều gì khiến bạn thấy thú vị nhất về tính năng điều phối dựa trên tác nhân?
Cảm ơn bạn đã xây dựng bằng Google Antigravity!