AI ஏஜெண்டுகளிடம் கேட்பது vs பொறுப்புகளை ஒப்படைப்பது (Asking vs Delegating AI Agents)

பெரும்பாலான டெவலப்பர்கள் AI-ஐ Stack Overflow-ன் ஒரு புத்திசாலித்தனமான பதிப்பாகப் பயன்படுத்துகிறார்கள்.

நீங்கள் ஒரு கேள்வியைத் தட்டச்சு செய்கிறீர்கள். உங்களுக்கு ஒரு பதில் கிடைக்கிறது. பிறகு வேலையை நீங்களே செய்கிறீர்கள். இந்த முறை மெதுவானது.

இதற்கென ஒரு வேகமான வழி உள்ளது. நீங்கள் கேட்பதை நிறுத்திவிட்டு, பொறுப்புகளை ஒப்படைக்கத் தொடங்க வேண்டும்.

நீங்கள் ஒரு AI-யிடம் கேட்கும்போது: "எனது auth module-கான டெஸ்ட்களை (tests) நான் எப்படி எழுதுவது?" உங்களுக்கு ஒரு விளக்கம் கிடைக்கும். ஆனால் டெஸ்ட்களை நீங்களே எழுத வேண்டும். வேலையை நீங்களே செய்ய வேண்டும்.

நீங்கள் ஒரு AI ஏஜெண்டிற்குப் பொறுப்புகளை ஒப்படைக்கும்போது: "/src/auth.py-கான டெஸ்ட்களை எழுதுங்கள். login, logout மற்றும் invalid token நிகழ்வுகளை உள்ளடக்குங்கள். அவற்றை இயக்கவும். அவை தோல்வியடைந்தால், அவை வெற்றி பெறும் வரை குறியீட்டை (code) சரிசெய்யவும். நீங்கள் எதை மாற்றினீர்கள் என்று எனக்குத் தெரியப்படுத்துங்கள்."

அந்த ஏஜென்ட் உங்கள் கோப்புகளைத் திறக்கும். அது டெஸ்ட்களை எழுதும். அவற்றை இயக்கும். தோல்விகளைப் படிக்கும். குறியீட்டைச் சரிசெய்யும். இறுதியில் உங்களுக்குச் செயல்படும் ஒரு test suite-ஐக் கொண்டு வரும்.

நீங்கள் முடிவைச் சரிபார்க்கிறீர்கள். வேலையை நீங்கள் செய்யவில்லை.

பயனுள்ள முறையில் பொறுப்புகளை ஒப்படைக்க நான்கு பகுதிகள் தேவை:

  • இலக்கு (Goal): ஏஜென்ட் எதை உருவாக்க வேண்டும்?
  • வரம்பு (Scope): எந்தக் கோப்புகள் அல்லது பகுதிகளை அது கையாள வேண்டும்?
  • வெற்றி நிலை (Success condition): அது சரியாகச் செய்யப்பட்டுள்ளது என்பதை நாம் எப்படி அறிவது?
  • அறிக்கை (Report back): அது எதை மாற்றியது மற்றும் ஏன்?

நடைமுறை உதாரணங்கள்:

பிழைத்திருத்தம் (Debugging): "இந்த பிழை மற்றும் stack trace-ன் மூல காரணத்தைக் கண்டறியவும். அதைச் சரிசெய்து, பிழை ஏற்பட்டதற்கான காரணத்தை விளக்கவும்."

மறுசீரமைப்பு (Refactoring): "இந்தக் கோப்பை மறுசீரமைக்கவும் (Refactor). அதிகபட்சம் இரண்டு nesting நிலைகளை மட்டுமே பயன்படுத்தவும். 30 வரிகளுக்கு மேல் நீளமான function இருக்கக்கூடாது. ஒவ்வொரு call site-ஐயும் புதுப்பிக்கவும்."

தரவுத்தள இடமாற்றம் (Database migration): "இந்த schema மாற்றத்திற்கான ஒரு idempotent migration script-ஐ எழுதவும். அது வெற்றிகரமாக முடிவதை உறுதி செய்ய ஒரு local database-இல் இயக்கவும்."

ஆய்வு செய்தல் (Reviewing): "இந்த PR diff-ஐப் படிக்கவும். production-இல் தோல்வியடையக்கூடிய எதையும் கண்டறியவும். நான் விடுபட்ட டெஸ்ட்களை எழுதவும்."

ஏஜெண்டுகள் வேகமானவை. ஆனால் சில நேரங்களில் அவை தவறாகவும் இருக்கலாம். அவற்றின் வேலையைச் சரிபார்க்க இந்த மூன்று சோதனைகளைப் பயன்படுத்தவும்:

  1. அது சிக்கலைத் தீர்த்ததா? குறியீட்டை இயக்கவும். அதை வெறும் வாசிக்க மட்டும் வேண்டாம். டெஸ்ட்களைச் செயல்படுத்தவும். edge case தோல்விகளைக் கண்டறிய குறியீட்டை இயக்குவதே ஒரே வழி.

  2. அது உங்கள் codebase-க்கு ஏற்றதா? உங்கள் குழுவின் நடைமுறைகள் (conventions) பற்றி ஏஜெண்டிற்குத் தெரியாது. வழக்கத்திற்கு மாறான முறைகள் அல்லது உங்கள் குழு தவிர்க்கும் libraries உள்ளதா என்று வெளியீட்டைச் சரிபார்க்கவும்.

  3. அது வரம்பிற்கு அப்பாற்பட்ட விஷயங்களை மாற்றியதா? ஏஜென்ட் எந்தக் கோப்புகளைத் தொட்டது என்பதைச் சரிபார்க்கவும். ஒரு junior developer அனுப்பிய PR-ஐப் போல diff-ஐப் படிக்கவும். உதவியாக இருக்கும் அதே வேளையில், அது எதையும் உடைக்கவில்லை என்பதை உறுதிப்படுத்தவும்.

உங்கள் வேலை, வேலையைச் செய்வதிலிருந்து இலக்கை வரையறுப்பதற்கும் முடிவைச் சரிபார்ப்பதற்கும் மாறுகிறது. நீங்கள் தீர்ப்பு வழங்குகிறீர்கள் (judgment). ஏஜென்ட் வேகத்தை வழங்குகிறது.

Source: https://dev.to/omerberatsezer/asking-vs-delegating-agents-43ii

Optional learning community: https://t.me/GyaanSetuAi