Claude Code -sarjan opetusohjelma 3: Miksi vain pääte?
1.3 Miksi kirjoittaa koodia päätteessä?
Oletetaan, että kirjoitat uutta toimintoa ja huomaat yhtäkkiä, että sinun on muutettava matalan tason työkalufunktiota, joka on hajallaan kolmessa tiedostossa, ja osa kutsuista ylittää moduulirajoja. Avaat editorin, teet globaalin haun, selaat tiedostoja yksi kerrallaan, muutat varovasti, suoritat testit uudelleen – ja ne epäonnistuvat. Katsot virheilmoituksia, tutkit pinon jälkiä, korjaat, ja teet kaiken uudelleen.
Tässä prosessissa todellinen aika, joka kuluu "miettimiseen, miten muuttaa", on alle puolet. Loput on mekaanista työtä: tiedostojen etsiminen, viittausten muuttaminen, kääntämisen odottaminen, hiiren napsauttelu.
AI:n tuominen päätteeseen on ensisijaisesti tarkoitettu tiivistämään tämä mekaaninen työ.
Pääte on lähimpänä koodia
Saatat käyttää VS Codea, JetBrainsia tai Vimia. Riippumatta siitä, mitä käytät, et voi koodatessasi välttää päätettä. npm test, git log, grep, make build – nämä toiminnot tapahtuvat luonnostaan komentorivillä.
Jos AI-kumppanisi istuu samassa päätteessä, asiat yksinkertaistuvat. Sinun ei tarvitse kopioida tiedostojen sisältöä chat-ikkunaan, sinun ei tarvitse itse kuvata: "Projektissani on luokka nimeltä UserService, se on tiedostossa src/services/user.ts rivillä 42..." Claude Code seisoo projektin juurihakemistossa ja näkee itse.
Tämä on kontekstuaalinen ylivoima. Kun sanot Claude Codeille: "Uudelleenjärjestele kirjautumismoduulin virheenkäsittely", se todella lukee auth/login.ts:n, lukee errors.ts:n, etsii kaikki sen kutsukohdat ja muuttaa suoraan. Sinun ei tarvitse toimia tiedonsiirtäjänä.
Vapauttaa sinut "operaattorin" roolista
Käytettäessä selaimen AI-chattia toimimme usein tiedostamatta "välikätenä": AI tuottaa koodia, me luemme, vahvistamme, kopioimme ja liitämme takaisin editoriin. Jos koodi toimii, hienoa; jos ei, kopioimme virheilmoituksen, kysymme uudelleen, kopioimme uudelleen. Tämä prosessi keskeyttää flow-tilan.
Claude Coden suunnitteluajatus on palauttaa sinut "ajattelijan" asemaan. Sinä sanot idean, se toimii. Muutoksen jälkeen näet diffin suoraan päätteessä ja päätät, hyväksytkö sen. Se voi myös automaattisesti ajaa testejä ja linttauksen. Istut siellä ja enimmäkseen luet koodia ja teet päätöksiä sen sijaan, että vaihtaisit ikkunoita jatkuvasti.
Miksi ei editorilaajennus?
Saatat kysyä: miksi ei vain tehdä AI-laajennusta editoriin?
Editorilaajennukset ovat tietysti hyödyllisiä, ja monet tiimit käyttävät niitä jo. Mutta päätteen Claude Codella on muutamia ominaisuuksia, joita laajennukset eivät helposti korvaa:
- Ei editorisidonnaisuutta. Käytät tänään VS Codea, huomenna Neovimia, tai jopa etäpalvelimella ilman GUI:ta, Claude Code toimii. Se on riippumaton valitsemastasi työkalusta.
- Voi tehdä enemmän "rajat ylittäviä" asioita. Päätteessä se voi suorittaa mitä tahansa Shell-komentoja. Tämä tarkoittaa, että se voi tehdä paljon laajemmin asioita – se voi käynnistää Docker-säiliön tietokannan migraation testaamiseksi, hakea etähaaran ja tarkistaa konfliktit, ajaa e2e-testit automaattisesti koodin muutoksen jälkeen. Nämä asiat, editorilaajennukset eivät yleensä uskalla tehdä tai eivät pysty tekemään.
- Eräkäsittely ja automaatio. Voit upottaa Claude Coden skriptiin ja antaa sen käsitellä kymmeniä repositorioita, tuottaa dokumentaatiota massoittain, käsitellä Issues-ongelmia automaattisesti. Tällöin se ei ole enää "avustaja", vaan osa tuotantolinjaa.
Oma pieni esimerkkini
Aiemmin minun piti siirtää JavaScript-projekti TypeScriptiin, noin 20 000 riviä koodia. En tehnyt sitä manuaalisesti lisäämällä tyyppejä tiedosto kerrallaan enkä luottanut siihen, että editorilaajennus hoitaisi kaiken.
Sen sijaan käynnistin Claude Coden suoraan projektihakemistossa ja sanoin sille: "Siirrä tämä projekti asteittain TypeScript-tiukkaan tilaan, muuta muutama tiedosto kerrallaan, aja jokaisen erän jälkeen tsc --noEmit, ja jos virheitä ilmenee, korjaa itse, kunnes kaikki menee läpi."
Seuraavan puolen tunnin aikana tein periaatteessa vain yhtä asiaa: katsoin sen tekemiä diffejä, nyökkäsin tai pudistin päätäni. Joskus sanoin sille: "Älä käytä any-tyyppiä tässä, määrittele interface", ja se jatkoi työtä. Lopuksi projekti kääntyi onnistuneesti, paljon nopeammin kuin olin arvioinut.
Tämä ei tietenkään tarkoita, että Claude Code olisi älykkäämpi kuin laajennus. Mutta se pystyy suorittamaan "muokkaa-tarkista-korjaa" -silmukan itse, mikä on sen perustavanlaatuisin ero chat-pohjaiseen AI:hin.
Loppujen lopuksi pääte antaa AI:lle kädet ja jalat
AI:n sijoittaminen päätteeseen antaa sille olennaisesti suorituskyvyn, ei vain ehdotuskyvyn.
Se tekee koodivarastostasi paikan, joka ei ole enää vain joukko luettavia tekstejä, vaan todellinen ympäristö, jota AI voi "koskettaa", muokata ja vahvistaa. Tämä on valtava harppaus.
Sinulla on edelleen projektin suunta ja kaikki keskeiset päätökset, mutta ne tylsät, vähän luovat ja toistuvat tehtävät, jotka vaativat jatkuvaa siirtymistä, ovat saaneet sopivamman tekijän.
评论
暂无已展示的评论。
发表评论(匿名)