سافٹ ویئر نے دنیا کو اپنی لپیٹ میں لے لیا۔ اب AI ایک ایک فائل کر کے سافٹ ویئر کو نگل رہا ہے۔ اگر آپ اپنی روزی کے لیے کوڈ لکھتے ہیں، تو غالباً آپ نے اپنے کی بورڈ کے نیچے زمین کو سرکتے ہوئے محسوس کیا ہوگا۔ ایک ڈویلپر نے ایک ہی سال میں دو بار ایسا محسوس کیا۔ پہلے، مشین نے لکھنے کا کام سنبھال لیا۔ پھر اس نے چیک کرنے کا کام بھی لے لیا۔ اس کی ملازمت اب بھی برقرار ہے، لیکن صرف اس لیے کہ اس نے اسے اس حد تک بدل دیا ہے کہ اسے پہچاننا مشکل ہے۔
یہ کوئی قیامت کی پیش گوئی نہیں ہے۔ یہ اس تبدیلی کے دور کے بیچ سے ایک فیلڈ رپورٹ ہے۔
پہلا مرحلہ: ٹائپنگ سے پروف ریڈنگ تک
ایک وقت تھا جب اس کے ہنر کی وضاحت کرنا آسان تھا: سوچنا، ٹائپ کرنا، ٹیسٹ کرنا اور اسے لانچ کرنا۔ وہ ہر فنکشن (function) ہاتھ سے لکھتا تھا۔ وہ ویری ایبلز (variables) کے نام رکھتا، لوپس (loops) کو ترتیب دیتا، اور کوشش اور غلطیوں کے ذریعے پیچیدہ حالات (edge cases) کو سنبھالتا۔ کوڈ پڑھنا کوئی الگ کام نہیں تھا۔ یہ تخلیق کا ہی ایک ایسا عمل تھا جسے تھوڑا سست کر کے معائنہ کیا جاتا تھا۔ کوالٹی کنٹرول اور پروڈکشن ایک ہی عمل کا حصہ تھے۔
پھر آٹو کمپلیٹ (autocomplete) محض ایک دلچسپ سہولت سے بڑھ کر ہو گیا۔
AI کوڈنگ اسسٹنٹ صرف اگلے کی ورڈ (keyword) کی تجویز دینے تک محدود نہیں رہے۔ انہوں نے مکمل کلاسز (classes)، ڈیٹا بیس مائیگریشنز (database migrations)، اور API ریپرز (API wrappers) بنانا شروع کر دیے۔ ڈویلپر کے ہاتھ ایرو کیز (arrow keys) سے ہٹ کر ریویو پین (review pane) کی طرف منتقل ہو گئے۔ اس نے لکھنے کا عمل تو کھو دیا، لیکن اس نے خود کو تسلی دی کہ وہ محفوظ ہے۔ وہ اب بھی ہر لائن پڑھتا ہے۔ وہ اب بھی منطق (logic) کی ساخت کا جائزہ لیتا ہے۔ وہ ایک ایڈیٹر، ایک گیٹ کیپر، اور اس عمل کا ایک اہم انسانی حصہ تھا۔
یہ تبدیلی قابلِ برداشت محسوس ہوتی ہے کیونکہ کنٹرول کا وہم اب بھی برقرار ہے۔ آپ اب بھی کوڈ کو چھو رہے ہیں۔ آپ اب بھی غلطیوں (off-by-one errors) کی تلاش میں ہیں۔ لیکن آپ کا کردار پہلے ہی بدل چکا ہے۔ آپ اب مصنف نہیں رہے، بلکہ آپ مشین کے وہم و گمان (hallucinations) کے خلاف دفاع کی پہلی لائن ہیں۔
دوسرا مرحلہ: پڑھنے سے بھروسہ کرنے تک
دوسرا بدلاؤ زیادہ گہرا تھا۔
AI ایجنٹس اتنی تیزی سے ترقی کر گئے کہ وہ انسانی مداخلت کے بغیر گھنٹوں کام کر سکتے تھے۔ وہ اسکیفولڈنگ (scaffolding) تیار کر سکتے تھے، پرانے ماڈیولز (legacy modules) کو ریفیکٹر (refactor) کر سکتے تھے، اور جب وہ کافی پینے کے لیے وقفہ لیتا، تو وہ ڈیپینڈنسیز (dependencies) کو بھی ٹھیک کر سکتے تھے۔ اب پیداوار (throughput) مسئلہ نہیں تھی، بلکہ اس کی اپنی پڑھنے کی رفتار مسئلہ بن گئی تھی۔
پروجیکٹ کو جاری رکھنے کے لیے، اسے ہر لائن پڑھنا چھوڑنا پڑا۔ اس کے علاوہ کوئی راستہ نہ تھا۔ فیکٹری اس کی منظوری دینے کی رفتار سے زیادہ تیزی سے پیداوار کر سکتی تھی۔ اب بھروسہ کرنا ایک ضرورت بن گیا تھا، کوئی خوبی نہیں۔ وہ ایک پروف ریڈر سے آپریشنز مینیجر بن گیا، جو ایک ایسے نظام کی نگرانی کر رہا تھا جو ایک اسپرنٹ (sprint) میں اتنا کوڈ تیار کر دیتا تھا جتنا وہ پہلے ایک سال میں لکھتا تھا۔
اس نے اس احساس کو ایمانداری سے بیان کیا: وہ اب کوڈر نہیں رہا تھا۔ وہ ایک ایسی مشین فیکٹری کا مینیجر تھا جہاں کنویئر بیلٹس (conveyor belts) اس کی آنکھوں کی رفتار سے زیادہ تیز چل رہی تھیں۔
رکاوٹ کا مقام بدل گیا ہے
یہاں وہ بات ہے جسے نظر انداز کرنا آسان ہے۔ رکاوٹ (bottleneck) ختم نہیں ہوئی، بلکہ اس نے اپنی جگہ بدل لی ہے۔
جب انسان کوڈ لکھتے تھے، تو تاخیر دماغ اور IDE کے درمیان ہوتی تھی۔ ڈویلپر سب سے سست حصہ تھا، اور یہ قابلِ قبول تھا۔ جب AI نے لکھنے کی ذمہ داری سنبھال لی، تو رکاوٹ انسانی جائزے (human review) کی صورت میں سامنے آئی۔ پھر، جب ایجنٹس کئی گھنٹوں تک مسلسل کام کرنے کے قابل ہو گئے، تو رکاوٹ انسانی فیصلہ سازی بن گئی۔ ایجنٹس کو کس چیز پر کام کرنا چاہیے؟ آٹومیشن کے لیے کیا محفوظ ہے؟ کس چیز کو دوبارہ دیکھنے کی ضرورت ہے؟
فیکٹری مینیجر کی منظوری کی رفتار سے زیادہ تیزی سے پیداوار کرتی ہے۔ مسئلہ اب مشین کی رفتار نہیں ہے، بلکہ انسان کی معلومات جذب کرنے، فیصلہ کرنے اور رہنمائی کرنے کی صلاحیت ہے۔
اگر آپ رکاوٹ کے اس مقام کی تبدیلی کو نظر انداز کرتے ہیں، تو آپ خود وہ رکاوٹ بن جائیں گے جسے اگلا ٹول ختم کرنے کے لیے بنایا جائے گا۔
تین نئی تعمیرات، ایک کیریئر
دونوں لہروں سے بچنے کے لیے اسے اپنے کردار کو تین الگ الگ بار نئے سرے سے ترتیب دینا پڑا۔
سب سے پہلے، وہ کوڈ لکھنے سے کوڈ پڑھنے کی طرف منتقل ہوا۔ اس کا مطلب تھا کہ شک کے ساتھ تیزی سے پڑھنا سیکھنا، اور ان اوپن سورس ریپوزٹریز (open-source repos) اور فورم تھریڈز (forum threads) پر تربیت یافتہ ماڈلز کے تیار کردہ بوائلر پلیٹ (boilerplate) کوڈ میں باریک غلطیوں کی تلاش کرنا۔ اس کا مطلب تھا یہ پہچاننے کی صلاحیت پیدا کرنا کہ کب کوئی تجویز بظاہر درست لگ رہی ہو لیکن حقیقت میں غلط ہو—یہ ایک ایسا ہنر ہے جو شروع سے کوڈ لکھنے سے بالکل مختلف ہے۔
اس کے بعد، وہ کوڈ پڑھنے سے ورک فلو (workflows) بنانے کی طرف منتقل ہوا۔ بہت سے ڈویلپرز اس وقت اسی مقام پر پہنچ رہے ہیں۔ آپ فنکشنز کو ٹھیک نہیں کر رہے؛ بلکہ آپ اس ماحول کو ڈیزائن کر رہے ہیں جہاں فنکشنز ٹھیک کیے جاتے ہیں۔ آپ پرامپٹس (prompts) لکھتے ہیں، سسٹم کی ہدایات تیار کرتے ہیں، حفاظتی حدود (guardrails) مقرر کرتے ہیں، اور CI گیٹس (CI gates) کو کنفیگر کرتے ہیں۔ آپ وہ نظام (plumbing) بناتے ہیں جو ایجنٹ کو کمپائلر (compiler)، لنٹر (linter)، اور ٹیسٹ سویٹ (test suite) سے جوڑتا ہے۔ آپ کا کام اب کوڈ لکھنے کے بجائے نظام کی ترتیب و تنظیم (orchestration) ہے۔
آخر کار، وہ ورک فلو بنانے سے یہ فیصلہ کرنے کی طرف منتقل ہوا کہ کیا بنانا ہے۔ یہ بلندی کا وہ مقام ہے جہاں ہوا کم ہوتی ہے۔ آپ پہلی فائل تیار ہونے سے پہلے ہی آرکیٹیکچر (architecture) کا انتخاب کر رہے ہوتے ہیں۔ آپ ان حدود، انٹرفیسز (interfaces) اور بزنس لاجک (business logic) کا تعین کر رہے ہوتے ہیں جنہیں AI خود مکمل کرے گا۔ آپ ایک ایسے پروڈکٹ تھنکر (product thinker) بن چکے ہیں جو سسٹم کی زبان بولتا ہے۔
اگر وہ پہلے مرحلے پر ہی رہتا، تو اسے مکمل طور پر تبدیل کر دیا جاتا۔ اس کے اب بھی تنخواہ لینے کی واحد وجہ یہ ہے کہ وہ تیسرے مرحلے تک پہنچ گیا ہے۔
لیکن یہ چڑھائی...
