docs/
Outline
---
title: کار کشیدن از مدلهای کوچیک زیر نظر یه مدل بزرگ
slug: small-models-brief
lang: fa
published: 2026-11-02
words: 519
lines: 71
size: 4.3 KB
read: 3 min read
reel: باهوشترین مدلت نباید حتی یه خط کد بنویسه
---
وسط کار limit تموم میشد و هرچی context پرتر میشد مدل بدتر جواب میداد. راهحل مدل بهتر نبود، مدیریت بود. مدل گرون دیگه تایپ نمیکنه. برنامه میریزه، کارو خرد میکنه، به مدلهای کوچیک brief میده و خروجیشون رو چک میکنه.
همین سایت همینجوری ساخته شده. اینجا روشش رو نوشتم، با چیزایی که وسط کار خراب شد.
چیدمان
- مدل اصلی: برنامه میریزه، تصمیم میگیره، review میکنه و commit میزنه. فقط چیزی که لازم داره رو میخونه.
- مدلهای کوچیک: هرکدوم یه کار. اگه فایلهاشون جدا باشه همزمان کار میکنن و هرکدوم یه گزارش کوتاه میدن.
context مدل اصلی تمیز میمونه، چون خوندن فایلها و آزمون و خطا توی session مدلهای کوچیک اتفاق میافته.
قانون ۱: تیکههای کوچیک
کار گنده مدل کوچیک رو گیج میکنه. کارو بر اساس فایل خرد کن تا دو تا agent هیچوقت یه فایل رو ادیت نکنن:
agent 1 src/features/posts/**
agent 2 src/features/documents/**
agent 3 src/features/hero/** src/styles/sky/**
اگه کاری به کار دیگه وابستهست، پشت سر هم اجراشون کن. توی این سایت اول لایهی دیتای فرانت تنهایی اجرا شد و صفحهها بعد از پاس شدنش شروع شدن.
قانون ۲: briefی که هیچ تصمیمی رو باز نذاره
اگه یه انتخاب رو باز بذاری، مدل کوچیک ساز خودشو میزنه. همهی تصمیمها قبل از شروع توی brief میان. من از این فرم استفاده میکنم:
Job: one sentence.
If anything is impossible or unforeseen, stop and report. Do not choose.
Rules: branch, no commit, what not to touch.
Write only: exact file paths.
Do:
1. Exact names, values and text, in order.
2. ...
Checks, all must pass:
- exact commands
Report: files changed, the real last line of each check, what you stopped on.
مهمترین بخش همون «stop and report» هست. بدونش agent بیصدا یه چیزی انتخاب میکنه و تو بعداً میفهمی.
قانون ۳: مدل اصلی همهچی رو چک میکنه
این همونیه که همه جا میندازن، بعد اشتباه مدل کوچیک صاف میره تو کدت. به «همهی چکها پاس شد» اعتماد نکن. دوباره اجراشون کن، diff رو بخون و نتیجهی واقعی رو ببین. چیزایی که توی همین سایت گرفته شد:
- یه agent همهی چکهاش پاس بود، ولی همهی صفحههای عمومی
no-storeجواب میدادن و CDN نمیتونست cacheشون کنه. فقطcurlروی headerهای واقعی نشونش داد. - ردیفهای داکیومنت روی موبایل ۱۱ پیکسل بیرون میزدن. lint و type اینو نمیبینن، ولی چک scroll width توی مرورگر میبینه.
- یه تست مرورگر روی صفحهی اصلی fail شد و agent به محیط شک داشت. دلیل واقعی این بود که sitemap موقع
next buildدیتا میگرفت و لیست خالی رو cache میکرد.
curl -sI https://example.com/en | grep -i cache-control
توی Claude Code
subagentها میتونن روی مدل ارزونتر اجرا بشن. قانون رو بذار توی CLAUDE.md تا هر session رعایتش کنه:
The main model plans, writes the briefs, reviews and commits.
Hands-on work goes to small model subagents, one job per agent.
The main model makes every decision before it writes the brief.
The main model reviews every result before it commits.
هزینهش وقتیه که اول کار واسه نوشتن یه brief دقیق میذاری. این همون کاریه که یه lead خوب واسه تیمش میکنه.
| وسط کار limit تموم میشد و هرچی context پرتر میشد مدل بدتر جواب میداد. راهحل مدل بهتر نبود، مدیریت بود. مدل گرون دیگه تایپ نمیکنه. برنامه میریزه، کارو خرد میکنه، به مدلهای کوچیک brief میده و خروجیشون رو چک میکنه. |
| همین سایت همینجوری ساخته شده. اینجا روشش رو نوشتم، با چیزایی که وسط کار خراب شد. |
| ## چیدمان |
| - **مدل اصلی:** برنامه میریزه، تصمیم میگیره، review میکنه و commit میزنه. فقط چیزی که لازم داره رو میخونه. |
| - **مدلهای کوچیک:** هرکدوم یه کار. اگه فایلهاشون جدا باشه همزمان کار میکنن و هرکدوم یه گزارش کوتاه میدن. |
| context مدل اصلی تمیز میمونه، چون خوندن فایلها و آزمون و خطا توی session مدلهای کوچیک اتفاق میافته. |
| ## قانون ۱: تیکههای کوچیک |
| کار گنده مدل کوچیک رو گیج میکنه. کارو بر اساس فایل خرد کن تا دو تا agent هیچوقت یه فایل رو ادیت نکنن: |
| ```text |
| agent 1 src/features/posts/** |
| agent 2 src/features/documents/** |
| agent 3 src/features/hero/** src/styles/sky/** |
| ``` |
| اگه کاری به کار دیگه وابستهست، پشت سر هم اجراشون کن. توی این سایت اول لایهی دیتای فرانت تنهایی اجرا شد و صفحهها بعد از پاس شدنش شروع شدن. |
| ## قانون ۲: briefی که هیچ تصمیمی رو باز نذاره |
| اگه یه انتخاب رو باز بذاری، مدل کوچیک ساز خودشو میزنه. همهی تصمیمها قبل از شروع توی brief میان. من از این فرم استفاده میکنم: |
| ```markdown |
| Job: one sentence. |
| If anything is impossible or unforeseen, stop and report. Do not choose. |
| Rules: branch, no commit, what not to touch. |
| Write only: exact file paths. |
| Do: |
| 1. Exact names, values and text, in order. |
| 2. ... |
| Checks, all must pass: |
| - exact commands |
| Report: files changed, the real last line of each check, what you stopped on. |
| ``` |
| مهمترین بخش همون «stop and report» هست. بدونش agent بیصدا یه چیزی انتخاب میکنه و تو بعداً میفهمی. |
| ## قانون ۳: مدل اصلی همهچی رو چک میکنه |
| این همونیه که همه جا میندازن، بعد اشتباه مدل کوچیک صاف میره تو کدت. به «همهی چکها پاس شد» اعتماد نکن. دوباره اجراشون کن، diff رو بخون و نتیجهی واقعی رو ببین. چیزایی که توی همین سایت گرفته شد: |
| - یه agent همهی چکهاش پاس بود، ولی همهی صفحههای عمومی `no-store` جواب میدادن و CDN نمیتونست cacheشون کنه. فقط `curl` روی headerهای واقعی نشونش داد. |
| - ردیفهای داکیومنت روی موبایل ۱۱ پیکسل بیرون میزدن. lint و type اینو نمیبینن، ولی چک scroll width توی مرورگر میبینه. |
| - یه تست مرورگر روی صفحهی اصلی fail شد و agent به محیط شک داشت. دلیل واقعی این بود که sitemap موقع `next build` دیتا میگرفت و لیست خالی رو cache میکرد. |
| ```bash |
| curl -sI https://example.com/en | grep -i cache-control |
| ``` |
| ## توی Claude Code |
| subagentها میتونن روی مدل ارزونتر اجرا بشن. قانون رو بذار توی `CLAUDE.md` تا هر session رعایتش کنه: |
| ```markdown |
| The main model plans, writes the briefs, reviews and commits. |
| Hands-on work goes to small model subagents, one job per agent. |
| The main model makes every decision before it writes the brief. |
| The main model reviews every result before it commits. |
| ``` |
| هزینهش وقتیه که اول کار واسه نوشتن یه brief دقیق میذاری. این همون کاریه که یه lead خوب واسه تیمش میکنه. |





