تصور کنید برنامهنویسی هستید که عاملی را مستقر میکند که فراتر از اجرای دستورات، کد خودش را برای حل مشکلات تکرارشونده تکامل میدهد. این قابلیت از طریق OpenSpace ممکن شده است؛ چارچوبی برای جریانهای کاری عاملمحور که به مدلهایی مانند Claude 3.5 Sonnet اجازه میدهد مهارتهای عملیاتی را ثبت، نسخهبندی و مجدداً استفاده کنند تا دیگر نیازی به تکرار گامهای استدلالی گرانقیمت از نقطه صفر نباشد.
این رویکرد در حالی معرفی میشود که صنعت با «اتلاف توکن» و هزینههای بالای استدلالهای پیچیده و تکراری دستوپنجه نرم میکند. بیشتر عاملهای فعلی یا حالت بدون-وضعیت (Stateless) دارند یا برای یادآوری نحوه انجام یک وظیفه به پنجرههای زمینه (Context Window) بسیار بزرگ متکی هستند. OpenSpace با تبدیل قابلیتها به داراییهای مجزا و نسخهبندیشده، پارادایم عاملها را از پرامپتهای زودگذر به یک کتابخانه دائمی و تکاملیافته از توابع تغییر میدهد.
مکانیسم تکامل مهارتها
طبق راهنمای فنی Marktechpost، هسته این سیستم یک موتور مهارت (Skill-engine) است که قابلیتها را در یک پایگاهداده SQLite ذخیره و تداوم میبخشد. وقتی یک عامل وظیفهای را با موفقیت به پایان میرساند، سیستم اجرای آن را تحلیل کرده و منطق آن را بهعنوان یک «مهارت قابل بازیافت» ثبت یا Capture میکند.
این مهارتها به سه دسته اصلی تقسیم میشوند:
- FIX: نسخههای پایدار، اصلاحشده و نهایی از یک قابلیت.
- DERIVED: مهارتهای جدیدی که بر پایه و اساس مهارتهای موجود ساخته شدهاند.
- CAPTURED: رفتارهای خام و موفقی که مستقیماً از یک اجرای زنده ضبط شدهاند.
این انتخاب معماری اجازه میدهد سیستم «متادیتای تبار» (Lineage Metadata) را حفظ کند. با بررسی پایگاهداده تکامل در بخش Showcase، توسعهدهندگان میتوانند دقیقاً ببینند یک رفتار خام چگونه طی زمان پالایش شده و به یک مهارت پایدار تبدیل شده است. این سازوکار باعث میشود رفتارهای عامل در طول زمان ارزانتر و قابل بازیافتتر شوند. سیستم بهطور صریح منشأ این مهارتهای تکاملیافته را ردیابی میکند تا شفافیت کامل در مورد تبدیل یک ضبط ساده به یک استاندارد ثابت (Fixed Standard) برقرار باشد.
پیادهسازی جریان کاری OpenSpace
برای راهاندازی محیط، داشتن پایتون ۳.۱۲ به بالا و یک کلون ناقص (Sparse Clone) از مخزن گیتهاب OpenSpace ضروری است. به دلیل حجم بالای مخزن، از متد Sparse Checkout استفاده میشود؛ بهطور خاص، کلون کردن با فلگ --filter=blob:none و حذف پوشه /assets/ برای بهینهسازی فرآیند نصب.
توسعهدهندگان سیستم را در «حالت قابل ویرایش» (Editable Mode) با دستور pip install -e پیکربندی میکنند. سیستم از طریق کلیدهای API به ارائهدهندگان LLM برای مدلهایی مانند anthropic/claude-sonnet-4-5 متصل میشود. مدیریت محیط از طریق متغیرهای فضای کاری (Workspace Variables) خاصی انجام میشود:
OPENSPACE_MODEL: تعیین مدل فعال (به عنوان مثال "anthropic/claude-sonnet-4-5").OPENSPACE_WORKSPACE: تعیین دایرکتوری برای دادههای زمان اجرا (مثلاً/content/openspace_workspace).OPENSPACE_HOST_SKILL_DIRS: اشاره به کتابخانه مهارتهای میزبان عامل (مثلاً/content/my_agent_skills).
یک مثال عینی در آموزشها مربوط به وظیفه پردازش حقوق و دستمزد (Payroll) است. ابتدا، عامل یک تابع پایتون مینویسد تا ساعات کاری کارکنان را از یک فایل CSV تجزیه کرده و اضافهکاری (۱.۵ برابر برای ساعات بیش از ۴۰ ساعت) را محاسبه کند. OpenSpace به جای فراموش کردن این منطق، آن را در فایل openspace.db در دایرکتوری مخفی .openspace ذخیره میکند.
وقتی یک وظیفه دوم و مرتبط میرسد — مثلاً افزودن یک فایل CSV دوم شامل نرخهای کسر مالیات برای هر کارمند جهت محاسبه خالص دریافتی — عامل یک «بازیافت گرم وظیفه» (Warm-task Reuse) انجام میدهد. در این مرحله، عامل به جای طراحی مجدد منطق از ابتدا، مهارت تکاملیافته قبلی در مورد حقوق و دستمزد را فراخوانی میکند که نشاندهنده تکامل بهینه قابلیتهاست.
جزئیات فنی استقرار
برای تضمین پایداری در محیطهایی مانند گوگل کولب (Google Colab)، این چارچوب از ماژولهای پایتون و استراتژیهای استقرار خاصی استفاده میکند:
- الزامات زمان اجرا: سیستم بررسی میکند که
sys.version_info >= (3, 12)باشد. اگر محیط قدیمی باشد، کاربر برای تغییر نوع Runtime یا استفاده از یک venv جایگزین py312 هدایت میشود. - زنجیره وابستگی: نصب
nest_asyncioبرای مدیریت حلقههای نامتقارن (Asynchronous Loops) و تأیید ابارهای خط فرمان شاملopenspace-mcpوopenspace-dashboardاز طریقshutil.whichدر این مرحله قرار دارد. - ذخیرهسازی پایگاهداده: دادههای زمان اجرا در پایگاهداده SQLite در مسیر
WORKSPACE/.openspace/openspace.dbذخیره میشوند. این بانک اطلاعاتی برای ردیابی رجیستری، انواع مهارتها و تاریخچه قابلیتهای تکاملیافته به کار میرود. - یکپارچگی API: جریان کاری از
ANTHROPIC_API_KEY،OPENAI_API_KEYوOPENSPACE_CLOUD_KEYبرای مدیریت دسترسی به مدلها و اشتراکگذاری مهارتهای ابری پشتیبانی میکند.
مهارتهای سفارشی و استاندارد SKILL.md
شما میتوانید قابلیتها را بهصورت دستی با استفاده از یک فایل SKILL.md تزریق کنید. این فایل از یک فرانتمتر (Frontmatter) شبیه YAML برای تعریف نام مهارت و شرح مفصلی برای عامل استفاده میکند. به عنوان مثال، یک مهارت سفارشی colab-csv-report را میتوان با دستورات زیر تعریف کرد:
- اکشن (Action): تبدیل هر فایل CSV به یک گزارش کوتاه در قالب markdown.
- الزامات (Requirements): ارائه آمارهای خلاصه، تعداد مقادیر تهی (null counts) و انواع دادهها (dtypes).
- محدودیتها (Constraints): استفاده از کتابخانه pandas؛ هرگز نمودار نکش؛ دقیقاً ۳ مشاهده کلیدی ارائه بده.
- مدیریت خطا (Error Handling): اگر تجزیه (parsing) شکست خورد، با استفاده از
sep=None, engine="python"و بازگشت بهon_bad_lines="skip"دوباره تلاش کن.
این استانداردسازی باعث میشود مهارتها در زمان اجرا توسط عامل قابل کشف و شناسایی باشند. برای تقویت سطح پایه عامل، توسعهدهندگان میتوانند مهارتهای میزبان OpenSpace مانند delegate-task و skill-discovery را با کپی کردن آنها از دایرکتوری host_skills مخزن به پوشه مهارتهای محلی عامل، نصب کنند.
یکپارچگی MCP و توزیع
برای اینکه این مهارتها برای سایر عاملها نیز قابل دسترس باشند، OpenSpace از پروتکل زمینه مدل (Model Context Protocol یا MCP) استفاده میکند. با اجرای یک سرور MCP با پروتکل streamable-HTTP روی یک پورت محلی (مثلاً ۸۰۸۱) از طریق دستور openspace-mcp --transport streamable-http --host 127.0.0.1 --port 8081 ، فضای کاری OpenSpace به یک ارائهدهنده ابزار برای عاملهای خارجی تبدیل میشود.
برای تأیید اتصال، میتوان یک درخواست HTTP GET ساده به اندپوینت /mcp ارسال کرد. حتی اگر یک درخواست GET ساده کد خطای خاص MCP را برگرداند، باز هم تأیید میکند که سرور فعال است. برای ارکستراسیون خارجی، از یک پیکربندی JSON برای تعریف سرور استفاده میشود که شامل toolTimeout ۶۰۰ ثانیهای و متغیرهای محیطی لازم مانند OPENSPACE_WORKSPACE و OPENSPACE_HOST_SKILL_DIRS است.
سیستم همچنین از یکپارچگی جامعه ابری پشتیبانی میکند. اگر کاربر یک OPENSPACE_CLOUD_KEY (یا OPENSPACE_API_KEY) ارائه دهد، میتواند مهارتهای سفارشی تکاملیافته خود را در یک مخزن مشترک آپلود کند و به این ترتیب یک اکوسیستم مشارکتی از قابلیتهای عامل ایجاد نماید.
تحلیل: تغییر به سمت حافظه عاملی
این معماری فرض بنیادین مبنی بر اینکه عاملها باید در هر پرامپت یک «همهفنحریف» (Generalist) باشند را تغییر میدهد. با پیادهسازی متادیتای تبار — ردیابی اینکه یک مهارت از کجا آمده و چگونه تغییر کرده است — OpenSpace نوعی «حافظه رویهای بلندمدت» ایجاد میکند.
برای توسعهدهنده عملیاتی، این به معنای کاهش شدید هزینههای استنتاج (Inference) است. به جای صرف ۲۰۰۰ توکن برای توضیح مجدد نحوه پردازش یک فرمت خاص از CSV شرکتی، عامل تنها چند ده توکن صرف میکند تا یک مهارت از پیش تأیید شده را فراخوانی کند. این امر عامل را از یک مشاور موقت به یک دارایی شرکتی در حال رشد تبدیل میکند.
با بهرهگیری از اجرای نامتقارن (از طریق asyncio و nest_asyncio در محیطهایی مانند کولب)، OpenSpace میتواند رجیستریهای پیچیده مهارت و تعاریف نوع را بهصورت برنامهریزیشده مدیریت کند. این امر امکان بازرسی SkillRegistry و بارگذاری پویا (Dynamic Loading) قابلیتها بر اساس نیازهای پرامپت را فراهم میکند. کاربران میتوانند بهصورت برنامهنویسیشده پایگاهداده را Dump کنند تا جداول، ستونها و چندین ردیف اول رکوردها را برای اطمینان از ردیابی صحیح تبار بررسی کنند.
برای شروع پیادهسازی، میتوانید مخزن OpenSpace را در گیتهاب بررسی کرده و یکپارچگی سرور MCP را با ابزارهای ارکستراسیون LLM محلی خود آزمایش کنید.
گام بعدی شما
- مخزن OpenSpace را در گیتهاب بررسی کرده و ساختار
SKILL.mdرا برای وظایف تکراری خود تعریف کنید. - سرور MCP را روی سیستم محلی خود اجرا کنید تا مهارتهای تعریفشده را به عاملهای دیگر متصل نمایید.
- از قابلیت Sparse Clone برای کاهش حجم دانلود مخزن در محیطهای ابری استفاده کنید.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو