تصور کنید یک طراح ویدیو است که ساعتها وقت صرف تنظیم دقیق مدلها و مسیرهای خروجی برای رسیدن به یک استایل خاص کرده است. تولید یک اثر رسانهای پیچیده با هوش مصنوعی به چیزی بسیار فراتر از یک پرامپت تکخطی وابسته است. این فرآیند مستلزم ترکیبی دقیق از مدلهای منتخب، فیلدهای ورودی، اتصالات بین گامها، مسیریابی خروجیها و حتی چیدمان خاصی است که یک همتیمی از آن برای درک گراف گردشکار استفاده میکند. حالا کافی است یک تب مرورگر بسته شود یا یک تغییر کوچک اشتباه اعمال شود تا تمام آن تصمیمات حیاتی که تنها در حافظه مرورگر زنده بودند، ناپدید شوند و هر تلاشی برای بازسازی آن گردشکار از طریق حافظه، با شکست مواجه شود.
این کابوسِ فقدانِ «تاریخچه»، دلیل اصلی معرفی سیستم جدید در Voor AI است. برای حل این مشکل، این پلتفرم از یک سیستم گراف JSON قابل انتقال (Portable JSON Graph) استفاده میکند. در این رویکرد، یک گردشکار بصری به یک اثر قابل بازبینی تبدیل میشود که میتوان آن را بازرسی کرد، وارد کرد، تغییر داد، صادر کرد و تحت کنترل نسخه Git قرار داد. این رویکردی است که در تحلیلهای ما درباره تأثیر گردشهای کاری ساختارمند بر افزایش نرخ موفقیت عاملها نیز به اهمیت نظمبخشی به فرآیندها اشاره شده بود. با استفاده از گردشکار عمومی Film Agent به عنوان یک مثال عینی، این سیستم نشان میدهد که یک گردشکار در واقع یک شیء داده (Data Object) است که به تیمهای خلاق اجازه میدهد شکاف بین جلسات موقت مرورگر و تاریخچه دائمی پروژه را پر کنند.
همانطور که در تحلیلهای پیشین ما دربارهی استانداردسازی پروتکلهای عاملمحور اشاره کردیم، نیاز به جداسازی «زیرساخت اجرا» از «طرح گردشکار» اکنون به یک ضرورت تبدیل شده است. در این مدل، یک گردشکار دیگر یک جلسهٔ موقت در مرورگر نیست، بلکه یک سند متنی است که مانند کد نرمافزار رفتار میکند.
زمینه و زیرساخت
برای پیادهسازی این سیستم، کاربر ابتدا با ایجاد یک دایرکتوری پاک (مثلاً با دستور mkdir -p workflows) شروع میکند و سپس نمونه عمومی را از طریق دستور curl از آدرس https://voor.ai/workflow-examples/film-agent.workflow.json دانلود میکند.
پیش از وارد کردن فایل به ویرایشگر، راهنما تأکید میکند که «پاکت» (Envelope) فایل با استفاده از ابزار jq بررسی شود. این مرحله به عمد «خستهکننده» طراحی شده است؛ زیرا هدف این است که کاربر اطمینان حاصل کند یک شیء گردشکار مشروع را دانلود کرده است، نه یک صفحه خطای HTML یا یک پاسخ مربوط به صفحه ورود (Login). یک تأیید موفقیتآمیز روی فایل Film Agent، نسخه فرمت ۱، عنوان "Film Agent" و این شرح را نشان میدهد: «خلاصه $\rightarrow$ تبدیل متن به ویدیو $\rightarrow$ خروجی. از Agent در نوار کناری برای نوشتن پرامپتها و اجرا استفاده کنید.»
جزئیات فنی گراف
طبق گزارش فنی، یک گردشکار مینیمال مانند Film Agent از عناصر ساختاری مشخصی تشکیل شده است:
- کلیدهای گراف: شیء JSON توسط سه کلید اصلی سازماندهی شده است:
edges(یالها)،nodes(گرهها) وviewport(نمای دید). - گرهها: در مدل Film Agent، سه گره وجود دارد:
input-1: یک گره ورودی.model-1: یک گره مدل که بهطور مشخص از مدلbytedance/seedance-1.5-proاستفاده میکند.output-1: یک گره خروجی.
- یالها: در این گراف دو یال وجود دارد. نکته حیاتی این است که این یالها «پورتها» را به هم متصل میکنند، نه فقط «جعبهها» را. برای مثال، یال اول فیلد ورودی
themeرا بهtext:promptمدل متصل میکند. یال دوم، خروجی ویدیویی مدل را به گره خروجی هدایت میکند. این سطح از دقت، ابهام موجود در یک خط ساده بین دو گره را از بین میبرد.
برای جلوگیری از ورود فایلهای معیوب به خط لوله، راهنما یک تست ساختاری سریع را توصیه میکند. با اجرای یک دستور jq که بررسی میکند آیا formatVersion برابر با ۱ است و آیا هر دو آرایه nodes و edges غیرخالی هستند، تیمها میتوانند خطاها را در همان ابتدای مسیر شناسایی کنند. قرار دادن این دستور در یک pre-commit hook یا بررسیهای CI (یکپارچهسازی مستمر)، باعث میشود فایلهای خراب یا نسخههای پشتیبانینشده پیش از آنکه همتیمیها ویرایشگر بصری را باز کنند، شناسایی و رد شوند. این پیادهسازی یادآور آن است که چگونه بهرهگیری از چارچوب GitOps میتواند هزینهی زمانی دیباگ عاملها را به شدت کاهش دهد.
پیادهسازی و تکرار
پس از اعتبارسنجی فایل، میتوان آن را در Voor AI Workflow Builder وارد کرد. راهنما پیشنهاد میکند که پیش از اعمال تغییرات آگاهانه، از نمونه موجود یک کپی یا Fork تهیه کنید. برخی از تغییرات هدفمند عبارتند از:
- تغییر فیلد ورودی در زمان اجرا (Runtime Input Field).
- سختگیرانهتر کردن بستهبندی پرامپت (Prompt Wrapper) در گره مدل.
- جایگزینی مدل فعلی با یک مدل ویدیویی سازگار دیگر.
- اضافه کردن یک گره خروجی دوم برای اهداف بازبینی و مرور.
باید توجه داشت که یک فایل JSON تنها ثابت میکند که در لحظه خروج (Export)، چه چیزی پیکربندی شده است و نمیتواند تضمین کند که قیمت مدلهای شخص ثالث یا در دسترس بودن آنها بدون تغییر مانده است. بنابراین، کاربران باید گردشکار را تنها پس از بررسی مدل نمایش داده شده و اعتبار (Credits) تخمینی اجرا کنند. گرافهای بهروزرسانی شده باید به عنوان نسخههای جدید صادر شوند (مثلاً film-agent-v1.workflow.json و film-agent-v2.workflow.json) تا یک تاریخچه موازی و مقایسهای حفظ شود.
مدیریت تفاضلهای معنایی (Semantic Diffs)
تفاضلهای خام JSON معمولاً «نویزی» هستند، زیرا شامل برچسبهای زمانی خروج، تغییرات نمای دید (Viewport) یا تغییر موقعیت گرهها هستند که صرفاً بر اثر جابهجایی المانها در بوم (Canvas) رخ دادهاند. برای جداسازی تغییرات واقعی در اجرا، فرآیند ایجاد یک «تصویر معنایی» (Semantic Projection) به کار میرود.
با استفاده از jq ،کاربر تنها دادههای حیاتی را استخراج میکند: formatVersion ،title ،description و لیستهای مرتبشده از nodes (شامل modelId ،promptWrap و fields) و edges مرتبشده. این نسخه تکانده شده اجازه میدهد تا دستور git diff --no-index تنها تغییرات معنایی مؤثر را نشان دهد. در این حالت، بازبینها میتوانند به پنج سوال کلیدی پاسخ دهند: چه قراردادی در ورودی تغییر کرد؟ تنظیمات کدام مدل جابهجا شد؟ کدام پورتها تغییر مسیر یافتند؟ چه خروجیهایی نیاز به تولید مجدد دارند و چه مدرکی ثابت میکند گراف جدید از بازبینی عبور کرده است؟ این سطح از تحلیل دقیق، شباهت زیادی به رویکرد تحلیل تصمیمگیری در سیستمهای چندمرحلهای Maxim AI دارد که در آن ردپای هر گام مورد بررسی قرار میگیرد.
این چرخش، کار با هوش مصنوعی زاینده را به مهندسی نرمافزار نزدیک میکند. به جای پیامهای مبهم مانند «بهروزرسانی گردشکار»، کاربران تشویق میشوند از توصیفات علت-معلولی استفاده کنند؛ مثلاً: «گردشکار: مسیر ورودی تم از طریق بستهبندی پرامپت ویدیو هدایت شد» یا «گردشکار: اضافه کردن خروجی بازبینی پیش از صادرات نهایی».
امنیت و محدودیتها
یک هشدار امنیتی بسیار حیاتی، اجتناب کامل از قرار دادن «اسرار» (Secrets) در گراف قابل انتقال است. کلیدهای API، رمزهای عبور، داراییهای خصوصی مشتریان، URLهای امضا شده، دادههای شخصی یا پرامپتهای محرمانه هرگز نباید پیش از صادر کردن فایل، در مقادیر پیشفرض ورودیها قرار گیرند. از آنجا که تاریخچه Git دائمی است، حذف یک رمز از آخرین فایل، آن را از کامیتهای قدیمیتر پاک نمیکند. تمام اسرار باید در سیستم مدیریت اعتبارنامههای زمان اجرا (Runtime's Credential System) باقی بمانند.
در نهایت، کنترل نسخه باعث نمیشود خروجی مدلها کاملاً قطعی (Deterministic) شود — مدلها همچنان تغییر میکنند. اما این سیستم، «فرآیند» را شفاف و مرئی میکند. این قابلیت به یک همتیمی اجازه میدهد دقیقاً همان ساختاری را وارد کند که همکارش ساخته است، بدون اینکه نیاز به اسکرینشات برای ارجاع باشد. با ترکیب JSON مدل Film Agent، بازرسی با jq و Voor AI Workflow Builder، سازندگان به آثار خود همان تاریخچه تغییرات و قابلیت بازبینی را میبخشند که معرف توسعه حرفهای نرمافزار است.
گام بعدی شما
- اگر از ابزارهای بصری برای ساخت زنجیرههای هوش مصنوعی استفاده میکنید، خروجیهای خود را به صورت JSON ذخیره کرده و با ابزار
jqفیلترهای معنایی روی آنها اجرا کنید. - یک سیستم نامگذاری نسخهها (v1, v2, ...) برای گرافهای خود تعریف کنید تا از دست رفتن تنظیمات موفق اما اتفاقی جلوگیری شود.
- تمامی API Keyها را از بدنهٔ فایلهای تنظیمات خارج کرده و به Environment Variables منتقل کنید.
اما این سازماندهی دادهها تنها نیمی از مسیر است؛ برای درک اینکه چگونه مدلهای استدلالی میتوانند خود این گرافها را بهینهسازی کنند، تحلیل ما دربارهی مدلهای Reasoning را بخوانید.




گفتگو