تصور کنید ابزاری ساختهاید که قرار است توسط یک مدل هوش مصنوعی استفاده شود، اما هنوز آن را مانند نرمافزارهای دهه گذشته با ارسال یک لینک یا مخزن کد به اشتراک میگذارید. اگر هنوز از روشهای سنتی برای توزیع ابزارهای خود استفاده میکنید، احتمالاً بخشی از بازدهی عاملهای هوشمند را از دست میدهید.
طبق یک چارچوب عملیاتی که در ۱۶ اوت ۲۰۲۶ منتشر شد، مکانیزم تحویل ابزارها باید بر اساس این واقعیت تغییر کند که گیرنده یک برنامهنویس انسان است یا یک عامل (Agent). این مدل بر اساس پیادهسازیهای واقعی با استفاده از SQLite، vLLM و Cloudflare Tunnel تدوین شده است.
سالها بود که اشتراکگذاری نرمافزار مسیری خطی از اسکریپتهای محلی به APIهای ابری داشت. اما ظهور هوش مصنوعی محلی (Local-first AI)، مرز بین سختافزار شخصی و سرورهای حرفهای را 없 کرد. اکنون میتوانید یک کامپیوتر گیمینگ با کارت گرافیک RTX 5090 یا حتی یک کرومبوک را بدون نیاز به IP استاتیک به یک میزبان تولیدی تبدیل کنید. سرویس Cloudflare Tunnel این سرورهای شخصی را در دسترس قرار میدهد؛ یعنی سرور دیگر نیازی به حضور در مرکز داده ندارد و فقط باید روشن بماند. این موضوع اقتصاد میزبانی را تغییر میدهد: بهجای پرداخت هزینه به ارائهدهندگان ابری، شما هزینه قبض برق خود را میپردازید.
همانطور که در تحلیلهای قبلی ما دربارهی زیرساختهای مدلهای بازمتن اشاره کردیم، مدیریت دسترسی به سختافزار اکنون به اندازه خودِ مدل اهمیت یافته است. پیش از انتخاب روش تحویل، باید تشخیص دهید چه چیزی را به اشتراک میگذارید. بر اساس مستندات این چارچوب، سه نوع مصنوع اصلی وجود دارد که هر کدام پروفایل ریسک متفاوتی دارند:
- کد قطعی (Deterministic code): نمونههایی مانند یک نقطه اتصال FastAPI، یک ابزار CLI یا یک اسکریپت GAS. اینها برای ورودی یکسان، خروجی یکسان میدهند. ریسک اصلی در اینجا باگهای نرمافزاری است که میتوان آنها را با خواندن کد تأیید کرد. در این راستا، ترکیب تحلیل ایستا و مدلهای زبانی رویکردی پیشرفته برای شناسایی دقیقتر این باگهای منطقی در کدهای قطعی ارائه میدهد.
- عامل هوش مصنوعی (AI Agent): نمونههایی مانند یک نشست Nemotron CLI، یک مهارت Claude Code یا یک جریان کاری متصل به MCP. اینها هر بار خروجی متفاوتی تولید میکنند. ریسک در اینجا رفتار غیرقابلپیشبینی است که نمیتوان آن را کاملاً تأیید کرد، بلکه فقط میتوان آن را محدود کرد. مدل Gatekeeper در Cloudflare OS دقیقاً برای مهار این ریسک طراحی شده است.
- پایگاهداده (+ نمایشگر): نمونههایی مانند یک مجموعه داده بزرگ SQLite، یک گوگل شیت یا فضای کاری Notion. اینها دارای وضعیت (Stateful) و تغییرپذیر هستند. ریسک اصلی نشت دادهها و از دست رفتن یکپارچگی است. در اینجا نمایشگر (داشبورد یا UI) و دادهها از نظر منطقی جدا هستند اما در عمل جدانشدنیاند.
این تغییر، یک تصمیم طراحی بنیادی را پیش روی ما میگذارد: چه کسی ابزار را یکپارچه میکند؟ در مدلهای سنتی، انسان فایل README را میخواند و کد رابط (Glue Code) را مینویسد. در مدل جدید «یکپارچگی عاملمحور»، یک عامل — شبیه به دستیاری که دستورالعملها را میخواند و سریعاً ابزار را به سیستم وصل میکند — طرحواره (Schema) را میخواند و ابزار را در لحظه یکپارچه میکند. این تمایز، یک تصمیم طراحی جدید و تعیینکننده در پشتهی مدرن توسعه است.
طیف سبک: اشتراکگذاری انسانمحور
برای گیرندههای فنی، سبکترین روشها شامل انتقال مستقیم کد است. در این حالت فرض بر این است که گیرنده توانایی فنی لازم برای یکپارچهسازی را دارد و خودش مدیریت آن را بر عهده میگیرد. این بخش از طیف، سریعتر راهاندازی میشود و به زیرساخت کمتری نیاز دارد.
اشتراکگذاری کتابخانه از طریق GitHub (که اغلب با استفاده از مخازن خصوصی سازمانها انجام میشود) به توسعهدهندگان اجازه میدهد کدهای بستهبندی شده را وارد کنند. هنگام ساخت ابزارهای کاربردی — مانند یک Wrapper برای SQLite FTS5، یک بارگذار پیکربندی TOML یا یک ماژول بررسی سلامت Cloudflare Tunnel — نویسنده کد را در یک مخزن گیتهاب قرار میدهد تا همکارش آن را کلون کند. برای بهینه کردن این مسیر، پیشنهاد میشود از Claude برای تقطیر (Distillation) کد استفاده کنید: یعنی حذف دادههای تست (Test Fixtures)، ادغام ماژولهای بیش از حد مفصل و حذف اطلاعات حساس (Credentials) پیش از افزودن یک README حداقلی. گیرنده با اجرای git pull کد را بهروز میکند؛ به این معنا که مالکیت نزد نویسنده میماند، اما بهروزرسانیها صریح و توسط کاربر انجام میشود، نه بهصورت خودکار (Over-the-air).
ابزارهای CLI و اسکریپتها مسیر کماصطکاک دیگری هستند. برای مثال، یک اسکریپت ۲۰۰ خطی پایتون با تنها یک وابستگی (httpx) میتواند یک چت استریمینگ کامل و ناهمگام (Async) با سرور vLLM فراهم کند که شامل تاریخچه گفتگو، بارگذاری فایل و سفارشیسازی System Prompt باشد. پوشه .claude/skills/ در Claude Code گونهای از این روش است؛ مهارتها در واقع پوشههایی حاوی اسکریپتها، دادهها و دستورالعملهایی هستند که Claude آنها را کشف میکند. اشتراکگذاری یک پوشه مهارت از طریق گیتهاب، در واقع اشتراکگذاری یک جعبهابزار CLI است که یک عامل هوش مصنوعی آن را مدیریت میکند.
موازنه در اینجا مشکل «روی سیستم من کار میکند» است؛ زیرا گیرنده باید نسخههای پایتون، سیستمعامل و درایورهای GPU خود را مدیریت کند. پس از تحویل، گیرنده مالک اسکریپت است و هیچ کانال بهروزرسانی وجود ندارد مگر اینکه دستی از مخزن کد را دریافت کند. این دقیقاً نقطه مقابل یک API است که در آن ارائهدهنده کنترل را در دست دارد. Blueprints در Cloudflare OS الگوی مشابهی دارند: گیرنده یک کپی از کد را فورک میکند، اما تا اوت ۲۰۲۶، هیچ مکانیزم نسخهبندی یا Changelog برای بازگرداندن بهروزرسانیها به آن فورک وجود ندارد. هیچیک از این روشها مشکل بهروزرسانیهای خودکار برای کدهای مشترک که روی ماشینهای خارجی اجرا میشوند را حل نکردهاند.
برای کسانی که بازتولید دقیق محیط را میخواهند، ایمیجهای کانتینری از طریق Docker ابزار را همراه با تمام کتابخانههای سیستم، نسخههای خاص پایتون و CUDA Toolkit بستهبندی میکنند. این کار اصطکاک محیطی را از بین میبرد و جایگاهی بین یک کتابخانه و یک WebUI دارد. گیرنده ایمیج را میگیرد و با docker run اجرا میکند تا مطمئن شود محیط دقیقاً مشابه محیط نویسنده است. با این حال، این روش لایهای از غیرمستقیم بودن را اضافه میکند که عیبیابی را دشوار میکند، زیرا کاربر در سیستمفایل کانتینر کار میکند نه سیستم خود. همچنین ایمیجها، بهویژه با وابستگیهای یادگیری ماشین، میتوانند بسیار حجیم شوند.
طیف سنگین: رابطهای کاربر و عامل
وقتی گیرنده غیرفنی است، تحویل باید به سمت اپلیکیشنهای WebUI برود. توسعهدهندگان میتوانند با استفاده از FastAPI، Jinja2 و جاوااسکریپت ساده در پشت یک Cloudflare Tunnel، اپلیکیشنهای PWA بسازند. برای مثال، اپلیکیشن Recycle Paperless یک PWA برای بهینهسازی مسیرهای لجستیک بازیافت است. رانندگان از آن روی گوشیهای خود برای وارد کردن دادههای جمعآوری استفاده میکنند، در حالی که یک داشبورد مدیریتی پیشرفت کار را بهصورت لحظهای نشان میدهد. رانندگان اصلاً نمیدانند بکاند این سیستم، FastAPI و SQLite WAL است که روی یک کرومبوک اجرا میشود. در اینجا اشتراکگذاری تبدیل به «تجربه کاربری» میشود؛ تلاش مهندسی در این روش چندین برابر بیشتر از یک API است، زیرا توسعهدهنده باید نمایشگرهای موبایل، وضعیتهای بارگذاری (Loading states) و قطعیهای شبکه را مدیریت کند.
یکپارچگی مبتنی بر API حد وسط است. با باز کردن نقاط اتصال HTTP از طریق FastAPI روی یک VPS (اوبونتو)، ابزارها برای هر کسی که URL داشته باشد در دسترس هستند. نمونههای عملی این روش عبارتند از:
- HoureiLLM: جستوجوی معنایی در ۲۴۱,۸۷۹ مقاله از ۸,۹۲۸ قانون ژاپن را فراهم میکند.
- PatentLLM: جستوجوی FTS5 روی مجموعه دادههای پتنت ایالات متحده را ارائه میدهد.
- Nemotron-9B: یک سرور استنتاج است که در آن vLLM یک API سازگار با OpenAI را روی پورت ۸۰۰۰ باز میکند.
از آنجایی که فراخواننده فقط نیاز به ارسال پرسوجو و دریافت JSON دارد، نیازی به نصب پایتون یا SQLite ندارد. ارائهدهنده میتواند مدل یا سختافزار را بهطور مخفیانه تغییر دهد. این روش بهطور پیشفرض «Over-the-air» است که برای کاهش اصطکاک یک نقطه قوت، اما برای تغییرات ساختاری (Breaking changes) یک ریسک است. برخلاف MCP، یک API نیاز دارد که انسانی مستندات را بخواند و یک کلاینت بنویسد.
مرز جدید: سرورهای MCP
مهمترین افزونه در این پشته، سرور MCP (پروتکل زمینه مدل) است. در حالی که API نیاز به کلاینت انسانی دارد، سرور MCP به عاملهای AI اجازه میدهد ابزارها را بهطور خودکار کشف و فراخوانی کنند. این نشاندهنده تغییری است که در آن موضوع یکپارچهسازی، دیگر انسان نیست بلکه هوش مصنوعی است.
- سازوکار: هوش مصنوعی طرحواره (Schema) ابزار را میخواند و بدون دخالت انسان فراخوانیها را اجرا میکند. سرور MCP مدیریت کشف ابزار، احراز هویت و اجرا را بر عهده دارد. این یعنی افزودن یک مصرفکننده جدید، هزینه انسانی صفر دارد.
- مثال: اتصال Notion یا Google Drive به Claude از طریق MCP اجازه میدهد عامل بهطور خودکار وضعیت پروژهها را بهروز کند یا فایلها را بیابد. اگر HoureiLLM یک رابط MCP داشت، کاربر میتوانست از Claude Code بخواهد «قوانین مربوط به حقوق مستأجران را پیدا کن» و نتایج را دریافت کند، بدون اینکه بداند اصلاً API ای وجود دارد.
- موازنه: شما انتخاب ابزار را به AI میسپارید. عیبیابی دیگر از طریق ردیابی درخواستهای HTTP نیست، بلکه باید لاگهای فراخوانی ابزار (Tool-call logs) را بررسی کنید و نمیتوانید همیشه مسیری را که عامل طی میکند پیشبینی کنید.
مدیریت وضعیت و همکاری
زیربنای تمام این روشها، پایگاهداده مشترک است. پایگاهداده به عنوان منبع واحد حقیقت (Single Source of Truth) عمل میکند و سایر ابزارها صرفاً نماهایی (Views) از آن هستند.
جزئیات پیادهسازی پایگاهداده:
- SQLite: در PatentLLM استفاده شده و از طریق API، رابط جستوجو یا Claude Code (از طریق Tailscale SSH) در دسترس است. SQLite با حالت WAL (Write-Ahead Logging) همزمانی خواندن متوسط را مدیریت میکند، هرچند تداخل در نوشتن نیاز به نظم دارد. زنجیره وابستگی این است: دیسک VPS $ \rightarrow $ Tailscale SSH یا FastAPI $ \rightarrow $ مصرفکننده.
- Google Sheets: برای دادههای سبکتر از طریق Clasp و اسکریپتهای GAS استفاده میشود. این یک شبه-پایگاهداده ایجاد میکند که ذینفعان غیرفنی میتوانند آن را بهروز کنند. زنجیره وابستگی: GDrive $ \rightarrow $ Clasp/GAS $ \rightarrow $ مصرفکننده.
- Notion: برای دادههای ساختاریافته پروژه استفاده میشود که توسط انسانها از طریق UI و توسط Claude از طریق MCP دسترسی پیدا میکند. زنجیره وابستگی: Notion API $ \rightarrow $ MCP $ \rightarrow $ Claude / Notion UI $ \rightarrow $ انسان.
علاوه بر مصنوعات نهایی، تیمها گاهی خودِ فضای کاری را به اشتراک میگذارند. با استفاده از Tailscale SSH، چندین توسعهدهنده میتوانند روی یک سرور VPS واحد با استفاده از vim کد بزنند و از طریق شاخههای git هماهنگ شوند. این یک فرآیند همکاری است، نه یک مکانیزم تحویل. این روش با Gadgetهای چندنفره در Cloudflare OS متفاوت است که از Durable Objects برای همکاری لحظهای در یک محیط Sandbox استفاده میکنند، یا با بررسیهای async مبتنی بر PR در گیتهاب متفاوت است. Tailscale SSH یک محیط کامل یونیکس فراهم میکند، در حالی که Durable Objects همگامسازی لحظهای را داخل یک محیط ایزوله فراهم میکنند.
نقشه وابستگیهای زیرساختی
هر روش تحویل به ترکیبی از خدمات وابسته است:
- GitHub: ذخیرهسازی کد و کنترل نسخه. این سرویس تغذیه کننده اشتراکگذاری کتابخانه (Clone/Fork)، ابزارهای CLI (اجرای محلی) و کانتینرها (ذخیره Dockerfile) است.
- Claude Code: موتور توسعه AI است. برای تقطیر کتابخانهها، مدیریت مهارتهای CLI در
.claude/skills/و کشف سرورهای MCP استفاده میشود. - Cloudflare: مدیریت لایه شبکه. تونلها سرویسهای FastAPI را برای APIها، اپلیکیشنهای مرورگر را برای WebUIها باز میکنند و مسیر دسترسی به پایگاهدادههای SQLite روی VPS را فراهم میکنند.
- Google Workspace: مدیریت دادههای مشارکتی. شیتها به عنوان پایگاهداده عمل میکنند، GDrive از طریق MCP متصل میشود و Clasp اتوماسیون اسکریپتهای GAS را ممکن میسازد.
- Notion: ذخیره دادههای ساختاریافته پروژه که از طریق UI برای انسانها و MCP برای Claude در دسترس است.
- Tailscale: ایمنسازی دسترسی به زیرساخت. این سرویس فضای کاری مشترک (SSH به VPS)، دسترسی مستقیم به SQLite و نگهداری کلی سیستم (systemctl, vim) را ممکن میکند.
خلاصه موازنه روشهای تحویل
| وضعیت شما | بهترین روش | آنچه به اشتراک میگذارید |
|---|---|---|
| ابزار کاربردی برای برنامهنویس | ① کتابخانه (GitHub) | کد قطعی |
| سرویسی که دیگران پرسوجو میکنند | ② API (Cloudflare Tunnel) | کد + پایگاهداده |
| تعامل کاربر غیرفنی | ③ WebUI (Tunnel) | کد + پایگاهداده + تجربه کاربری |
| چندین ابزار به دادههای یکسان نیاز دارند | ④ پایگاهداده مشترک | داده (+ نمایشگر) |
| ابزار سریع برای گیرنده فنی | ⑤ CLI/اسکریپت | کد یا عامل |
| عاملهای AI نیاز به فراخوانی ابزار شما دارند | ⑥ سرور MCP | کد، بستهبندی شده برای AI |
| وابستگیهای پیچیده/نیاز به بازتولید دقیق | ⑦ کانتینر | کد + محیط اجرا |
| توسعه مشترک روی کار ناتمام | Tailscale SSH + git | فضای کاری (نه یک مصنوع) |
این طبقهبندی نشان میدهد که «بهترین» روش در واقع ترکیبی از اینهاست. یک توسعهدهنده مستقل ممکن است فقط به کتابخانهها و اسکریپتها نیاز داشته باشد، در حالی که یک تیم سازمانی به ترکیبی از WebUIها برای ذینفعان و سرورهای MCP برای جریانهای کاری عاملمحور نیاز دارد. برای سازمانهایی با انطباقهای سختگیرانه، مدل Gatekeeper در Cloudflare OS ضروری است. این مدل یک لایه مهارکننده برای عاملهای AI که با دادههای مشترک تعامل دارند فراهم میکند و ریسک رفتارهای غیرقابلپیشبینی عاملها در محیطهای تولیدی را کاهش میدهد.
همانطور که مرز بین کامپیوترهای شخصی و سرورها راهبهراه میشود، تمرکز از «کجا بودن کد» به «چگونه کشف و استفاده شدن آن توسط مصرفکننده (انسان یا AI)» تغییر میکند. کانال یکپارچه با AI (روش ⑥) رنگ جدیدی در پالت توسعه است که معنای «اشتراکگذاری» را تغییر میدهد.
گام بعدی شما
- اگر ابزاری برای همکاران فنی دارید، ابتدا با تقطیر کد توسط Claude و اشتراکگذاری در GitHub شروع کنید.
- برای تبدیل ابزارهای داخلی به سرویسهای قابل کشف توسط AI، پیادهسازی یک سرور MCP را جایگزین APIهای سنتی کنید.
- برای کاهش هزینههای ابری، امکان میزبانی ابزارهای سبک روی سختافزار شخصی با Cloudflare Tunnel را بررسی کنید.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو