پیوست ۲ ـ قسمت ۳: هوش مصنوعی را به گیتهاب وصل کنیم
متنِ این قسمت
در قسمت قبل، یک ریپو به اسم my-prompts ساختیم و دستور نوشتن توصیههای بعد از جراحی را داخلش گذاشتیم.
اما قرار نیست از این به بعد هر بار خودمان فایلها را آپلود یا ویرایش کنیم. میخواهیم هوش مصنوعی این کارها را انجام بدهد و ما نتیجه را بررسی کنیم.
اتصال ChatGPT به گیتهاب
برای اتصال، از پلاگین (Plugin) گیتهاب استفاده میکنیم. پلاگین راه ارتباطی بین دو برنامه است و اجازه میدهد ChatGPT با مجوز ما به فایلهای گیتهاب دسترسی پیدا کند.
در ChatGPT منوی کناری را باز کنید و وارد Plugins شوید.

در فهرست پلاگینها، GitHub را پیدا کنید و مراحل نصب و اتصال حساب را انجام دهید.

بعد از اتصال، در تنظیمات همین پلاگین میتوانید حساب متصلشده و اجازههایی را که به ChatGPT دادهاید ببینید.

در بخش Permissions مشخص میکنید هوش مصنوعی چه زمانی باید از شما اجازه بگیرد.

برای شروع، گزینهٔ Allow read actions انتخاب مناسبی است؛ یعنی هوش مصنوعی میتواند اطلاعات را بخواند، اما پیش از انجام تغییرات از شما تأیید میخواهد. البته برای تغییر فایلها، خود اتصال هم باید امکان نوشتن داشته باشد.
یک نکتهٔ مهم: ممکن است در نسخههای بعدی ChatGPT جای این دکمهها عوض شود. لازم نیست مسیرشان را حفظ کنید. کافی است از صفحه عکس بگیرید و از هوش مصنوعی بپرسید:
میخواهم گیتهاب را وصل کنم تا بتوانی فایلهایم را بخوانی و با تأیید من تغییر بدهی. بگو از اینجا چه کار کنم.
قبل از اولین تغییر، برنچ چیست؟
فرض کنید برای بیماری یک روکش ساختهاید و آن را سمان کردهاید. بعداً تصمیم میگیرید به دلایل زیبایی روکش را عوض کنید، اما روکش فعلی هنوز کارکرد قابلقبولی دارد.
لازم نیست همان موقع روکش را خارج کنید. میتوانید روکش موجود را فعلاً در دهان بیمار نگه دارید و همزمان طراحی و ساخت روکش جدید را شروع کنید.
تا وقتی روکش جدید آماده و تأیید نشده، روکش قبلی همچنان سر جایش است.
در گیت هم میتوانیم همین کار را انجام بدهیم.
در ریپوی ما یک مسیر اصلی وجود دارد که معمولاً اسمش main است. مثل همان روکش اصلی که فعلاً داریم از آن استفاده میکنیم.
حالا میتوانیم یک مسیر موازی برای انجام اصلاحات بسازیم، بدون اینکه نسخهٔ اصلی تغییر کند.
به این مسیر موازی Branch یا برنچ میگویند.

مثلاً در یک برنچ جدید، دستور توصیههای بعد از جراحی را اصلاح میکنیم. میتوانیم بارها تغییرش بدهیم تا به نتیجهٔ دلخواه برسیم، درحالیکه فایل موجود در main دستنخورده باقی میماند.
وقتی از نتیجه مطمئن شدیم، میتوانیم تغییرات را وارد مسیر اصلی کنیم. به این کار Merge یا مرج میگویند.
در مثال روکش، شبیه زمانی است که روکش جدید را تأیید میکنیم و جای روکش قبلی میگذاریم. البته در گیت، تغییرات جدید با مسیر اصلی ترکیب میشوند و سابقهٔ قبلی هم باقی میماند.

در این تصویر میبینید که پروژه یک مسیر اصلی دارد و چند برنچ هم در کنار آن ساخته شدهاند.
لازم نیست خودمان آنها را بسازیم یا مدیریت کنیم. میتوانیم این کار را به هوش مصنوعی بسپاریم.
حالا امتحان کنیم
در ChatGPT وارد Work شوید و این دستور را بدهید:
در ریپوی my-prompts، به انتهای دستور توصیههای بعد از جراحی اضافه کن که توصیهها باید متناسب با شرایط بیمار و تصمیم درمانگر بازبینی شوند.
روی برنچ جدا کار کن و بدون تأیید من مرج نکن. در پایان نتیجه را نشان بده.
تمام!
اگر دسترسیها درست تنظیم شده باشند و ابزار امکان انجام این عملیات را داشته باشد، Work میتواند کار را انجام دهد.
لازم نیست تکتک مراحل را در گیتهاب دنبال کنیم. در پایان، از Work گزارش میگیریم و تغییر پیشنهادی را بررسی میکنیم.
حالا یک برنچ داریم که دستور اصلاحشده در آن قرار گرفته، درحالیکه نسخهٔ اصلی هنوز تغییر نکرده است.
حالا تغییر را وارد نسخهٔ اصلی کنیم
اگر نتیجه را بررسی کردیم و از آن راضی بودیم، کافی است به Work بگوییم:
تأیید میکنم. تغییرات رو مرج کن و لینک نسخهٔ اصلی رو بده.
اگر مانعی برای ادغام وجود نداشته باشد و Work دسترسی لازم را داشته باشد، این کار را انجام میدهد. اگر هم مشکلی وجود داشته باشد، باید آن را گزارش کند.
به همین سادگی، نسخهٔ اصلاحشده وارد مسیر اصلی میشود.