هوش مصنوعی و مهندسی نرمافزار: روشنکردن مرز مسئولیت با روش BOUND
**نویسنده: سهیل مظفری (Soheil Mozaffari)**
در مهندسی نرمافزار، کار موازی تنها تقسیمکردن فهرستی از وظایف نیست. وقتی چند نفر، چند نقش، یا عاملهای کمکی مبتنی بر هوش مصنوعی بهطور همزمان در یک کار مشارکت میکنند، پرسش اصلی این است که مسئولیت هر بخش دقیقاً تا کجا امتداد دارد و نقطهٔ اتصال آن با بخش بعدی چیست. **BOUND**، کوتاهشدهٔ *Boundary-Oriented Unified Development*، روشی برای پرداختن به ابهام در مرزهای مسئولیت در کار نرمافزاریِ موازی است. این مقاله جایگاه آن را در تیمهای انسانی و تیمهای برخوردار از کمک هوش مصنوعی توضیح میدهد، بیآنکه آن را روشی صرفاً برای هوش مصنوعی بداند.
مسئله: ابهام در محل تحویل مسئولیت
در یک جریان موازی، یک نفر یا عامل ممکن است یک جزء را طراحی کند، دیگری آن را پیادهسازی کند و نقش یا عامل دیگری به بررسی آن بپردازد. اگر مرز میان این مسئولیتها روشن نباشد، حتی توافق بر سر اینکه چه چیزی باید تحویل شود دشوار میشود. چنین ابهامی بهویژه در همکاری انسان و ابزارهای هوش مصنوعی اهمیت پیدا میکند: خروجی یک عامل کمکی فقط زمانی برای مرحلهٔ بعدی قابل استفاده است که دامنه، حدود مداخله و انتظار از آن معلوم باشد.
بنابراین، مسئله صرفاً تولید سریعتر کد یا سپردن کار به یک عامل نیست. مسئلهٔ روشی این است که کار از ابتدا به واحدهایی با مسئولیت قابل تشخیص تفکیک شود و رابطهٔ میان این واحدها قابل بیان بماند. BOUND این موضوع را در قالب یک توالی مشخص صورتبندی میکند.
توالی BOUND: از دامنه تا راستیآزمایی
BOUND از پنج مؤلفه تشکیل میشود: **دامنه** (*Domain*)، **مرز** (*Boundary*)، **قرارداد** (*Contract*)، **اجرا** (*Execution*) و **راستیآزمایی** (*Verification*). ترتیب این مؤلفهها عمدی است. ابتدا دامنه روشن میکند که کار مورد بحث به چه ناحیهای تعلق دارد. سپس مرز مشخص میکند که مسئولیت آن ناحیه از کجا آغاز میشود و در کجا پایان میگیرد. پس از آن، قرارداد بیان میکند که در محل اتصال چه انتظار یا تعهدی میان مسئولیتها برقرار است.
اجرا، مرحلهٔ انجام کار در چارچوب دامنه، مرز و قرارداد است. راستیآزمایی نیز بررسی میکند که اجرای انجامشده با قرارداد و مرزهای تعریفشده سازگار است. در این توالی، قرارداد از زمینه جدا نمیشود: پیش از تعریف قرارداد، دامنه و مرز مورد توجه قرار میگیرند. این نکته، BOUND را برای موقعیتهایی که چند جریان کار همزمان با یکدیگر تلاقی دارند، قابل توضیح میکند.
نقش هوش مصنوعی در تیم، نه جایگزینی برای روش
BOUND از تیمهای انسانی و تیمهای دارای کمک هوش مصنوعی پشتیبانی میکند، اما **روشِ ویژه یا محدود به هوش مصنوعی نیست**. هوش مصنوعی میتواند در یک جریان کار در کنار اعضای انسانی قرار گیرد؛ برای نمونه، یک عامل کمکی میتواند در چارچوب مسئولیتی که برایش تعریف شده مشارکت کند. بااینحال، حضور عامل، جای دامنه، مرز یا قرارداد را پر نمیکند. برعکس، هرچه مشارکتکنندگان متنوعتر باشند، بیان این عناصر برای هماهنگکردن کار اهمیت روششناختی بیشتری پیدا میکند.
در این نگاه، مسئله این نیست که یک مدل «مسئول» است یا یک انسان؛ مسئله این است که مسئولیتِ تعریفشده چه ورودی، چه خروجی و چه حدی دارد. BOUND امکان میدهد این پرسش پیش از اجرا مطرح شود. سپس راستیآزمایی به همان قرارداد و مرز بازمیگردد تا ارزیابی از مبنایی روشن آغاز شود، نه از برداشتهای ناهمسان پس از اتمام کار.
نسبت BOUND با IFEM
**IFEM** یا *Interface-First Execution Methodology*، توالی **رابط → قرارداد → اجرا → راستیآزمایی** (*Interface → Contract → Execution → Verification*) را مطرح میکند. BOUND با افزودن دو گام پیش از قرارداد، این توالی را بسط میدهد: **دامنه → مرز → قرارداد → اجرا → راستیآزمایی**. بنابراین، تمایز دقیق میان آنها در نقطهٔ شروع است: IFEM با رابط آغاز میشود، در حالی که BOUND پیش از قرارداد، دامنه و مرز را صریح میکند.
این بیان، ادعای برتری یکی بر دیگری نیست و نباید بهمنزلهٔ مقایسهٔ تجربی تلقی شود. مقصود، روشنکردن تفاوت ساختاری دو روش است. هنگامی که پرسش اصلی، تعیین مسئولیتهای جدا اما متصل در کار موازی باشد، مراحل دامنه و مرز در BOUND بخشی از زبان روش برای توصیف آن مسئلهاند.
کاربرد روشی در برنامهریزی و بازبینی
برای بهکارگیری BOUND، تیم میتواند پیش از شروع هر بخش از کار، دامنهٔ آن را نامگذاری کند؛ سپس مرز آن را بهصورت صریح تعیین کند؛ و قرارداد را برای اتصال با سایر بخشها بنویسد. تنها پس از این صورتبندی، اجرا آغاز میشود و راستیآزمایی به قرارداد و مرز ارجاع میدهد. این الگو برای اعضای انسانی و برای عاملهای هوش مصنوعی یکسان است: مشارکتکننده ممکن است متفاوت باشد، اما نیاز به صورتبندی مسئولیت از میان نمیرود.
این شیوه همچنین بحثهای بازبینی را متمرکز میکند. بهجای آنکه ارزیابی تنها بر نتیجهٔ نهایی تکیه کند، میتوان پرسید آیا نتیجه در دامنهٔ مقرر قرار دارد، از مرز تعیینشده عبور نکرده است، و با قرارداد سازگاری دارد. اینها پرسشهای روشیاند، نه تضمینهایی دربارهٔ کیفیت، سرعت یا پذیرش در هر پروژه.
جمعبندی
BOUND زبان و ترتیبی برای رسیدگی به ابهام مرزهای مسئولیت در کار موازی نرمافزار فراهم میکند: **دامنه، مرز، قرارداد، اجرا و راستیآزمایی**. این روش از همکاری انسانی و همکاری همراه با هوش مصنوعی پشتیبانی میکند، بیآنکه به هوش مصنوعی تقلیل یابد. در نسبت با IFEM نیز، ویژگی متمایز BOUND افزودن دامنه و مرز پیش از قرارداد است. این تمایز، مبنایی دقیق برای گفتوگو دربارهٔ مسئولیتهای متصل در مهندسی نرمافزار به دست میدهد.
منابع
1. Mozaffari, Soheil. **BOUND: Boundary-Oriented Unified Development**. DOI: [10.5281/zenodo.22257583](https://doi.org/10.5281/zenodo.22257583). 2. Mozaffari, Soheil. **IFEM: Interface-First Execution Methodology**. DOI: [10.5281/zenodo.20621561](https://doi.org/10.5281/zenodo.20621561).