gekro
GitHub LinkedIn
Workflow

டெர்மினல் வெலாசிட்டி: AI அப்ஸ்ட்ராக்ஷன் அடுக்காக CLI

7 நிமிட வாசிப்பு

இது ஆங்கில மூலக் கட்டுரையின் இயந்திர மொழிபெயர்ப்பு. சில நுணுக்கங்கள் விடுபடலாம், எனவே ஆங்கிலப் பதிப்பே அடிப்படை ஆதாரம். மூலக் கட்டுரையை ஆங்கிலத்தில் படியுங்கள்

சுருக்கமாக

AI பொறியியலில் GUI-கள் ஏன் தடையாக உள்ளன, WSL2 மற்றும் Zsh கொண்டு அதிவேக கட்டளை-வரி பணிப்பாய்வை எப்படி உருவாக்குவது.
GUI என்பது கண்டுபிடிப்புக்காக வடிவமைக்கப்பட்ட ஒரு பொய், வேகத்துக்காக அல்ல. AI மேம்பாட்டில் சிந்தனையின் வேகத்தோடு ஈடுகொடுக்கும் ஒரே இடைமுகம் டெர்மினல்தான். சுட்டியைத் தொடாமலேயே கணினி வெளியீடுகளை நேரடியாக LLM-களுக்குள் பைப் செய்ய நான் பயன்படுத்தும் குறிப்பிட்ட Zsh செயல்பாடுகளையும் WSL2 உள்ளமைவுகளையும் இந்தக் கட்டுரை விவரிக்கிறது.

நவீன AI ஆய்வகத்தில் உங்கள் உற்பத்தித்திறன் சூழல் மாற்றும் சுமையால் வரையறுக்கப்படுகிறது. பிழைப் பதிவுகளையோ கமிட் செய்திகளையோ ஒட்டுவதற்காக நீங்கள் தொடர்ந்து alt-tab செய்து உலாவிக்குச் சென்றால், உங்கள் கவனத்தை இழக்கிறீர்கள். நான் எல்லாவற்றையும் மிகவும் தனிப்பயனாக்கிய ஒரு WSL2 நிகழ்விலிருந்தே இயக்குகிறேன், ஏனெனில் “நுண்ணறிவு அடுக்குக்கு” டெர்மினல்தான் நேட்டிவ் இடைமுகம். OS-ஐ நேரடியாக LLM-க்குள் பைப் செய்வதன் மூலம் என் “முட்டாள் வேலையை” (வடிவமைப்பு, கமிட் செய்தி எழுதுதல், பதிவுகளைத் தேடுதல்) கிட்டத்தட்ட பூஜ்ஜியமாகக் குறைத்துவிட்டேன்.

இந்த மாற்றம் கொள்கை சார்ந்தது அல்ல. என் IDE PowerShell, Bash கட்டளைகளில் மீண்டும் மீண்டும் தோல்வியடைந்துகொண்டிருந்தது, டெர்மினல் வெறுமனே வேலையைச் செய்தது. முழு “மதமாற்றமும்” அவ்வளவுதான்.

கட்டமைப்பு

என் பணிப்பாய்வு ஷெல்லை இணைக்கத்தக்க தரவுக் குழாய் ஆகப் பார்க்கிறது. எந்தக் கட்டளையின் வெளியீடும், தோல்வியடைந்த பில்டாகவோ, git diff ஆகவோ, curl பதிலாகவோ இருந்தாலும் வெறும் உரைதான். உரைதான் LLM-களின் முதன்மை மொழி.

கூறுகருவி / உள்ளமைவுகாரணம்
ஷெல்Zsh + Oh My Zshபிளகின் சூழல் அமைப்பும் மேம்பட்ட டேப்-நிறைவும்.
டெர்மினல்Windows TerminalWindows-க்கு சிறந்த பல-தாவல் மற்றும் GPU ரெண்டரிங்.
மல்டிபிளெக்ஸர்TmuxWSL2 மறுதொடக்கங்களைத் தாண்டிய நிலையான அமர்வுகள்.
எழுத்துருMesloLGS NFPowerlevel10k மற்றும் ஐகான்களுக்குத் தேவை.
AI CLIfabric / ollamaஉரையை “மூளைகளுக்கு” பைப் செய்யும் இலகுவான உறைகள்.

உருவாக்கம்

உண்மையான ஆற்றல் உங்கள் .zshrc-இல் உள்ளது. எளிய பணிகளுக்கு நான் சிக்கலான ஏஜென்ட்களைப் பயன்படுத்துவதில்லை; என் GekroLLMClient-உடன் பேசும் ஷெல் செயல்பாடுகளைப் பயன்படுத்துகிறேன்.

1. AI-இயக்கும் Git கமிட்கள்

கமிட் செய்தியாக “fix” என்று எழுதுவதை நிறுத்துங்கள். இந்தச் செயல்பாடு உங்கள் மாற்றங்களை ஸ்டேஜ் செய்து, diff-ஐ உள்ளூர் Llama 3 நிகழ்வுக்கு அனுப்பி, கன்வென்ஷனல் கமிட் செய்தியை உருவாக்குகிறது.

# Generate AI commit message from staged changes
aic() {
  local diff=$(git diff --cached)
  if [ -z "$diff" ]; then
    echo "No staged changes found."
    return 1
  fi
  
  echo "Generating commit message..."
  local msg=$(echo "$diff" | ollama run llama3 "Generate a concise, one-line conventional commit message for this diff. No preamble.")
  
  git commit -m "$msg"
}

2. Explain பைப்

ஒரு கட்டளை தோல்வியடையும் ஒவ்வொரு முறையும் அதை பைப் செய்கிறேன். புரியாத C++ பிழைக் குறியீடுகளை இனி கூகுளில் தேட வேண்டியதில்லை.

# Pipe any output to LLM for instant explanation
alias explain="ollama run llama3 'Explain this error output and suggest a fix concisely:'"

# Usage:
# npm run build | explain

3. WSL2 உள்ளமைவுக் குறிப்பு

Windows-இல் இதை நேட்டிவ் Linux அனுபவம் போலாக்க, பாதை மற்றும் எழுத்துரு குறைகளைச் சரிசெய்ய வேண்டும்.

Windows Terminal-இன் settings.json துண்டு:

{
    "guid": "{57605e5d-1f0f-5602-9ae4-0466a014995f}",
    "name": "Ubuntu-22.04",
    "source": "Windows.Terminal.Wsl",
    "font": {
        "face": "MesloLGS NF",
        "size": 12
    },
    "startingDirectory": "//wsl$/Ubuntu-22.04/home/rohit"
}

குறிப்பு: NTFS/9P செயல்திறன் அபராதத்தைத் தவிர்க்க, Windows பயன்பாடுகளில் எப்போதும் //wsl$/ பாதை வடிவத்தைப் பயன்படுத்துங்கள்.

சமரசங்கள்

இதை அமைக்க நான் திட்டமிடாத மணிநேரங்கள் ஆயின. WSL2, Zsh உள்ளமைவு வழியாக என்னை நடத்திச் செல்ல ஒரு மாடலை முயன்றபோது, அது என்னைச் சுற்றலில் விட்டது (இது Gemini-யின் இரண்டாம் தலைமுறை): முழு நம்பிக்கையுடன் ஒரு கட்டளையைக் கொடுக்கும், நான் ஒட்டுவதைப் பார்க்கும், அது தோல்வியடைவதைப் பார்க்கும், பிறகு இன்னொன்றைக் கொடுக்கும். இறுதியில் உண்மையான ஆவணங்களைப் படித்தே அங்கு சென்றடைந்தேன், 2015-இல் போல. நீங்கள் இந்த அமைப்பைச் செய்தால், ஒரு பிற்பகல் முழுவதும் ஒதுக்கி, குறுக்குவழியை விட்டுவிடுங்கள்.

பொறியாளர்கள் செய்வதில் நான் காணும் மிகப்பெரிய தவறு மாற்றுப்பெயர்ச் சுமை. என்னிடம் ஒருகாலத்தில் 200+ மாற்றுப்பெயர்கள் இருந்தன; கட்டளையைத் தட்டச்சு செய்யும் நேரத்தைவிடக் குறுக்குவழியை நினைவில் கொள்ளவே அதிக நேரம் செலவிட்டேன். அதன்பின் அவற்றை “உயர்-அதிர்வெண் ஐந்து” என்று குறைத்துவிட்டேன்: aic (AI கமிட்), gup (Docker Compose Up), ld (பதிவுக் குவிப்பு), pf (Python வடிவமைப்பு), explain.

செயல்பாட்டு யதார்த்தம்: உணர்திறன் மிக்க பதிவுகளை கிளவுட் LLM-க்கு பைப் செய்வது ஒரு பாதுகாப்பு மீறலுக்காகக் காத்திருப்பது. தெளிவான உரையில் நற்சான்றுகள் கொண்ட உற்பத்தி .env கோப்பை நான் தவறுதலாக கிளவுட் வழங்குநருக்கு அனுப்பியபோது இதைக் கற்றுக்கொண்டேன்; அது “explain” மாற்றுப்பெயருக்கு நான் பைப் செய்த grep-இல் சிக்கிக்கொண்டது. ஷெல் பைப்பிங்குக்கு எப்போதும் உள்ளூர் Ollama நிகழ்வைப் பயன்படுத்துங்கள், அப்போதுதான் உங்கள் சூழல் மாறிகள் உங்கள் கணினியிலேயே இருக்கும்.

இன்னும் ஒன்று, இது தலைப்பிலுள்ள காற்றைச் சற்றுக் குறைக்கிறது. நான் இப்போது இரண்டையும் பயன்படுத்துகிறேன். தனக்குப் பொருந்தும் வேலைகளை டெர்மினல் வென்றது, GUI தனக்குரியவற்றை வைத்துக்கொண்டது, வழியில் எங்கோ நான் மதிப்பெண் கணக்கிடுவதை நிறுத்திவிட்டேன். சுத்தமான முடிவுடன் கூடிய மதமாற்றக் கதையைத் தேடி வந்திருந்தால், நேர்மையான பதிப்பு இதுதான்.

இது எங்கே செல்கிறது

தற்போது டெர்மினலிலிருந்து செயலுக்கு என்ற பாலத்தை உருவாக்கி வருகிறேன். பிழையை வெறுமனே விளக்குவதற்குப் பதிலாக, ஷெல் செயல்பாடு ஒரு sed அல்லது patch கட்டளையை முன்மொழியும், நான் Y அழுத்தி திருத்தத்தை நேரடியாகச் செயல்படுத்தலாம். டெர்மினல் வழக்கொழிந்து போகவில்லை; நாம் உருவாக்கும் ஒவ்வொரு ஏஜென்ட்டுக்கும் அது காக்பிட் ஆகிறது.

Rohit Burani

எழுதியவர்

Rohit Burani

AI பொறியாளர். ஆய்வகத்திலிருந்து லோக்கல்-ஃபர்ஸ்ட் அமைப்புகள், சுயமாக ஹோஸ்ட் செய்யப்படும் உள்கட்டமைப்பு, தன்னாட்சிக் கருவிகளை உருவாக்குகிறார்.