می‌خواهید هوش مصنوعی به‌صورت موازی کار کند؟ ابتدا به هر کدام فضای کاری (workspace) اختصاصی بدهید

اجرای چندین عامل هوش مصنوعی (AI agent) روی یک پروژه کار دشواری است.

اگر به چندین عامل دسترسی به یک پوشه مشابه بدهید، آن‌ها فایل‌های شما را بازنویسی می‌کنند. آن‌ها وضعیت پروژه شما را به هم می‌ریزند و در نهایت با یک آشفتگی تمام‌شده روبرو می‌شوید.

شما به جداسازی (isolation) نیاز دارید.

دو راه برای استفاده موازی از هوش مصنوعی وجود دارد:

  • وظایف فقط خواندنی (Read-only): یک عامل لاگ‌ها را می‌خواند در حالی که دیگری مستندات را مطالعه می‌کند. آن‌ها می‌توانند از یک فضای کاری مشترک استفاده کنند.
  • وظایف نوشتنی (Write): چندین عامل کد را ویرایش می‌کنند. آن‌ها باید فضاهای کاری مجزا داشته باشند.

من برای حل این مشکل از کپی‌های جداگانه پوشه‌ها (folder clones) استفاده کردم. اما به دلیل کمبود فضای دیسک شکست خورد. پروژه‌های بزرگ با وابستگی‌های (dependencies) زیاد، چندین گیگابایت فضا اشغال می‌کنند. کپی کردن مکرر آن‌ها باعث هدر رفتن فضای ذخیره‌سازی می‌شود.

من به git worktree روی آوردم.

git worktree به شما اجازه می‌دهد چندین دایرکتوری کاری برای یک مخزن (repository) داشته باشید. همه آن‌ها از یک تاریخچه .git مشترک استفاده می‌کنند. این کار باعث صرفه‌جویی در فضای دیسک و منظم ماندن پروژه می‌شود.

روش استفاده از آن با هوش مصنوعی به این صورت است:

  1. موازی‌سازی زیر-عامل (Subagent parallelism): به هوش مصنوعی بگویید وظایف را به‌صورت موازی اجرا کند. او می‌تواند به‌طور خودکار worktree مخصوص به خود را ایجاد کند.

  2. موازی‌سازی دستی (Manual parallelism): اگر خودتان چندین ترمینال هوش مصنوعی باز کنید، هوش مصنوعی از وجود بقیه مطلع نیست. باید به او بگویید: "یک هوش مصنوعی دیگر در حال ویرایش این دایرکتوری است. در حالت worktree کار کن."

گردش کار (workflow) شامل این مراحل است:

  • تقسیم وظایف به بخش‌های مستقل.
  • اختصاص هر بخش به یک worktree منحصربه‌فرد.
  • استفاده از یک عامل اصلی (lead agent) برای ادغام (merge) تغییرات در شاخه اصلی (main branch) به صورت یکی یکی.
  • بررسی کد پس از هر ادغام.
  • حذف worktree پس از اتمام کار.

پاکسازی بسیار حیاتی است. worktreeهای فراموش‌شده فضای دیسک شما را می‌بلعند. من قانونی به دستورالعمل‌های هوش مصنوعی خود اضافه کردم: قبل از حذف یک worktree بررسی کنید که تمام کامیت‌ها (commits) در شاخه اصلی قرار گرفته باشند. این کار از از دست رفتن کار جلوگیری می‌کند.

از worktree برای وظایف بسیار کوچک استفاده نکنید. اگر فقط یک فایل را تغییر می‌دهید، در همان فضای کاری قبلی بمانید. از worktree برای ویژگی‌های (features) پیچیده استفاده کنید.

یک قانون همیشه ثابت است: هرگز مستقیماً روی شاخه اصلی (trunk) کار نکنید. همیشه از یک شاخه (branch) جدید شروع کنید. این کار کد اصلی شما را تمیز و ایمن نگه می‌دارد.

git worktree ابزاری قدیمی است، اما برای گردش‌های کاری موازی هوش مصنوعی، راهکاری بی‌نقص است.

آیا می‌خواهید بدانید چرا هوش مصنوعی مانع از آن نمی‌شود که در پایان روز احساس خستگی کنیم؟ در بخش نظرات به من بگویید.

Source: https://dev.to/kanfu-panda/want-ai-to-work-in-parallel-first-give-each-one-its-own-workspace-40ch

Optional learning community: https://t.me/GyaanSetuAi