در سالهای اخیر، با افزایش پذیرش کدنویسی مبتنی بر عامل (Agentic coding)، معیار موفقیت در تیمهای توسعه به شدت به سمت حجم خروجی، یعنی تعداد خطوط کد (Lines of code) تولید شده، متمایل شد. اما تجربه نشان میدهد که این معیار، برخلاف تصور، نشاندهنده ارزش واقعی نیست. صنعت در حال گذار از این نگاه سطحی به سمت رویکردهای پیچیدهتر و پایدارتر است.
چالش «سوپر-اجنتها» و مالیات تأییدیه
بسیاری از سازمانها در تلاش هستند تا یک «سوپر-اجنت» (Super agent) بسازند؛ عاملی که تمام چرخه حیات توسعه نرمافزار (SDLC) را از خواندن تیکت تا ارسال کد به تولید بر عهده بگیرد. با این حال، این رویکرد ریسکهای بزرگی را به همراه دارد. تمرکز تمام فرآیندها در یک نقطه، باعث میشود که هرگونه خطا، تمام سیستم را مختل کند. علاوه بر این، استفاده از هوش مصنوعی بدون نظارت دقیق، منجر به پدیدهای به نام «مالیات تأییدیه» (Verification tax) میشود؛ جایی که زمان صرفهجویی شده در کدنویسی، صرف هزینههای سنگینتر در مراحل بازبینی (Review) و اعتبارسنجی (Validation) میشود و پایداری سیستم را کاهش میدهد.
معماری میکرو-اجنتها: الگوهای جدید توسعه
تیمهای پیشرو در حال حرکت به سمت الگویی کاملاً متفاوت هستند که از مفاهیم میکروسرویسها (Microservices) الهام گرفته شده است. به جای یک عامل قدرتمند و متمرکز، آنها از زنجیرهای از «میکرو-اجنتها» (Micro-agents) استفاده میکنند که هر کدام وظیفهای بسیار محدود و مشخص دارند، از جمله:
- تبدیل تیکت به Issue: خواندن درخواستهای تجاری و تبدیل آنها به مسائل فنی دقیق در GitHub.
- سازماندهی Sprint: تخمین، گروهبندی و اولویتبندی وظایف.
- کدنویسی تخصصی: تولید کد برای یک بخش مشخص.
- مدیریت Pull Request: ادغام کدها و حل تداخلها.
- تست سیستم: اجرای تستهای خودکار و اعتبارسنجی.
در این معماری، هر عامل مستقل عمل میکند. این استقلال باعث میشود که اگر یک عامل دچار خطا شود، «شعاع آسیب» (Blast radius) محدود باقی بماند و کل فرآیند توسعه متوقف نشود.
مزایای استراتژیک برای سازمانها
استفاده از میکرو-اجنتها به جای مدلهای متمرکز، چندین مزیت کلیدی برای مدیران امنیت و توسعه فراهم میکند:
- کاهش شعاع آسیب (Blast radius): خطای یک عامل در سازماندهی Sprint، نمیتواند منجر به ارسال کد مخرب به محیط تولید شود.
- یکپارچگی با سیستمهای موجود: این عاملها نیازی به داشبوردهای جدید ندارند و مستقیماً روی ابزارهای فعلی مانند Jira و GitHub کار میکنند، که باعث حفظ حضور انسان در چرخه (Human-in-the-loop) میشود.
- قابلیت مشاهده (Observability) و جایگزینی آسان: میتوان یک مدل هوش مصنوعی را در یک عامل خاص بهروز کرد یا آن را با مدل بهتری جایگزین کرد، بدون اینکه نیاز به بازنگری در کل سیستم باشد.
در نهایت، هدف اصلی نباید افزایش حجم کد باشد، بلکه باید افزایش نرخ عبور (Throughput) و حفظ پایداری (Stability) در فرآیند تحویل نرمافزار باشد.