۱. جهتدهی به سفر نوسازیتان
این آزمایشگاه کد جامع، آزمایشگاه همراه کاربردی است که مستقیماً از مقاله عمیق معماری با عنوان «چگونه مدرنیزاسیون را با Antigravity و ارکستراسیون چندعاملی خودکار کنیم» گرفته شده است. در حالی که ما از یک چارچوب کلاسیک Node.js به عنوان ابزار نمایش ملموس خود استفاده میکنیم، الگوهای طراحی اصلی، ساختارهای دایرکتوری و فرآیندهای ارکستراسیون عاملی که در اینجا از آنها پشتیبانی خواهید کرد، کاملاً مستقل از زبان هستند و به طور جهانی برای هر پروژه مدرنیزاسیون قدیمی در مقیاس بزرگ قابل اجرا هستند.
برخلاف دستیارهای کدنویسی استاندارد که صرفاً خطوط یک فایل را به صورت خودکار تکمیل میکنند، یاد خواهید گرفت که چگونه از قابلیتهای عاملمحور Google Antigravity برای هماهنگ کردن تیمهای خودمختار از زیرعاملهای تخصصی هوش مصنوعی استفاده کنید. این عاملها میتوانند به طور مستقل پایگاههای کد قدیمی را مهندسی معکوس کنند، مجموعههای تست دقیقی بنویسند، معماریهای مدرن را چارچوببندی کنند و خطاهای کامپایلر خود را با استفاده از حلقههای Reflexion خود اصلاح کنند، در حالی که شما به عنوان معمار سطح بالا کنترل کامل را حفظ میکنید.
آنچه یاد خواهید گرفت
- ترسیم گردش کار : چگونه وظایف راهاندازی قطعی را به درستی از چالشهای پیچیده بازسازی اکتشافی طبقهبندی و جدا کنیم.
- معماری مهارتها : نحوه ساختاردهی یک بسته مهارتهای عامل توسعهپذیر با استفاده از افشای تدریجی و فراداده مسیریابی YAML.
- هماهنگسازی الگوهای طراحی : چگونه با زنجیرهسازی الگوهای طراحی Router، Plan-and-Execute و Reflexion، ریفکتورینگ در مقیاس بزرگ را هدایت کنیم.
- قراردادهای ورودی/خروجی انعطافناپذیر : چگونه مرزهای ورودی/مهارت/خروجی واضحی را در سراسر مهندسی معکوس چند مرحلهای اعمال کنیم و خطوط لوله داربستی را هدف قرار دهیم.
- تأیید برابری : چگونه از Subagent مرورگر Antigravity برای انجام آزمایش برابری پهلو به پهلو در مرورگر وب Chrome استفاده کنیم.
آنچه خواهید ساخت
شما یک خط لوله بازسازی Greenfield کاملاً خودکار را تنظیم خواهید کرد که نسخه قدیمی و نمادین Express و Mongoose CRUD ("نسخه آزمایشی madhums") را گرفته و به صورت خودکار آن را از ابتدا به یک برنامه Next.js App Router با تایپ دقیق که توسط MongoDB، اعتبارسنجی دقیق Zod و اجزای رابط کاربری ShadCN قابل دسترسی پشتیبانی میشود، بازسازی میکند.
آنچه نیاز دارید
- IDE گوگل آنتیگراویتی (Google Antigravity IDE ) که به صورت محلی نصب شده باشد (در antigravity.google موجود است).
- Node.js (نسخه ۱۸ به بالا) به صورت محلی نصب شده باشد.
- مرورگر کروم برای تأیید خودکار رابط کاربری.
- یک کپی از نسخه نمایشی متنباز modernizing-expressjs به نام monorepo.
۲. محیط نوسازی را آماده کنید
قبل از اینکه اجازه دهیم عوامل خودمختار از یک پایگاه کد قدیمی و قدیمی استفاده کنند، باید یک محیط مونوریپو تمیز و بسیار پایدار ایجاد کنیم. ارائه یک مبنای تمیز به یک دستیار هوش مصنوعی تضمین میکند که کاملاً بر تولید کد مدرن با کیفیت بالا تمرکز کند، نه اینکه توکنها را برای مقابله با آسیبپذیریهای بستههای قدیمی یا عدم تطابق کامپایلر هدر دهد.
نگاشت معماری قدیمی اکسپرس در مقابل نگاشت معماری مدرن Next.js
کامپوننت | پشته قدیمی | جایگزینی مدرن | منطق |
معماری | اکسپرس مونولیت | روتر برنامه Next.js | جداسازی منطق به اجزای سرور برای رندر بهینه و عملکرد اجزای سرور React (RSC). |
منطق داده | خدنگ (ODM) | مونگو دیبی + زود | تعویض قلابهای ضمنی ORM برای طرحهای Zod صریح و ایمن از نظر نوع و عملکرد خام درایور. |
زبان | کامن جیاس / جاوا اسکریپت | تایپاسکریپت (ESM) | تقویت ایمنی در زمان کامپایل و حرکت به سمت استانداردهای ماژول مدرن. |
ظاهر (فرانتاند) | Pug/EJS (نمای سرور) | رابط کاربری ShadCN + Tailwind | تغییر از قالبهای سفت و سخت به یک سیستم طراحی قابل ترکیب، در دسترس و کاربردی. |
نویسنده | پاسپورت.js | بعدینویسنده | مدرنسازی مدیریت جلسه با پشتیبانی داخلی از Edge و ارائهدهندگان معاصر. |
ایمنی | میانافزار دستی | اعتبارسنجی دقیق (Zod) | پیادهسازی یک «منبع واحد حقیقت» برای اعتبارسنجی دادهها در کل پشته. |
راهاندازی اولیه مرکز نوسازی
اولین اقدام قطعی ما، کلون کردن ساختار ایزولهی مونوریپو است. این کار کد قدیمیِ فقط خواندنی را از مخزن هدف جدید و سبز ما جدا میکند و از عدم جهشهای تصادفی در برنامهی اصلی اطمینان حاصل میکند.
ترمینال Antigravity خود را باز کنید و دستورات راهاندازی زیر را اجرا کنید:
git clone https://github.com/GoogleCloudPlatform/devrel-demos.git cd devrel-demos/other/modernizing-expressjs
پس از کلون کردن، پوشه modernizing-expressjs را مستقیماً در کاوشگر Antigravity IDE باز کنید. طرح جداگانه زیر را مشاهده خواهید کرد:
/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
این ویدیوی کوتاه آموزشی را تماشا کنید که نحوه آمادهسازی و ایزوله کردن قطعی محیط مونوریپو را نشان میدهد:
۳. بستهها و الگوهای مهارتها و الگوهای عامل هوش مصنوعی را معماری کنید
نوشتن یک مهارت قوی برای عامل (Agent Skill) اساساً با نوشتن یک پیام چت استاندارد متفاوت است. وقتی شما یک بسته مهارت (Skill Pack) مینویسید، در حال طراحی یک قطعه نرمافزاری ماژولار هستید که یک LLM زیربنایی آن را به صورت خودکار اجرا خواهد کرد. برای جلوگیری از توهم یا تجربه "مالیات پنجره زمینه" توسط عامل، بسته مهارتی متنباز Greenfield Orchestration Skill Pack را به عنوان یک الگوی نوشتن قابل توسعه معرفی میکنیم که توسط دو اصل غیرقابل مذاکره هدایت میشود: مختصر بودن و افشای تدریجی .
افشای تدریجی با استفاده از مسیریابی فراداده YAML
به جای اینکه تمام قوانین هدف را در یک اعلان سیستم یکپارچه قرار دهیم، دستورالعملها را در بین دایرکتوریها توزیع میکنیم. هر دایرکتوری Skill شامل یک نقطه ورودی SKILL.md است که در یک بلوک frontmatter مسیریابی YAML پیچیده شده است.
.agents/skills/orchestrating-greenfield-migration/SKILL.md را باز کنید و فرادادههای روتر را بررسی کنید:
---
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.
---
کدنویسی دقیق الگوی برنامهریزی و اجرا
برای جلوگیری از انحراف یک عامل خودمختار، حواسپرتی ناشی از میانافزارهای قدیمی جالب یا تلاش برای تعویض غیرمجاز پایگاه داده، ما برنامهریزی استاندارد و باز را با کدگذاری مستقیم الگوی برنامهریزی و اجرا در دستورالعملها، لغو میکنیم.
چک لیست Markdown را که در داخل ارکستراتور اصلی تعبیه شده است، بررسی کنید:
### 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.
با قالببندی گردش کار به عنوان یک چک لیست صریح با ارجاعات مهارت درون خطی، عامل این نقشه راه دقیق را در برنامه وظایف خود کپی میکند و آن را در حالت "فقط اجرا" قفل میکند که به طور سیستماتیک موارد مورد نظر را بررسی کرده و دقیقاً در صورت نیاز، زیرعاملهای بسیار تخصصی را فراخوانی میکند.
۴. مرحله ۱ - مهندسی معکوس نسخه یکتکه قدیمی (ممیزی)
ما آمادهایم تا توالی اصلی هماهنگسازی خود را آغاز کنیم! اولین مرحله اصلی ما، استخراج قوانین کسبوکار، طرحهای داده و بارهای API از یکپارچه قدیمی و ذخیره آنها به عنوان مصنوعات Markdown تمیز است، در حالی که یک دهه بدهی فنی ضروری را پشت سر میگذاریم.
توالی بازسازی خودکار را فعال کنید
در پنل چت Antigravity Agent Manager، دستور اسلش سفارشی زیر را تایپ کرده و Enter را بزنید:
/orchestrating-greenfield-migration
حالا، به کنسول ترمینال خود نگاه کنید. خواهید دید که عامل اصلی، اعلان سیستم خود را میخواند، درخواست شما را با فرادادههای Orchestrator مطابقت میدهد، چک لیست ۵ مرحلهای را خروجی میدهد و بلافاصله شروع به اعزام عاملهای فرعی تخصصی "Auditor" به صورت موازی میکند.
قرارداد آموزشی ورودی/مهارت/خروجی
در طول فاز ۱، عامل یک خط لوله مهندسی معکوس دقیق را اجرا میکند که توسط قرارداد آموزشی زیر محدود شده است:
ورودیهای مصرفی : فایلهای کد منبع قدیمیِ فقط خواندنی که در legacy-app/ قرار دارند.
مهارتهای مورد استناد :
مهارت | توضیحات |
| مسیرهای قدیمی را برای مستندسازی دقیق پاکتهای پاسخ JSON ردیابی میکند. |
| طرحوارههای Mongoose را برای استخراج روابط، فیلدهای مورد نیاز و پیشفرضها، تجزیه و تحلیل میکند. |
| عوارض جانبی ضمنی، جریانهای احراز هویت Passport و قوانین میانافزار را مستند میکند. |
| الگوهای قدیمی Pug را اسکن میکند تا «هدف رابط کاربری» سطح بالا (نوارهای ناوبری، فرمها) را نگاشت کند. |
مصنوعات تولید شده : مشخصات Markdown با ساختار بسیار بالا که مستقیماً در docs/ پوشه شما تولید میشوند
مصنوع | توضیحات |
| این سند جزئیات سطح API مهندسی معکوس شدهی برنامهی قدیمی Express را شرح میدهد. از این کاتالوگ برای اطمینان از برابری دقیق هنگام بازسازی مسیرها در برنامهی مدرن Next.js استفاده کنید. |
| این سند، رفتارهای تأیید شده، پیکربندیها و قوانین سختگیرانهی برنامهی قدیمی اکسپرس در مورد احراز هویت (AuthN)، مجوزدهی (AuthZ)، میانافزارهای سراسری، مدیریت نشست و عوارض جانبی را ثبت میکند. |
| این سند، تحلیل جامعی از طرحوارههای قدیمی Mongoose از |
| این سند، تحلیل دقیقی از رابط کاربری قدیمی مبتنی بر Pug در |
این ویدیوی زنده از ترمینال را تماشا کنید که ممیزی مهندسی معکوس خودکار را در عمل نشان میدهد:
۵. فاز ۲ و ۳ - داربست مهار TDD و داربستهای پشتیبان گرینفیلد
با ممیزی و مستندسازی کامل برنامه قدیمی، هماهنگکننده اصلی به سمت چارچوببندی بکاند هدف مدرن پیش میرود. این مرحله قدرتمندترین الگوی طراحی عاملمحور را در مجموعه ابزار ما معرفی میکند: بازتاب حلقه بسته (خودبازتابی) که توسط توسعه مبتنی بر تست (TDD) دقیق هدایت میشود.
اجرای کد خود ترمیم شونده با استفاده از حلقههای Reflexion
نوشتن کد مدرن سرراست است؛ اطمینان از کامپایل کامل و عبور از محدودیتهای اعتبارسنجی سختگیرانه، نیازمند ارزیابی حلقه بسته است. هماهنگکننده این کار را به صورت خودکار با ارسال مستقیم خروجی تست به پنجره زمینه subagent انجام میدهد:
- مرحله ۲ (تنظیم TDD) : هماهنگکننده، زیرعامل
generating-api-testsرا فراخوانی میکند کهdocs/API_Contracts.mdرا میخواند و مجموعههای تست جامع ادغام Vitest را مینویسد که کدهای وضعیت HTTP و بارهای دادهی JSON مورد نیاز را دقیقاً تأیید میکنند. همانطور که در TDD انتظار میرود، این تستها در ابتدا با شکست مواجه میشوند. - مرحله ۳ (داربستبندی بکاند) : زیرعاملهای داربستبندی شروع به نوشتن Route Handlerهای مدرن Next.js و طرحهای اعتبارسنجی دقیق Zod میکنند.
- حلقه خود-تصحیح : هنگامی که Vitest Harness قطعی، کد جدید را ارزیابی میکند و یک خطا برمیگرداند (مثلاً، یک خطای اعتبارسنجی مورد انتظار
422مقدار500را برمیگرداند)، عامل از کار نمیافتد. این عامل به خروجی خطای هدف واکنش نشان میدهد، کنترلکننده مسیر هدف را مجدداً باز میکند، ساختار بار داده طرح Zod را اصلاح میکند و آزمایشها را دوباره اجرا میکند. این عمل به صورت خودکار تکرار میشود تا زمانی که به کد خروج0برسد.
قرارداد آموزشی ورودی/مهارت/خروجی
ورودیهای مصرفشده : مصنوعات مشخصات مهندسی معکوسشده ( docs/API_Contracts.md ، docs/Data_Models.md ).
مهارتهای مورد استناد :
مهارت | توضیحات |
| مجموعههای یکپارچهسازی Vitest ناموفق تولید میکند. |
| طرحبندی پایه Next.js App Router را مقداردهی اولیه میکند. |
| محیط اجرای تست محلی Vitest را پیکربندی میکند. |
| مدلهای قدیمی Mongoose را به طرحهای MongoDB + Zod تبدیل میکند. |
| مسیرهای اکسپرس را در Next.js Route Handlers و Route Guards ماژولار بازسازی میکند. |
خروجیهای تولید شده : مجموعههای Vitest اولیه ناموفق، طرحوارههای Zod کاملاً تایپشده، کنترلکنندههای مسیر Next.js کاربردی، و اجرای مجموعه تستهای تمیز و موفق.
تولید خودکار مهار تست TDD را مشاهده کنید:
اجرای بلادرنگ حلقه خود-اصلاحکننده Reflexion را که بکاند هدف را داربستبندی میکند، مشاهده کنید:
۶. مرحله ۴ - چارچوببندی ظاهر مدرن (اجزای رابط کاربری)
با مقاومسازی کامل لایه اعتبارسنجی بکاند و پشت سر گذاشتن تستهای یکپارچهسازی، هماهنگکننده اصلی، زمینه را برای مدرنسازی نمایش بصری تغییر میدهد. قالبهای رندر شده توسط سرور ضروری به نفع یک سیستم طراحی کامپوننت با دسترسی بالا و اولویتبندی کاربردی کنار گذاشته میشوند.
تبدیل قصد رابط کاربری به نماهای قابل ترکیب
به جای تلاش برای ترجمه خط به خط CSS، زیرعامل frontend فهرست "هدف رابط کاربری" استخراج شده را میخواند و عناصر ساختاری را مستقیماً به معادلهای مدرن با کیفیت بالا نگاشت میکند.
قرارداد آموزشی ورودی/مهارت/خروجی
ورودیهای مصرفشده : مصنوع موجودی فرانتاند مهندسی معکوسشده ( docs/UI_Inventory.md ).
مهارتهای مورد استناد :
مهارت | توضیحات |
| یک شیء |
خروجیهای تولید شده : صفحات frontend آماده برای تولید Next.js که با استفاده از کامپوننتهای رابط کاربری ShadCN با دسترسی بالا و طرحبندیهای ابزار Tailwind CSS ساخته شدهاند.
نسل خودکار لایه نمای frontend مدرنشده را تماشا کنید:
۷. مرحله ۵ - تأیید و حسابرسی خصمانه
خط لوله بازسازی ما با یک بررسی دقیق کیفیت به پایان میرسد. هماهنگکننده اصلی از تحلیل استاتیک کد به آزمایش فعال محیط زمان اجرا منتقل میشود و به طور فعال تلاش میکند تا برنامه هدف جدید را بشکند تا برابری عملکردی مطلق را با خط پایه قدیمی اثبات کند.
اجرای تست دو تب و فعالسازی مرورگر
مرحله تأیید از قابلیتهای بصری و DOM یکپارچه Antigravity برای اثبات موفقیت به صورت خودکار و بدون نیاز به کلیک دستی شما در فرمها استفاده میکند:
- توازن پهلو به پهلو : زیرعاملِ
auditing-parityبه اجراکنندهی محلی دستور میدهد که هم نسخهی قدیمی اکسپرسِ یکپارچه و هم برنامهی مدرنشدهی Next.js را بهطور همزمان اجرا کند و نمایش بصری و رندر دادهها را یکسان تأیید کند. - کاوش امنیتی خصمانه : هماهنگکننده، زیرعامل
adversarial-verificationرا فراخوانی میکند که زیرعامل مرورگر Antigravity را راهاندازی میکند. این عامل تخصصی مستقیماً مرورگر را فعال میکند - ورودیها را تایپ میکند، فرمها را ارسال میکند و رگرسیونهای امنیتی، کوکیهای خراب جلسه یا موارد مرزی مدیریت نشده را کاوش میکند. - تولید رد ممیزی : زیرمجموعه مرورگر به طور خودکار ویدیوهای WebP از فعالیتهای جلسه خود را ضبط میکند و آنها را مستقیماً به گزارش نهایی مهاجرت به عنوان "اثبات کار" قابل تأیید پیوست میکند.
قرارداد آموزشی ورودی/مهارت/خروجی
ورودیهای مصرفی : برنامههای قدیمی و مدرن که در محیطهای زمان اجرای محلی در کنار هم اجرا میشوند.
مهارتهای مورد استناد :
مهارت | توضیحات |
| بررسیهای تأیید صحت را در زمان اجرا به صورت پهلو به پهلو اجرا میکند. |
| کاوشهایی برای یافتن نقصهای منطقی و رگرسیونهای عملکردی با استفاده از فعالسازی خودکار مرورگر. |
خروجیهای تولید شده : یک دنباله حسابرسی جامع از برابری عملکردی همراه با ویدیوهای ضبط شده از جلسات مرورگر که موفقیت کامل را تأیید میکنند.
مشاهده کنید که مرورگر خودکار، به طور فعال برنامهی مدرنشده را تأیید میکند:
۸. آمادگی برای تولید پس از مهاجرت و مراحل بعدی
تبریک! شما با موفقیت یک خط لوله بازسازی عامل بسیار پیشرفته و مستقل را برای مدرنسازی یک سیستم یکپارچه قدیمی از ابتدا تنظیم کردهاید و مهارتهای جهانی و بسیار قابل انتقال مانند افشای تدریجی، چک لیستهای برنامهریزی و اجرا و حلقههای انعکاسی خوددرمان را آموختهاید.
آماده سازی برای استقرار تولید
با تأیید و حسابرسی کامل برنامه Next.js خود، آمادهاید تا به یکپارچهسازی در محیط عملیاتی بپردازید. پیادهسازی این مراحل استاندارد صنعتی بعدی را در نظر بگیرید:
- مسیریابی افزایشی : یک پروکسی معکوس (مثلاً الگوی Strangler Fig ) را برای مسیریابی تدریجی ترافیک از برنامه قدیمی Express به هدف مدرن مستقر کنید.
- حفظ سئو : مسیرهای قدیمی اکسپرس را به ریدایرکتهای دائمی Next.js (
_redirects.yaml) نگاشت کنید تا اعتبار دامنه فعلی حفظ شود. - جریانسازی دادهها : از مرحلهی استقرار پایگاه دادهی ایستا به مرحلهی جریانسازی دادههای عملیاتی زنده که با استفاده از طرحهای دقیق Zod به طور ایمن در زمان اجرا اعتبارسنجی میشوند، منتقل شوید.
- قابلیت مشاهده : ابزارهای گزارشگیری ضروری را با چارچوبهای ساختاریافته OpenTelemetry جایگزین کنید.
تخصص نوسازی خود را عمیقتر کنید
برای بررسی کامل کدهای پایه، دستورالعملهای مهارتهای سفارشی و منطق نظری جامع این خط تولید، حتماً مقاله اصلی را به طور کامل بخوانید:
به انجمن سازنده Agentic بپیوندید
امیدوارم این الگوهای بازسازی جهانی و خطوط لوله عاملدار برایتان ارزشمند بوده باشد. با دنبال کردن من در کانالهای حرفهای، از بستههای مهارت متنباز آینده، محتوای فنی عمیق و سخنرانیهای کنفرانسهای آینده مطلع شوید:
- در لینکدین دنبال کنید : linkedin.com/in/jamesor
- در توییتر (X) دنبال کنید : x.com/JamesOR
نظرت را با ما در میان بگذار
چه چیزی در مورد ارکستراسیون عاملمحور شما را بیشتر هیجانزده میکند؟
از شما بابت ساخت و ساز با Google Antigravity متشکریم!