حداقل دانش مورد نیاز برای توسعه نرمافزار با هوش مصنوعی
هوش مصنوعی یک ابزار است. این ابزار جایگزین دانش شما در زمینه معماری و مهندسی نمیشود.
تصمیمگیریهای خود را به هوش مصنوعی واگذار نکنید. شما باید تمام نیازمندیهای عملکردی (functional) و غیرعملکردی (non-functional) را تعریف کنید. در مورد هر جزئیاتی دقیق باشید.
هیچ چیز رایگان نیست. مدلهای رایگان یا ارزانقیمت از مدلهای سطح حرفهای عقب میمانند. برای مهندسی نرمافزار از Opus یا GPT با سطوح استدلال بالا استفاده کنید. مدلهای با کیفیت پایین منجر به بازکاری (rework) بیشتر میشوند. این کار باعث اتلاف وقت شما و بازبینهایتان (reviewers) میشود.
از عاملهای هوش مصنوعی (AI agents) در سیستم محلی خود استفاده کنید. بستر اجرا (harness) اهمیت دارد. برای GPT از Codex و برای Opus از Claude Code استفاده کنید. یک بستر ضعیف، حتی با همان مدل، نتایج ضعیفی تولید میکند.
طرحهای ارزان برای پروژههای آماتور مناسب هستند. پروژههای حرفهای به طرحهایی نیاز دارند که دسترسی به بهترین مدلها و محدودیتهای استفاده بالا را فراهم کنند.
هر پروژه به یک فایل CLAUDE.md یا AGENTS.md نیاز دارد. آن را کوتاه و عینی (objective) نگه دارید. آن را به زبان انگلیسی بنویسید. فقط اطلاعات حیاتی پروژه را در آن بگنجانید.
هرگز بلافاصله شروع به پیادهسازی کد نکنید. این فرآیند را دنبال کنید:
- تحلیل مسئله.
- ایجاد یک برنامه (طرح).
- بازبینی برنامه.
- پیادهسازی کد.
برنامه شما باید شامل معماری، معیارهای پذیرش (acceptance criteria)، تستها و حلقههای بازخورد (feedback loops) باشد.
نسبت به برنامه خود شکاک باشید. قبل از کدنویسی، همه چیز را بازبینی کنید. از هوش مصنوعی بخواهید شکافها را پیدا کند و تصمیمات شما را به چالش بکشد. هوش مصنوعی تنها زمانی باید شکست بخورد که برنامه شما بد باشد.
تفکر انتقادی خود را تقویت کنید. هوش مصنوعی سرعت اجرا را بالا میبرد، اما جایگزین قضاوت یا تصمیمات مهندسی نمیشود.
نقش خود را تغییر دهید. از یک مجری وظایف (task implementer) بودن دست بکشید. مانند یک معمار، مدیر فنی (tech lead) و مالک محصول (product owner) عمل کنید. به کل سیستم فکر کنید.
زمینه (Context) همه چیز است. یک پرامپت کافی نیست. قوانین کسبوکار، معماری، قراردادها (conventions) و محدودیتها را ارائه دهید.
همیشه به صورت خودکار اعتبارسنجی کنید. هر چرخه باید با build، تستها، linterها و تحلیل استاتیک (static analysis) پایان یابد.
کد را صرفاً به این دلیل که کار میکند، نپذیرید. خوانایی، سادگی، امنیت و قابلیت نگهداری (maintainability) را مطالبه کنید.
از مهارتهای خود برای استانداردسازی پرامپتها در شرکت استفاده کنید. این کار کیفیت و معماری را در تمام پروژهها بدون تکرار دستورالعملها حفظ میکند.
اگر برنامهریزی و تست کردن کار زیادی به نظر میرسد، از هوش مصنوعی برای نرمافزار استفاده نکنید. شما کد با کیفیت پایین و بدهی فنی (technical debt) ایجاد خواهید کرد.
مسئولیت با شماست. شما مسئول هر خط کد در محیط عملیاتی (production) هستید. هوش مصنوعی یا ابزارها را مقصر ندانید. شرکت شما از شما انتظار نتیجه دارد.
منبع: https://dev.to/andredarcie/o-minimo-que-voce-precisa-saber-para-desenvolver-software-com-ia-1dc9
