Claude Code serijos pamoka 3: Kodėl pateikiamas tik terminalas
1.3 Kodėl reikia rašyti kodą terminale?
Įsivaizduokite: rašote naują funkciją ir staiga suprantate, kad reikia pakeisti pagrindinę įrankio funkciją, išsibarsčiusią trijuose failuose, kai kurie iškvietimai kerta modulius. Atidarote redaktorių, ieškote visame projekte, vartote failą po failo, atsargiai redaguojate, paleidžiate testus – ir jie sugriūna. Žiūrite į klaidą, sekate krūvą, taisote, ir vėl iš naujo.
Šio proceso metu realiai laikas, skirtas „išsiaiškinti, kaip pakeisti“, gali būti mažesnis nei pusė. Likusi pusė – mechaninis darbas: failų paieška, nuorodų keitimas, kompiliavimo laukimas, pelės spustelėjimai.
Įdėjus AI į terminalą, pagrindinis tikslas yra sumažinti šiuos mechaninius darbus.
Terminalas yra arčiausiai kodo
Galbūt naudojate VS Code, JetBrains ar Vim. Nesvarbu, kurį, rašant kodą neišvengsite terminalo. Paleidžiate npm test, git log, grep, make build – šios operacijos natūraliai atliekamos komandinėje eilutėje.
Taigi, jei jūsų AI partneris taip pat yra tame pačiame terminale, viskas tampa paprasčiau. Jums nereikia kopijuoti failų turinio į pokalbio langą, nereikia aprašinėti „mano projekte yra klasė UserService, ji yra faile src/services/user.ts 42 eilutėje...“. Claude Code stovi projekto šakniniame kataloge ir pats viską mato.
Tai yra konteksto pranašumo smūgis. Kai sakote Claude Code „prašau pertvarkyti klaidų tvarkymą prisijungimo modulyje“, jis tikrai skaito jūsų auth/login.ts, skaito errors.ts, randa visas vietas, kur jis iškviečiamas, ir tiesiogiai keičia. Nereikia jūsų tarpininko.
Išlaisvina jus iš „operatoriaus“ vaidmens
Naudojant internetinį AI pokalbį, dažnai nesąmoningai tampame „tarpininku“: AI išveda kodą, mes skaitome, tikriname, kopijuojame, grįžtame į redaktorių ir įklijuojame. Jei kodas veikia – puiku; jei ne – kopijuojame klaidą, vėl klausiame, vėl kopijuojame. Šis procesas labai trikdo srautą.
Claude Code dizaino idėja yra grąžinti jus į „mąstytojo“ poziciją. Jūs sakote idėją, jis veikia. Po pakeitimų terminale matote diff ir nusprendžiate, ar priimti. Jis taip pat gali paleisti testus, lint. Jūs sėdite ir dažniausiai skaitote kodą, priimate sprendimus, o ne nuolat perjunginėjate langus.
Kodėl ne redaktoriaus įskiepis?
Galbūt paklausite: kodėl gi tiesiog nepadaryti AI įskiepio redaktoriuje?
Redaktoriaus įskiepiai, žinoma, naudingi, ir daugelis komandų jau juos naudoja. Tačiau Claude Code terminale turi keletą savybių, kurias sunku pakeisti įskiepiu:
- Nėra redaktoriaus apribojimų. Šiandien naudojate VS Code, rytoj pereisite prie Neovim ar net nuotoliniame serveryje be GUI – Claude Code veiks. Jis nepriklauso nuo jūsų įrankių.
- Gali daryti daugiau „nepaprastų“ dalykų. Terminale jis gali vykdyti bet kokias Shell komandas. Tai reiškia, kad jo veiksmų ribos yra daug platesnės – gali padėti paleisti Docker konteinerį patikrinti duomenų bazės migraciją, gali atsisiųsti nuotolinę šaką ir patikrinti konfliktus, po kodo pakeitimų automatiškai paleisti e2e testus. Tokių dalykų redaktoriaus įskiepiai paprastai nedrįsta daryti arba tiesiog negali.
- Masinis apdorojimas ir automatizavimas. Galite įdėti Claude Code į scenarijų ir leisti jam apdoroti dešimtis repozitorijų, masiškai generuoti dokumentaciją, automatiškai tvarkyti Issues. Tada jis jau ne „asistentas“, o grandinės dalis.
Mano asmeninis pavyzdys
Anksčiau turėjau perkelti JavaScript projektą į TypeScript, maždaug 20 000 kodo eilučių. Aš ne rankiniu būdu pridėjau tipus prie kiekvieno failo, ir nesitikėjau, kad redaktoriaus įskiepis viską padarys už mane.
Aš tiesiog tame projekto kataloge paleidau Claude Code ir pasakiau: „Perkelk šį projektą į TypeScript griežtąjį režimą palaipsniui, keisk po kelis failus, po kiekvienos partijos paleisk tsc --noEmit, jei yra klaidų – taisyk jas, kol viskas praeis.“
Per kitą pusvalandį aš daugiausia dariau tik vieną dalyką: žiūrėjau jo pakeitimų diff, linktelėjau arba papurčiau galvą. Kartais pasakydavau „čia nenaudok any, apibrėžk interface“, ir jis toliau dirbo. Galiausiai projektas kompiliavosi, o tai užtruko kelis kartus greičiau, nei tikėjausi.
Tai, žinoma, nereiškia, kad Claude Code yra protingesnis už įskiepį. Tačiau jis gali pats atlikti „pakeisti – patikrinti – taisyti“ ciklą, ir tai yra esminis skirtumas nuo pokalbio tipo AI.
Galų gale, terminalas suteikia AI rankas ir kojas
Įdėjus AI į terminalą, iš esmės suteikiama jam vykdymo galia, o ne tik patarimo galia.
Tai leidžia jūsų kodo saugyklai nebūti tiesiog tekstu, kurį galima tik skaityti, o tapti realia aplinka, kurią AI gali „liesti“, keisti ir tikrinti. Tai didžiulis šuolis.
Jūs vis dar valdote projekto kryptį ir visus svarbius sprendimus, bet tie nuobodūs, mažai kūrybingi darbai, reikalaujantys nuolatinių peršokimų, turi tinkamesnį vykdytoją.
评论
暂无已展示的评论。
发表评论(匿名)