در دنیای امروز، ترکیب هوش مصنوعی با محیط‌های مهندسی و محاسباتی به یکی از مهم‌ترین حوزه‌های تحقیقاتی و صنعتی تبدیل شده است. نرم‌افزار MATLAB به عنوان یکی از قدرتمندترین ابزارهای محاسبات عددی و تحلیل داده، در سال‌های اخیر تلاش کرده است تا قابلیت‌های هوش مصنوعی و سیستم‌های Agentic را در ساختار خود ادغام کند.
در همین راستا، «ریکین مهتا» مهندس نرم‌افزار تیم Database Toolbox در شرکت MathWorks، تجربه خود را درباره طراحی و توسعه مهارت ORM برای MATLAB Agentic Toolkit به اشتراک گذاشته است.

آغاز مسیر؛ چرا ORM اهمیت دارد؟

زمانی که فرآیند بررسی قابلیت‌های عامل‌های هوش مصنوعی در MATLAB آغاز شد، هدف اصلی ارزیابی میزان درک این عامل‌ها از Database Toolbox بود. برای این منظور، مجموعه‌ای از سوالات واقعی کاربران MATLAB از انجمن‌هایی نظیر MATLAB Answers و Stack Overflow جمع‌آوری و بدون هیچ راهنمای اضافی در اختیار عامل‌های هوش مصنوعی قرار گرفت.

نتایج اولیه نشان داد که عامل‌های هوش مصنوعی در انجام وظایف ساده مانند اتصال به پایگاه داده و اجرای Queryهای ابتدایی عملکرد قابل قبولی دارند؛ اما در سناریوهای پیچیده‌تر، به‌خصوص در فرآیندهای چندمرحله‌ای و APIهای جدید، خطاهای متعددی مشاهده شد.

یکی از مهم‌ترین این مشکلات مربوط به ORM یا Object-Relational Mapping بود. ORM روشی برای نگاشت اشیای برنامه‌نویسی به جداول پایگاه داده است که در زبان‌هایی مانند Python، Java و C# بسیار رایج است.

چالش اصلی؛ اعتماد بیش از حد عامل‌های هوش مصنوعی

در بررسی‌های انجام‌شده مشخص شد که عامل‌های هوش مصنوعی، دانش عمومی ORM در زبان‌های برنامه‌نویسی دیگر را به MATLAB تعمیم می‌دهند. این موضوع باعث می‌شد که مدل‌های هوش مصنوعی توابعی را تولید کنند که اساساً در MATLAB وجود ندارند.

برای مثال، عامل هوش مصنوعی تابعی به نام ormdelete را تولید می‌کرد؛ در حالی که چنین تابعی در Database Toolbox وجود ندارد. دلیل این خطا آن بود که مدل، بر اساس الگوهای رایج ORM در سایر زبان‌ها تصور می‌کرد که باید تابعی برای حذف رکوردها نیز وجود داشته باشد.

عامل هوش مصنوعی اعلام کرد:
«من فرض کردم تابع ormdelete وجود دارد زیرا سایر توابع ORM مانند ormread، ormwrite و ormupdate از الگوی نام‌گذاری مشابهی پیروی می‌کنند و در اکثر فریمورک‌های ORM عملیات حذف بخشی از چرخه CRUD است.»

این مسئله نشان داد که مشکل تنها به نحوه طراحی Prompt مربوط نیست؛ بلکه عامل هوش مصنوعی نیازمند دانشی تخصصی و هدفمند درباره MATLAB است.

تولد مهارت ORM در MATLAB Agentic Toolkit

پس از شناسایی نقاط ضعف عامل‌های هوش مصنوعی، فرآیند طراحی مهارت ORM آغاز شد. در ابتدا ساختار مهارت‌های موجود در MATLAB Agentic Toolkit مورد بررسی قرار گرفت تا الگوی مناسبی برای توسعه Skill جدید استخراج شود.

