CLI Creator: ابزار خط فرمانی که خودش رو گسترش میده
خلاصهٔ کاملتر
تیمهای مهندسی معمولاً برای خودکارسازی کارهای تکراری مثل گزارشگیری، بررسی زیرساخت و چک کردن سلامت سرویسها، ابزارهای CLI داخلی میسازن. مشکل اینه که هر قابلیت جدید باید دستی نوشته، تست و دیپلوی بشه. CLI Creator با رویکرد «meta-tooling» این گلوگاه رو حذف میکنه: ابزاری که میتونه قابلیتهای جدید رو از روی توضیح زبان طبیعی بسازه و بلافاصله در اختیار بذاره.
این سیستم سه تکنولوژی رو کنار هم میذاره: Amazon Bedrock با مدل Claude Opus 4.6 برای تولید کد، Strands Agents SDK (یه فریمورک اوپنسورس پایتون) برای مدیریت ابزارها در زمان اجرا، و Model Context Protocol یا MCP — یه استاندارد باز برای اتصال AI به منابع داده خارجی — برای کشف خودکار سرورهای API مرتبط.
قلب ماجرا اینه که Strands SDK اجازه میده توابع پایتون با دکوراتور @tool در زمان اجرا بارگذاری بشن. هر بار که یه دستور CLI اجرا میشه، برنامه پوشه tools/ رو اسکن میکنه، توابع جدید رو پیدا میکنه و بدون هیچ ریاستارتی به مجموعه ابزارهای agent اضافه میکنه. اتصال به Bedrock هم از طریق کلاس Agent مدیریت میشه:
from strands import Agent
from strands.models import BedrockModel
agent = Agent(
model=BedrockModel(model_id="us.anthropic.claude-opus-4-6-v1"),
tools=[shell_tool, editor_tool] + loaded_tools,
system_prompt="You are a tool creation assistant..."
)برای اینکه کد تولیدشده قابل اعتماد باشه، از کتابخانه Strands AI Functions استفاده میشه. این کتابخانه یه حلقه خودتصحیحگر داره: اگه کد تولیدشده شرطهای از پیش تعریفشده (مثل سینتکس درست پایتون یا وجود دکوراتور @cli.command) رو رعایت نکنه، خطا به مدل برگردونده میشه و تا سه بار تلاش مجدد انجام میده تا کد درست تحویل داده بشه.
فرآیند کشف MCP هم هوشمندانهست: وقتی توصیف CLI کلیدواژههایی مثل «DynamoDB» یا «S3» داشته باشه، سیستم رجیستری MCP رو جستجو میکنه، سرورهای مرتبط رو پیدا میکنه و به کاربر نشون میده تا انتخاب کنه. این کشف کلیدواژه بخشی از همون مدل Pydantic ساختاریافتهست که اطلاعات CLI رو استخراج میکنه، پس هزینه پردازش اضافهای نداره.
چرخه کاری نهایی اینه: CLI اولیه از یه توضیح زبان طبیعی ساخته میشه، بعد از نصب میشه با دستور tool create ابزار جدید اضافه کرد، با tool update تغییر داد، با tool diff تفاوتها رو دید و با tool revert به نسخه قبلی برگشت. همه این تغییرات با git ردیابی میشن تا آزمایش کردن کاملاً امن باشه.
نکات کلیدی:
- meta-tooling یعنی CLI میتونه در زمان اجرا و بدون ریدیپلوی ابزار جدید بسازه
- Strands SDK با اسکن پوشه tools/ در هر اجرا، ابزارهای جدید رو کشف میکنه
- AI Functions با حلقه خودتصحیحگر، کیفیت کد تولیدشده رو تضمین میکنه
- MCP کلیدواژههای سرویس رو شناسایی کرده و سرورهای API مرتبط رو پیشنهاد میده
- تمام تغییرات ابزارها با git ورژنبندی میشن و قابل برگشت هستن
- کد تولیدشده هنوز نیاز به بررسی انسانی قبل از استفاده در محیط پروداکشن داره




