کچھ سال پہلے 15 سافٹ ویئر پروجیکٹس کو ایک ہی وقت میں سنجیدگی سے review کرنے کا خیال مجھے غیرحقیقی لگتا۔ میرا مطلب صرف 15 repositories کھول کر اوپر اوپر دیکھنا نہیں ہے۔ میرا مطلب حقیقی projects کو بار بار bugs، غلط assumptions، SEO issues، translation mistakes، localization inconsistencies، missing tests، regressions اور ایسے پرانے code کے لیے چیک کرنا ہے جو اب system کے باقی حصے سے match نہیں کرتا۔
اصل limit typing speed نہیں تھی۔ Attention تھی۔ ہر project کی اپنی history، conventions، edge cases اور ایسا code ہوتا ہے جو غلط دکھ سکتا ہے لیکن جان بوجھ کر رکھا گیا ہوتا ہے۔ Careful review میں پڑھنا، search کرنا، compare کرنا، checks چلانا اور پھر فیصلہ کرنا شامل ہے کہ اصل میں کیا بدلنا چاہیے۔
Codex نے میرے لیے اس repetitive work کی economics بدل دی۔ یہ repository پر first pass کر سکتا ہے، references follow کر سکتا ہے، related files inspect کر سکتا ہے، suspicious patterns surface کر سکتا ہے، tests suggest کر سکتا ہے اور ایسے areas investigate کرنے میں مدد دے سکتا ہے جنہیں پہلے میں manually ایک ایک کر کے کھولتا۔ Final decision automatic نہیں ہوتی، decision سے پہلے والی expensive investigation بہت تیز ہو جاتی ہے۔
میری سب سے اہم rule سادہ ہے: میں Codex اس لیے استعمال نہیں کرتا کہ خود کو review loop سے نکال دوں؛ میں اسے اپنے review loop کا دائرہ بڑھانے کے لیے استعمال کرتا ہوں۔
اصل bottleneck coding نہیں، repetition ہے
ایک project maintain کرتے ہوئے بہت سا context ذہن میں رکھا جا سکتا ہے۔ کئی projects کے ساتھ یہ scale نہیں کرتا۔ ایک ہی طرح کا کام بار بار آتا ہے:
- مختلف components میں similar bugs تلاش کرنا؛
- دیکھنا کہ refactor کے بعد پرانا call site باقی تو نہیں؛
- behavior changes کے بعد tests review کرنا؛
- metadata، language logic، headings یا internal links میں inconsistency ڈھونڈنا؛
- localization keys اور translated content compare کرنا؛
- missing error handling اور edge cases تلاش کرنا؛
- دیکھنا کہ “small” change نے توقع سے زیادہ files تو نہیں چھوئیں؛
- ایسے diffs پڑھنا جو الگ الگ simple ہیں لیکن مجموعی طور پر بہت وقت لیتے ہیں۔
یہ glamorous کام نہیں، مگر سب اہم ہیں۔ یہی review کئی codebases پر repeat ہو تو cost بہت بڑھ جاتی ہے۔
یہی جگہ AI coding agent میرے لیے سب سے useful ہے۔ یہ search space کے repetitive حصے کو consume کرتا ہے تاکہ میری attention judgment کے لیے بچے۔
میں inspection سے شروع کرتا ہوں، سب کچھ rewrite کرنے کی permission سے نہیں
خراب result حاصل کرنے کا آسان طریقہ ہے کہنا: “پورے project کو review کرو اور سب کچھ fix کر دو۔” Efficient لگتا ہے، مگر discovery، prioritization، architecture، implementation اور validation کو ایک uncontrolled task میں ملا دیتا ہے۔
Stages الگ کرنے سے result بہتر آتا ہے۔
inspect → explain findings → prioritize → change → validate → review diffپہلے چاہتا ہوں agent relevant area سمجھے اور بتائے کیا ملا۔ Concrete file paths، affected code، کیوں suspicious ہے اور likely impact کیا ہو سکتا ہے—یہ سب چاہیے۔ Change بعد میں۔
یہ اہم ہے کیونکہ AI بہت confidence کے ساتھ غلط ہو سکتا ہے۔ Redundant دکھنے والا code پرانے browser، payment edge case، migration path یا ایسے business rule کے لیے ہو سکتا ہے جو ایک file سے سمجھ نہیں آتا۔ Inspection غلط assumption کو giant diff بننے سے پہلے روک دیتی ہے۔
میں findings کو verdict نہیں، leads سمجھتا ہوں
اچھا Codex review “17 problems ملے” پر ختم نہیں ہونا چاہیے۔ Number تقریباً بے معنی ہے اگر evidence نہ ہو۔
Actionable finding کے لیے جاننا چاہتا ہوں:
- problem کہاں ہے؛
- کیوں problem ہے؛
- کون سا behavior fail ہو سکتا ہے؛
- conclusion پر کتنا confidence ہونا چاہیے؛
- کون سا check اسے confirm یا reject کر سکتا ہے؛
- smallest safe fix کیا ہے۔
Security، SEO اور business logic میں یہ خاص طور پر اہم ہے۔ Agent investigation کے لیے جگہ دکھا سکتا ہے، مگر security جیسی explanation confirmed vulnerability نہیں۔ SEO warning automatic ranking problem نہیں۔ Strange condition automatic dead code نہیں۔
AI candidates تلاش کرنے کی cost کم کرتا ہے۔ Verification طے کرتی ہے کیا real ہے۔
Validation loop workflow کو trustworthy بناتا ہے
Code generation AI-assisted development کا visible حصہ ہے، مگر production usefulness validation سے آتی ہے۔
Change کے بعد codebase کا جواب چاہیے۔ Project کے حساب سے:
- TypeScript یا دوسرا compiler/type checker؛
- lint؛
- unit اور integration tests؛
- build checks؛
- پرانے names یا call sites کے لیے targeted search؛
- final diff کی manual review؛
- user-facing behavior کی manual verification.
Exact commands سے زیادہ loop اہم ہے۔ Agent assumption بناتا ہے، repository evidence دیتا ہے، next decision evidence پر ہوتا ہے۔
اسی لیے AI-assisted work میں strongly typed projects پسند ہیں۔ الگ article میں لکھا ہے کہ TypeScript real software delivery میں Codex کے ساتھ اتنا اچھا کیوں کام کرتا ہے: types بہت سے wrong assumptions کو فوراً machine-readable feedback میں بدل دیتے ہیں۔
کچھ review categories AI کے لیے خاص طور پر اچھی ہیں
Bugs اور regressions
Agent value کو files کے across follow کر سکتا ہے، callers inspect کر سکتا ہے، similar implementations compare کر سکتا ہے اور inconsistent branches ڈھونڈ سکتا ہے۔ Symptom کی source narrow کرنے میں مدد ملتی ہے۔ Conclusion لینے سے پہلے behavior reproduce یا verify کرتا ہوں۔
Tests
AI ایسے behavior کو تلاش کرنے میں useful ہے جو بدل گیا لیکن matching test coverage نہیں، edge cases suggest کرنے اور existing test اصل میں کیا protect کرتا ہے سمجھانے میں بھی۔ Implementation detail test کرنے والے tests بھی surface کر سکتا ہے۔
SEO
Technical SEO میں consistency work بہت ہے: metadata، language alternates، indexability، internal links، templates، sitemap generation، redirects اور page-level conventions۔ Agent بڑی codebase میں یہ rules ہر route manually کھولنے سے تیز compare کر سکتا ہے۔ مگر technical correctness اور content خود rank کرنے کے لائق ہے یا نہیں — یہ الگ سوال ہیں۔
Localization اور translations
Multilingual product میں یہ بہت repetitive area ہے۔ AI keys compare، missing values find، wrong language detect، placeholders check اور locale structure drift highlight کر سکتا ہے۔ بڑے translation objects manually scan کرنے سے بہت تیز، مگر important copy کو human judgment چاہیے۔
Refactoring کے بعد consistency
Large refactors boring طریقوں سے fail ہوتے ہیں: پرانا import رہ جاتا ہے، ایک route پرانا field name استعمال کرتی ہے، ایک test fixture old shape رکھتا ہے۔ Repository-wide search اور change intent سمجھنے والا agent یہاں بہت useful ہے۔
Parallel work تب ہی مدد کرتا ہے جب tasks independent ہوں
بہت agents چلا کر سب کو ایک ساتھ changes کرنے دینا tempting ہے۔ Throughput بڑھ سکتا ہے، مگر conflicts اور inconsistent assumptions بھی multiply ہو سکتے ہیں۔
Parallelism کو coordination problem سمجھتا ہوں۔ Independent audits اچھے candidates ہیں: ایک project localization کے لیے check ہو، دوسرا tests کے لیے review ہو، یا الگ repositories ساتھ inspect ہوں۔ Shared plan کے بغیر ایک architecture دو agents سے rewrite کروانا الگ بات ہے۔
جتنا parallel work، اتنی boundaries اہم: clear project، clear task، clear definition of done اور separately reviewable result.
Goal maximum agents چلانا نہیں۔ Goal useful، verifiable progress maximize کرنا ہے۔
کیا blindly delegate نہیں کرتا
- Architecture decisions: model options دے سکتا ہے، مگر long-term trade-offs repo سے باہر context پر depend کر سکتے ہیں۔
- Security conclusions: findings کو verification، threat context اور اکثر specialized tools چاہیے۔
- Business rules: code internally consistent ہو کر بھی wrong product behavior implement کر سکتا ہے۔
- Large destructive refactors: huge diff سمجھنا مشکل اور careless approve کرنا آسان ہے۔
- Production deployment: passing tests operational risk ختم نہیں کرتے۔
- Final review: اپنے نام سے change ship کرنے سے پہلے جاننا چاہتا ہوں کیا بدلا۔
AI ان areas میں useless نہیں، بلکہ plausible غلط answer یہاں بہت مہنگا ہو سکتا ہے۔
AI review static analysis کا replacement نہیں
Codex کو compiler، linter، test، scanner یا monitoring کا replacement نہیں سمجھتا۔ ان tools کا advantage ہے: narrow، deterministic، repeatable.
Strongest workflow سب کو combine کرتا ہے۔ Codex context پر reason کر کے بتاتا ہے کہاں دیکھیں۔ Static tools precise rules enforce کرتے ہیں۔ Tests behavior verify کرتے ہیں۔ Logs اور monitoring reality دکھاتے ہیں۔ Human review ان signals کو product intent سے جوڑتا ہے۔
Feedback systems کے بغیر AI پر زیادہ نہیں، کم trust کروں گا۔
سب سے بڑا productivity gain attention کا بہتر allocation ہے
“Codex time save کرتا ہے” کہنا آسان ہے، مگر میرے لیے اصل change بڑا ہے۔
Software development میں scarce resource keystroke نہیں، high-quality attention ہے۔ AI coding agents سے پہلے بہت attention repetitive discovery میں جاتا تھا: وہی patterns search، similar files پڑھنا، references follow، change ہر جگہ پہنچا یا نہیں check، اور دوسرے repository میں وہی audit repeat۔
اب first-pass work زیادہ delegate کر سکتا ہوں اور attention difficult decisions کے لیے رکھتا ہوں: finding important ہے؟ fix architecture میں fit کرتا ہے؟ UX improve ہوتی ہے؟ risk acceptable ہے؟ کیا واقعی ship کرنا چاہتا ہوں؟
اسی لیے کئی projects maintain اور review کرنا اب مختلف لگتا ہے۔ کم review نہیں کرتا۔ کئی cases میں زیادہ کر سکتا ہوں کیونکہ mechanical part پورا budget consume نہیں کرتا۔
Workflow جس پر مجھے trust ہے
- Narrow review goal define کریں. Bugs، tests، SEO، localization، refactor یا specific concern.
- Edit سے پہلے agent inspect کرے. Evidence اور affected locations پہلے.
- Findings prioritize کریں. ہر theoretical issue code change deserve نہیں کرتا.
- Changes bounded رکھیں. Small coherent diffs validate آسان ہیں.
- Machine checks چلائیں. Typecheck، lint، tests، build، search یا project-specific validation.
- Diff manually پڑھیں. Unnecessary rewrites، wrong assumptions، missing edge cases اور scope سے باہر changes تلاش کریں.
- Important behavior verify کریں. خاص طور پر users، money، security، SEO اور production infrastructure.
- پھر next project پر جائیں. Parallelism useful ہے مگر unresolved uncertainty پھیلنی نہیں چاہیے.
15 projects اب 15 گنا review work جیسے نہیں لگتے
Codex نے 15 projects simple نہیں کیے اور responsibility نہیں ہٹائی۔ اس نے scale اور repetitive effort کے درمیان relationship بدلا۔
Deeper first pass، broader consistency checks، زیادہ test ideas اور systematic audits کر سکتا ہوں بغیر ہر file میں ہر minute خود search کیے۔ Saved attention ان decisions میں جاتا ہے جنہیں ابھی بھی developer چاہیے۔
یہی AI-assisted development مجھے valuable لگتا ہے: autopilot نہیں، blind trust نہیں اور “کچھ pass ہونے تک code generate کرو” نہیں۔ Machine-scale inspection اور human-scale judgment کے درمیان tighter loop.
میرے لیے Codex کا real leverage یہی ہے۔ یہ review ختم نہیں کرتا۔ Serious review اس scale پر ممکن بناتا ہے جسے پہلے maintain کرنا بہت مشکل تھا۔