اصول کلیدی طراحی Skill

  • قرارگیری مهم‌ترین قوانین در ابتدای Skill
  • استفاده از ساختار و نام‌گذاری استاندارد
  • تمرکز بر خطاهای رایج عامل‌های هوش مصنوعی
  • نمایش تدریجی اطلاعات بر اساس میزان پیچیدگی

این استانداردسازی باعث می‌شود زمانی که عامل هوش مصنوعی چندین Skill مختلف را به‌صورت همزمان بارگذاری می‌کند، بتواند سریع‌تر اطلاعات موردنیاز را پیدا و پردازش کند.

نمونه‌ای از خطاهای رایج در کلاس‌های MATLAB

در یکی از آزمایش‌ها، عامل هوش مصنوعی کلاس زیر را برای ORM تولید کرد:

classdef (TableName = "sensors") Sensor < database.orm.Mappable

    properties (PrimaryKey)
        SensorID int32
    end

    properties
        Name string
        Location string
    end

    methods
        function obj = Sensor(id, name, loc)
            obj.SensorID = id;
            obj.Name = name;
            obj.Location = loc;
        end
    end
end

در نگاه اول، این کلاس کاملاً صحیح به نظر می‌رسد؛ اما دو مشکل اساسی دارد:

  1. سوپرکلاس صحیح باید
    database.orm.mixin.Mappable
    باشد، نه
    database.orm.Mappable.
  2. سازنده کلاس فاقد شرط
    nargin == 0
    است. این موضوع باعث می‌شود تابع
    ormread
    در زمان ایجاد شیء خالی با خطا مواجه شود.

این دسته از خطاها تنها زمانی قابل شناسایی هستند که توسعه‌دهنده تجربه عملی در کار با Database Toolbox و ORM داشته باشد.

فرآیند تست و بهبود مداوم

توسعه اولیه Skill تنها آغاز کار بود. بخش اصلی پروژه شامل چرخه‌ای مداوم از تست، ارزیابی و اصلاح می‌شد:

  • اجرای پرسش‌های یکسان روی مدل‌های مختلف
  • اجرای واقعی کدهای تولیدشده
  • بررسی خطاهای Runtime
  • اصلاح ساختار Skill بر اساس نتایج آزمایش‌ها

نتایج نشان داد که عملکرد Skill در مدل‌های مختلف هوش مصنوعی متفاوت است. ساختاری که برای یک مدل مؤثر بود، ممکن بود برای مدل دیگر مشکلات جدیدی ایجاد کند.

نگاه جدید به Agentic Workflows

یکی از مهم‌ترین درس‌های این پروژه آن بود که پیش از طراحی هر Skill، ابتدا باید رفتار واقعی عامل هوش مصنوعی بررسی شود. تنها از طریق اجرای عملی و مشاهده خطاها می‌توان شکاف‌های دانشی مدل را شناسایی کرد.

برخی مشکلات را می‌توان با Prompt Engineering حل کرد؛ اما در موارد پیچیده‌ای مانند ORM، طراحی یک Skill تخصصی ضروری است.

این تجربه همچنین نشان داد که توسعه Skill تفاوت چندانی با توسعه نرم‌افزار حرفه‌ای ندارد. فرآیند شامل تحلیل مسئله، طراحی، آزمایش، اصلاح و بهینه‌سازی مداوم است.

جمع‌بندی

ادغام هوش مصنوعی با MATLAB و توسعه مهارت‌های تخصصی برای عامل‌های هوشمند، گامی مهم در آینده مهندسی نرم‌افزار و محاسبات علمی محسوب می‌شود. پروژه ORM Skill نشان داد که موفقیت در Agentic Workflows تنها به قدرت مدل‌های زبانی وابسته نیست؛ بلکه کیفیت دانش تخصصی و نحوه انتقال آن به عامل هوش مصنوعی نیز نقش تعیین‌کننده‌ای دارد.

با توسعه چنین Skillهایی، MATLAB می‌تواند به بستری هوشمندتر، دقیق‌تر و کارآمدتر برای توسعه‌دهندگان، پژوهشگران و مهندسان تبدیل شود.