آموزش Claude حرفه‌ای یعنی گذار از ذهنیت چت‌بات به معماری ایجنتی. اگر هنوز با Claude مانند یک جعبه‌ی گفت‌وگوی ساده رفتار می‌کنید، عملاً از ظرفیت اصلی ابزار استفاده نمی‌کنید. این راهنما تصمیم‌های معماری، الگوهای پرامپت XML و استراتژی‌های مدیریت بافت (Context) را در پروژه‌های چندفایلی واقعی پوشش می‌دهد.

Agentic Loop چیست و چرا Claude Code چت‌بات نیست#

Agentic Loop حلقه‌ی تصمیم‌گیری خودکار در Claude Code است که در آن مدل بدون دخالت مستقیم کاربر، فایل‌ها را می‌خواند، دستور ترمینال اجرا می‌کند و خروجی را بازبینی می‌کند تا تکلیف را کامل کند.

تفاوت بنیادی اینجاست: چت‌بات یک ورودی می‌گیرد و یک خروجی می‌دهد. ایجنت یک هدف می‌گیرد و خودش تصمیم می‌گیرد چه ابزارهایی را به‌ترتیب چه‌طور فراخوانی کند. Claude Code دقیقاً در دسته‌ی دوم قرار دارد.

تفاوت ساختاری ایجنت با چت‌بات — مدل تصمیم‌گیرنده در برابر مدل پاسخ‌دهنده#

در چت‌بات، کاربر هر بار تصمیم می‌گیرد چه بپرسد. در ایجنت، مدل خودش تصمیم می‌گیرد چه‌کاری انجام دهد. این تفاوت، استراتژی پرامپت‌نویسی را کاملاً تغییر می‌دهد. دیگر لازم نیست دقیقاً بگویید «این فایل را بخوان و این را بنویس»؛ کافی است هدف را مشخص کنید و Claude Code خودش مسیر را پیدا می‌کند.

مستندات Anthropic این الگو را Tool Use می‌نامد: مدل به مجموعه‌ای از ابزارها (خواندن فایل، نوشتن فایل، اجرای shell) دسترسی دارد و در هر گام انتخاب می‌کند کدام ابزار را با چه ورودی‌ای فراخوانی کند.

اجزای حلقه: خواندن فایل، اجرای دستور، بازبینی خروجی، تکرار#

هر دور از Agentic Loop چهار مرحله دارد:

  1. خواندن فایل‌ها یا اجرای دستور برای جمع‌آوری اطلاعات
  2. تجزیه‌ی وضعیت فعلی و تصمیم‌گیری درباره‌ی گام بعد
  3. اجرای عمل (ویرایش فایل، اجرای تست، نصب پکیج)
  4. بازبینی خروجی و تکرار حلقه تا رسیدن به تکلیف کامل

این الگو در پروژه‌های واقعی دیده شده که Claude Code مثلاً ابتدا package.json را می‌خواند، سپس تست‌ها را اجرا می‌کند، خطا را تحلیل می‌کند و فایل مربوطه را اصلاح می‌کند — همه در یک حلقه‌ی خودکار.

محدودیت‌های Agentic Loop — چه زمانی باید انسان در حلقه باشد (Human-in-the-loop)#

ایجنت در تکالیف مشخص‌شده عالی عمل می‌کند. اما در تصمیم‌های معماری، تغییرات امنیتی حساس و حذف داده‌ها، حضور انسان ضروری است. الگوی تکرارشونده در پروژه‌های کامیونیتی این است: Claude Code را برای بازسازی (Refactoring) و نوشتن تست آزاد بگذارید، اما برای حذف فایل یا تغییر Schema دیتابیس، تأیید انسانی الزامی کنید.

نصب و پیکربندی اولیه Claude Code در ترمینال#

Claude Code به‌صورت یک ابزار خط فرمان (CLI) نصب می‌شود، به پروژه‌ی Git متصل است و در ترمینال اجرا می‌گردد؛ پیش‌نیاز اصلی، دسترسی به API Anthropic یا اشتراک فعال است.

پیش‌نیازها — Node.js، Git و کلید API#

Node.js نسخه‌ی 18 به بالا، Git نصب‌شده و یک کلید API از صفحه‌ی Console در Anthropic سه پیش‌نیاز اصلی‌اند. اگر اشتراک Claude Pro دارید، می‌توانید مستقیماً از طریق احراز هویت مرورگر متصل شوید.

مراحل نصب و اجرای اولین تکلیف#

نصب با یک دستور npm انجام می‌شود. پس از نصب، در پوشه‌ی پروژه‌ی خود دستور claude را اجرا کنید. اولین تکلیف را ساده انتخاب کنید: «فایل README.md را بخوان و خلاصه‌ای از ساختار پروژه بنویس». این کار هم نصب را تأیید می‌کند و هم رفتار حلقه را می‌بینید.

تنظیمات اولیه و اتصال به مخزن پروژه#

فایل CLAUDE.md در ریشه‌ی پروژه، دستورالعمل‌های سیستمی را برای ایجنت تعریف می‌کند. در این فایل بنویسید: قوانین کدنویسی پروژه، ساختار پوشه‌ها، دستورات تست و هر قاعده‌ای که ایجنت باید رعایت کند. این فایل در هر گام از حلقه به‌عنوان زمینه‌ی ثابت به مدل ارسال می‌شود.

پرامپت‌نویسی XML برای کدنویسی با Claude#

پرامپت‌نویسی XML (XML Prompting) استفاده از تگ‌های ساختاریافته برای تفکیک بخش‌های پرامپت است؛ مستندات Anthropic این الگو را برای مدل‌های Claude توصیه می‌کند چون معماری توکنایزر آن با ساختار سلسله‌مراتبی XML سازگارتر است.

ساختارهای نورانی شبیه به برچسب‌های XML که یک نقشه‌ی معماری انتزاعی را تشکیل می‌دهند
نمادین‌سازی ساختاردهی دستورالعمل‌ها به صورت بصری

ساختار تگ‌های XML در پرامپت — چرا و چگونه#

وقتی پرامپت شما چند بخش دارد (زمینه، دستور، خروجی مورد انتظار، محدودیت‌ها)، تگ‌های XML مثل ، و مرزهای هر بخش را مشخص می‌کنند. مدل در توکنایز کردن این ساختار بهتر عمل می‌کند چون تگ‌ها به‌عنوان جداکننده‌ی معنایی شناخته می‌شوند، نه صرفاً متن.

الگوی تکرارشونده در پروژه‌های واقعی: هر بخش پرامپت در یک تگ جدا، با نام‌گذاری معنادار. مثلاً برای کد، برای خطای تست، برای نتیجه‌ی مطلوب.

الگوی پرامپت سیستمی برای توسعه‌دهنده (System Prompt)#

در پرامپت سیستمی، نقش و قواعد را در تگ‌های مجزا تعریف کنید:

  • — توسعه‌دهنده‌ی ارشد TypeScript با تخصص در Next.js
  • — هرگز از any استفاده نکن، همیشه type export کن
  • — ابتدا کامنت توضیحی، سپس کد نهایی

این ساختار باعث می‌شود مدل در تکالیف چندفایلی، قواعد را فراموش نکند.

تکنیک Chain-of-Thought پنهان — درخواست کامنت توضیحی قبل از کد نهایی#

Chain-of-Thought (زنجیره‌ی تفکر) در Claude با درخواست یک کامنت توضیحی قبل از کد فعال می‌شود. در پرامپت بنویسید: «قبل از نوشتن کد، در یک کامنت چندخطی توضیح بده چه رویکردی داری و چرا». این کار دقت خروجی را در تکالیف پیچیده‌ی الگوریتمی محسوس بالا می‌برد.

مدیریت Context در پروژه‌های بزرگ: استراتژی‌ها و اشتباهات#

مدیریت بافت (Context Management) در پروژه‌های بزرگ یعنی انتخاب هوشمندانه‌ی آنچه به مدل ارسال می‌شود؛ پنجره‌ی بافت بزرگ (Large Context Window) فرصت است نه مجوز برای ارسال هرچیزی.

RAG سمت کلاینت — خلاصه‌سازی و بازیابی فایل‌های مرتبط قبل از ارسال#

Retrieval-Augmented Generation (RAG) در این بافت یعنی: قبل از ارسال به مدل، خودتان فایل‌های مرتبط را پیدا و خلاصه کنید. مثلاً اگر تکلیف مربوط به یک API است، فقط فایل‌های router، controller و types مربوطه را بفرستید، نه کل کدبیس را.

الگوی عملی: در CLAUDE.md بنویسید «برای هر تکلیف، ابتدا فایل‌های مرتبط را با ls و grep پیدا کن، سپس فقط آن‌ها را بخوان». این دستور، ایجنت را وادار به فیلتر کردن می‌کند.

الگوی ارسال تدریجی (Iterative Context Building)#

به‌جای ارسال همه‌چیز در یک پرامپت، در چند گام اطلاعات بدهید. گام اول: هدف و ساختار کلی. گام دوم: فایل‌های مربوط به گام اول. گام سوم: بازخورد و اصلاح. این الگو هزینه‌ی توکن ورودی را کاهش می‌دهد و دقت را بالا می‌برد.

اشتباه رایج: ارسال کل کدبیس بدون فیلتر — هزینه و کاهش دقت#

مشاهده‌ی مکرر در پروژه‌ها: توسعه‌دهنده‌ها کل کدبیس را به‌عنوان context می‌فرستند چون «پنجره بزرگ است، چرا استفاده نکنم؟». نتیجه: هزینه‌ی توکن بالا می‌رود، مدل در بین صدها فایل نامرتبط گم می‌شود و دقت خروجی افت می‌کند. فیلتر کردن، همیشه بهتر از ارسال خام است.

کدام مدل Claude را برای چه تکلیفی انتخاب کنیم؟#

سه مدل اصلی Claude (Haiku، Sonnet، Opus) هرکدام نقش مشخصی در گردش کاری دارند؛ انتخاب ثابت یک مدل برای همه‌ی تکالیف، هم هزینه را بالا می‌برد و هم سرعت را کم.

مدلنقش در گردش کاریسرعتهزینه‌ی نسبی
Claude Haikuخلاصه‌سازی، پاسخ‌های سریع، فیلتر اولیهسریع‌ترینپایین‌ترین
Claude Sonnetکدنویسی، بازسازی، نوشتن تستمتوسطمتوسط
Claude Opusاستدلال پیچیده، طراحی معماری، دیباگ عمیقآهسته‌ترینبالاترین

Haiku برای تکالیف سریع و سبک#

وقتی فقط به یک خلاصه، یک تبدیل فرمت یا یک پاسخ کوتاه نیاز دارید، Haiku کافی است. هزینه‌ی توکن خروجی‌اش پایین‌تر است و زمان پاسخ کوتاه‌تر.

Sonnet برای کدنویسی و بازسازی (Refactoring)#

Sonnet نقطه‌ی تعادل است. در تکالیف کدنویسی روزمره — نوشتن کامپوننت، اصلاح باگ، نوشتن تست — کیفیت و سرعت مناسبی دارد. Claude Code معمولاً از مدل‌های سری Sonnet به‌عنوان پیش‌فرض برای تعادل هزینه و عملکرد استفاده می‌کند.

Opus برای استدلال پیچیده و معماری#

وقتی مسئله نیاز به تفکر چندلایه دارد — مثلاً طراحی Schema دیتابیس برای یک سیستم پیچیده یا تحلیل یک باگ نادر در چند فایل — Opus بهتر عمل می‌کند. اما برای هر تکلیفی آن را صدا نزنید؛ هزینه‌اش محسوس بیشتر است.

تحلیل هزینه-فایده در یک گردش کاری واقعی#

در یک پروژه‌ی Next.js واقعی: Haiku برای خلاصه‌سازی لاگ‌ها، Sonnet برای نوشتن کد و تست، و Opus فقط برای بازنگری معماری در انتهای اسپرینت. این ترکیب، هزینه‌ی کل را بدون افت کیفیت کاهش می‌دهد.

Claude Code در برابر GitHub Copilot: مقایسه‌ی عملی#

GitHub Copilot در IDE به‌صورت تکمیل خودکار (Autocomplete) عمل می‌کند، در حالی‌که Claude Code یک ایجنت کامل ترمینالی است که فایل‌ها را می‌خواند، دستور اجرا می‌کند و چند مرحله‌ای کار می‌کند؛ این دو ابزار مکمل‌اند نه جایگزین.

تفاوت معماری — تکمیل خطی در برابر حلقه‌ی ایجنتی#

Copilot یک خط کد را پیش‌بینی می‌کند. Claude Code یک تکلیف کامل را از شروع تا پایان انجام می‌دهد. اگر نیازتان «تکمیل این تابع» است، Copilot سریع‌تر است. اگر نیازتان «این ماژول را بنویس، تستش کن و مطمئن شو پاس می‌شود» است، Claude Code ابزار درست‌تر است.

کدام برای چه نوع پروژه‌ای مناسب‌تر است؟#

پروژه‌های کوچک با تکلیف‌های جزئی: Copilot کافی است. پروژه‌های چندفایلی با نیاز به تغییرات همزمان در فایل‌های مختلف: Claude Code برتری محسوس دارد. پروژه‌هایی که نیاز به اجرای تست و اصلاح خودکار دارند: فقط Claude Code این حلقه را دارد.

ادغام در VS Code و JetBrains — افزونه‌ها و محدودیت‌ها#

افزونه‌ی رسمی Anthropic در VS Code، رابط چت را داخل IDE می‌آورد. اما Claude Code ذاتاً ترمینالی است؛ برای استفاده‌ی کامل، در ترمینال یکپارچه‌ی VS Code یا یک ترمینال جدا اجرا می‌شود. JetBrains نیز افزونه‌ی Claude.ai دارد، اما قابلیت ایجنتی کامل در آن محدودتر است.

اشتباهات رایج در استفاده از Claude برای کدنویسی و راه‌حل‌ها#

پنج اشتباه تکرارشونده در پروژه‌های واقعی: پرامپت کوتاه بدون زمینه، تکیه‌ی کورکورانه بر خروجی، ارسال کدبیس بدون استراتژی، مقایسه‌ی ناعادلانه مدل‌ها و نادیده‌گرفتن Rate Limit.

پرامپت‌های بدون زمینه در پروژه‌های چندفایلی — نتیجه: کد ناسازگار#

اگر بگویید «یک API بنویس» بدون ذکر فریمورک، ساختار پوشه‌ها و قراردادهای پروژه، خروجی با کد موجود سازگار نخواهد بود. راه‌حل: همیشه در پرامپت یا CLAUDE.md، حداقل نام فریمورک، نسخه و یک نمونه‌ی کد موجود از پروژه بدهید.

حذف Human-in-the-loop در بخش‌های امنیتی حساس#

مشاهده‌ی مکرر در کامیونیتی: توسعه‌دهنده‌ها کد احراز هویت یا رمزنگاری تولیدشده با Claude را بدون بازبینی به‌کار می‌برند. راه‌حل: در پرامپت سیستمی الزام کنید که مدل الگوهای آسیب‌پذیر (SQL Injection، XSS) را توضیح دهد و چرا استفاده نکرده. ابزارهای تحلیل استاتیک (SAST) را روی خروجی اجرا کنید.

نادیده‌گرفتن محدودیت نرخ درخواست (Rate Limit) در مقایسه‌ها#

وقتی دو مدل را مقایسه می‌کنید، اگر Rate Limit را در نظر نگیرید، نتیجه‌ی مقایسه گمراه‌کننده است. یک مدل ممکن است کندتر به‌نظر برسد نه به‌خاطر کیفیت، بلکه به‌خاطر throttling. همیشه در پرامپت مقایسه‌ای، یکسان‌سازی شرایط ورودی را انجام دهید.

کاهش Hallucination در تولید کد — بازبینی، تست و ارجاع به اسناد رسمی#

Hallucination (توهم مدل) در کدنویسی یعنی نوشتن API‌ای که وجود ندارد یا فراخوانی متدی که در نسخه‌ی فعلی حذف شده. سه لایه‌ی دفاع: بازبینی انسانی، اجرای تست در همان حلقه، و در پرامپت بنویسید «فقط از متدهایی استفاده کن که در مستندات رسمی نسخه‌ی X وجود دارند».

جمع‌بندی عملی: Claude Code یک ایجنت است، نه چت‌بات. اگر معماری پرامپت، استراتژی Context و انتخاب مدل را بر همین پایه بازطراحی کنید، خروجی‌اش در پروژه‌های چندفایلی قابل‌مقایسه با یک هم‌تیمی ارشد می‌شود. اگر می‌خواهید این الگوها را با راهنمایی عملی و پروژه‌ی واقعی تمرین کنید، در کامیونیتی پرداختی Claude در اسکول، دوره‌ی «آموزش جامع Claude و ابزارهای مشابه» دقیقاً همین مسیر را پوشش می‌دهد.