تصور کنید یک تحلیلگر داده امروز از یک عامل هوش مصنوعی میخواهد گزارشی ساده تهیه کند، اما در نهایت با تپهای از فایلهای پراکنده HTML، CSS و JavaScript مواجه میشود که تنها برای تولید یک گزارش ساده ایجاد شدهاند و مدیریت آنها یک کابوس است. dbt Labs برای حل این اصطکاک، در ۱۴ سپتامبر ۲۰۲۶ ابزار dbt Charts را بهصورت متنباز منتشر کرد تا تعاریف داشبوردها را از محیطهای گرافیکی خارج کرده و در یک فایل واحد، ساختاریافته و قابلحسابرسی YAML متمرکز کند.
برای سالها، ابزارهای هوش تجاری (BI) به عنوان پلتفرمهای «تمامسرویس» (Full-stack) عمل میکردند و همه چیز را از جمعآوری دادهها (Ingestion) تا بصریسازی مدیریت میکردند. همانطور که تریستان هندی، بنیانگذار dbt Labs، در یادداشتی با عنوان «دومین تجزیه BI» اشاره کرد، ابزارهای اولیه مانند MicroStrategy و Cognos در واقع پلتفرمهای داده یکپارچهای بودند که در آنها محاسبات (Compute)، حافظه پنهان (Caching)، معناشناسی (Semantics) و مدیریت هویت، همگی در داخل یک محصول واحد اتفاق میافتاد.
در دوران «پشته داده مدرن» (۲۰۱۵–۲۰۲۲)، این لایهها از هم جدا یا Unbundle شدند و زیرساختها به ابزارهای تخصصی منتقل گشتند. محاسبات به «۵ غول» ارائهدهنده خدمات ابری منتقل شد، جمعآوری دادهها به Fivetran سپرده شد و تبدیل دادهها به dbt منتقل گشت. با این حال، لایه بصری همچنان در رابطهای کاربری (UI) اختصاصی و بسته زندانی ماند و ابزارهای BI را مجبور کرد که تنها بر بصریسازی، رابطهای تعاملی، مدیریت هویت و میزبانی وب تمرکز کنند.
این رویکردِ متمرکز بر UI، در عصر هوش مصنوعی یک تناقض ایجاد کرده است. در حالی که انسانها ترجیح میدهند روی دکمهها کلیک کنند چون سریعتر از نوشتن کدهای YAML است، عاملهای هوش مصنوعی (AI Agents) در نوشتن SQL و کار با Git تسلط کامل دارند اما هنگام پیمایش در منوهای خاص و پیچیده یک فروشنده نرمافزاری، دستوپا میزنند. این تسلط عاملهای هوش مصنوعی بر کدنویسی، در حوزههای دیگر نیز نتایج چشمگیری داشته است؛ برای مثال گزارشهای اخیر نشان میدهد که استفاده از این عاملها توانسته خروجی تیمهای برنامهنویسی را تا سه برابر افزایش دهد. وقتی این عاملها سعی میکنند با نوشتن کد مستقیم از UI فرار کنند، «آزادی آشفتهای» (Messy Freedom) خلق میکنند: فایلهای بدون ساختاری که بازبینی آنها گران است و اصلاحشان توکنهای پردازشی زیادی میبلعد.
سازوکار dbt Charts
dbt Charts مسیر سومی را پیشنهاد میدهد: یک زبان YAML ساختاریافته که نحوه نمایش دادهها را به صورت Declarative تعریف میکند. در این سیستم، SQL تعیین میکند «چه» دادهای بازیابی شود و YAML مشخص میکند که این دادهها «چگونه» ظاهر شوند.
- اجزای اصلی: این زبان برای متون توضیحی از Markdown و برای متغیرها و ماکروها از Jinja (مشابه آنچه در dbt استفاده میشود) بهره میبرد.
- انعطاف در خروجی: یک ابزار CLI به کاربران اجازه میدهد این بردهای YAML را به فرمتهای SVG، HTML، PNG، PDF یا حتی مستقیماً در محیط ترمینال رندر کنند. برای مثال، دستور
dct render charts/documents.yml --format svgیک خروجی بصری تولید میکند، در حالی که دستورdct serveپوشهای از این نمودارها را به عنوان یک سایت میزبانی میکند. - پیکربندی گسترده: این سیستم در حال حاضر از بیش از ۱۱۰۰ گزینه تنظیماتی در ۱۶ نوع نمودار مختلف و انواع نمودارهای ترکیبی پشتیبانی میکند.
به نقل از مستندات dbt Labs، برای جلوگیری از شلوغی بصری، این سیستم از استایلهای آبشاری (Cascading Styles) استفاده میکند. یک نمودار ویژگیهای خود را از «برد» (Board) ارثبری میکند و برد نیز به نوبه خود از یک «تم» (Theme) کلی پیروی میکند. این یعنی با تغییر تنها یک خط کد، تم کل گزارشها عوض میشود. علاوه بر این، یک برد میتواند از برد دیگری ارثبری کند؛ این قابلیت اجازه میدهد یک گزارش استاندارد یا «استایل سازمانی» یک بار نوشته شود و در همه جا به کار رود تا بردهای نهایی کوتاه بمانند و تغییر تم ارزان تمام شود.
یکپارچگی عمیق با dbt
وقتی از این ابزار در یک پروژه dbt استفاده شود، پوشه نمودارها (charts) در کنار پوشه مدلها (models) در همان مخزن Git قرار میگیرد. این یعنی هر تغییر در مدل داده و نمودار مربوط به آن، در یک شاخه (Branch) واحد و طی یک فرآیند CI ارسال میشوند و اگر خطایی وجود داشته باشد، پیش از رسیدن به محیط عملیاتی (Production) شناسایی و متوقف میشوند.
ساختار پروژه به این شکل است:your_dbt_project/├── .git/├── dbt_project.yml├── models/└── charts/ (پوشه جدید برای داشبوردها، مثلاً revenue.yml)
طبق گزارش وبلاگ dbt Labs، این یکپارچگی اجازه اعتبارسنجی سختگیرانه میدهد. کوئریها از طریق تابع ref() به مدلها دسترسی پیدا میکنند که از طریق Manifest پروژه حل میشوند. اگر توسعهدهندهای نام یک مدل را تغییر دهد یا ستونی را حذف کند، دستور dbt parse && dct validate charts/ باعث شکست Pull Request میشود، پیش از آنکه نمودار خراب به دست کاربر برسد. برنامههای آینده شامل ادغام با لایه معنایی (Semantic Layer) است تا داشبوردها بهجای بازنویسی SQL خام، از متریکهای پیشتعریفشده استفاده کنند.
طراحی برای حلقه بازخورد عاملها
عاملهای هوش مصنوعی وقتی بازخورد دقیق و فوری ندارند، دچار خطا میشوند. dbt Charts با اعتبارسنجی سختگیرانه هر دو بخش YAML و SQL، یک حلقه بازخورد سریع ایجاد میکند. سیستم شامل بررسیهای بصری است که مشکلات تجربه کاربری (UX) را پیش از رندر شدن شناسایی و پرچمگذاری میکند.
برای مثال، CLI هشدارهای بسیار مشخصی صادر میکند تا عامل بتواند خودش را اصلاح کند:
WARN-BAR-BAND-WIDTH-TOO-NARROW: این هشدار زمانی صادر میشود که تعداد سریهای داده برای عرض صفحه زیاد باشد (مثلاً ۱۸۲ باند در ۲ سری برای عرض ۶۴۰ پیکسل). راهکار پیشنهادی این است که دادهها در سطح دانهبندی درشتتری (Coarser Grain) تجمیع شوند.WARN-TABLE-COLUMNS-OVERFLOW: زمانی رخ میدهد که یک جدول به فضای بیشتری (مثلاً ۹۸۰ پیکسل) نسبت به فضای موجود (۶۴۰ پیکسل) نیاز داشته باشد. راهکار پیشنهادی حذف برخی ستونها یا عریضتر کردن جایگاه (Slot) است.
پلتفرم میزبانی
در کنار زبان متنباز، شرکت نسخه بتای عمومی dbtCharts.com را نیز عرضه کرد. در حالی که زبان تحت لایسنس Apache 2.0 است، این پلتفرم بخشهای «تجزیهناپذیر» BI یعنی میزبانی، کنترل دسترسی (Access Control) و مجوزهای کاربر را مدیریت میکند.
این پلتفرم تحلیلهای گفتگومحور (Conversational Analytics) درجه اول را پشتیبانی میکند. کاربران میتوانند شبیه به تجربه Claude یا ChatGPT با دادههای خود چت کنند، اما با این تفاوت که ابزارهای یک تحلیلگر خبره در دل آن تعبیه شده است. کاربران میتوانند با چت کردن دادهها را کاوش کنند و سپس برای تنظیمات دقیقتر، وارد محیط ویرایش شده و برد را ذخیره کنند. این رویکرد برای کاهش نویز اطلاعاتی و تبدیل دادههای خام به بینشهای کاربردی است، مشابه آنچه در سیستمهای فیلترینگ پیشرفتهای مانند Hex2077 برای برنامهنویسان پیاده شده است.
از آنجایی که این سیستم بر پایه یک زبان باز ساخته شده، هر تغییری — چه از طریق چت، چه ویرایشگر بصری و چه کد خام — در نهایت در همان فایل YAML در مخزن Git کاربر ثبت میشود. این کار از ایجاد یک «پشته داده پنهان» (Hidden Data Stack) که در آن گزارشهای تولید شده توسط AI خارج از کنترل نسخه (Version Control) هستند، جلوگیری میکند.
این طراحی نشاندهنده چرخش به سمت گرافیکهای داده «دقیق» و متفکرانه است. dbt Labs با جذب RJ Andrews، طراح، نویسنده و مورخ گرافیک داده، سعی کرد از مدل «شبکهای از جعبهها» (Grid of Boxes) که در اکثر ابزارهای BI دیده میشود فاصله بگیرد. بسیاری از ابزارها از کارتهایی استفاده میکنند که تراز بودن را به قیمت ایجاد نویز بصری جعل میکنند؛ در مقابل، dbt Charts روی فاصلهگذاری، اندازه و چیدمان دقیق هر نمودار تمرکز میکند تا دقت نمودارهای دستنویس حرفهای را شبیهسازی کند.
این اقدام در واقع با داشبورد مانند یک «قطعه نرمافزاری» (Software Artifact) برخورد میکند. dbt Labs شرط بسته است که آینده تحلیل داده، نه در رابطهای کاربری بهتر، بلکه در زبانهای بهتری است که عاملهای هوش مصنوعی بتوانند بنویسند. این ابزار در حال حاضر در نسخه پیش از ۱.۰ است، اما بردها بهگونهای طراحی شدهاند که با تغییر گرامر زبان، هنگام تجزیه (Parse) شدن، بهطور خودکار مهاجرت کنند.
گام بعدی شما
- اگر از dbt استفاده میکنید، CLI این ابزار را از گیتهاب نصب کنید و اولین نمودار YAML خود را بسازید.
- در نسخه بتای dbtCharts.com ثبتنام کنید تا نحوه تبدیل چت به کد YAML و یکپارچگی تحلیلهای گفتگومحور با حاکمیت Git را ببینید.
- ساختار پوشهبندی پروژه خود را برای پذیرش پوشه
charts/آماده کنید.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو