Blogi

Väsymätön toveri Claude – näin hyödynnät agentteja ohjelmistokehityksessä

Joonas Pajunen Teknologia

Joonas ja Claude työn touhussa Joonas ja Claude työn touhussa

Väsymätön toverini Claude Code subagentteineen kirjoittaa puolestani koodin. Tehtäväkseni jää hallita ja johtaa kaikkea muuta ohjelmistokehitykseen kuuluvaa työtä. Työtä, jolle ei monesti ennen ole jäänyt riittävästi aikaa.

Maailmassa, jossa valtaosa ajasta ei enää kulu koodin kirjoittamiseen, tärkeimmäksi asiaksi nousevat hyvät käytänteet ja prosessit sekä itsekuri niiden noudattamisessa. Osa prosesseista on perinteistä projektin ja ihmisten johtamista, mutta osan voi suorittaa Claude Coden kanssa.

Tässä artikkelissa kerron, miten Claude Code (tekstissä myös “CC”) viritetään toimimaan ohjelmistokehittäjänä tai jopa agenttitiimiä ohjaavana managerina. Nämä teknologiat kehittyvät jatkuvasti, joten mainittakoon, että nyt puhutaan syksystä 2025. Claude Coden tilalla voi myös toimia jokin toinen vastaava agenttipohjainen ratkaisu.

Näin pääset alkuun Claude Coden kanssa: kustannukset ja tietosuoja

Helpoin tapa aloittaa on parin kympin investointi Claude Pro:hon, jolla saat testata Claude Codea rajoitetusti. Raja tulee yleensä vastaan reilussa tunnissa, mutta kokeiluja voi jatkaa rajoitusten nollautuessa viimeistään viiden tunnin päästä. Tällä tasolla voi harrastella sujuvasti pitkin pimeitä syksyn iltoja!

Periaatteessa avoimen lähdekoodin opencode-niminen, Claude Coden tavoin toimiva kirjasto voi kytkeytyä itse ajettavaan kielimalliin ja toimia CC:n tavoin täysin lokaalisti. Oman, ja etenkin yhtä tehokkaan mallin ajaminen, on kuitenkin vielä toistaiseksi paljon kalliimpaa.

Tietosuojan osalta muista, että kielimallille ei kannata koskaan antaa mitään tietosuojan piiriin liittyvää, kuten esimerkiksi henkilötietoja. Lähdekoodisi käy aina CC:tä kehittävän ja tarjoavan Anthropicin mankeleiden ja konesalien läpi vaikka lupaus on, totta kai, että tietoja ei käytetä tekoälymallien kouluttamiseen.

Clauden konfigurointi ja käytön ensiaskeleet

Claude Codea ajetaan komentoriviltä, joka on kaikille kehittäjille kotoisa paikka tehdä töitä. Komentoriviltä aukeaa nykyään kaikille tuttu chat-pohjainen käyttöliittymä. Tarkista Claude Coden ajantasaiset asennusohjeet.

Asennusohjeiden lisäksi muuta ei tarvita, sillä asiat hoituvat pelkällä chatilla. Kirjoita chattiin "toteuta minulle feature X joka toimii tavalla y" ja CC aloittaa työt – joko puhtaalta pöydältä tai olemassa olevassa projektissa.

Claude Coden tekemät muutokset tapahtuvat lokaalisti tiedostojärjestelmässä. Alkuun pääset käynnistämällä CC:n projektisi juuressa. Modernien tekstieditorien ja versiohallintakirjastojen tapaan voit konfiguroida CC:tä muutamalla tapaa. 

Näin saat Claude Codelle “muistin” ja omaan projektiisi sopivan väsymättömän apurin:

  • kirjoita “/init” ja CC luo sinulle CLAUDE.md -nimisen tiedoston projektisi juureen (toimii myös erikseen projektin jonkun osa-alueen alakansiossa, kuten /frontend/CLAUDE.md)
  • kirjaa CLAUDE.md -tiedostoon tekoälylle toimintaohjeet kuten projektien, koodipohjan ja versiohallinnan käytänteet. Tähän kirjatut ohjeet ovat teoriassa aina CC:n tiedossa, sillä ne kulkevat osana kielimallille kulkevaa kontekstia.

Tässä kohtaa työskentely alkaa muistuttaa enemmän ihmisten kanssa työskentelyä: ohjeita ei kokemukseni mukaan välttämättä sellaisenaan noudateta. Tästä syystä selkeä ohjeistus ja sen toistaminen, eli mainitsemani kuri ja itsekuri, ovat myös kehittämisen aikana erittäin tärkeitä.

Claude Coden voi pyytää täyttämään ja ajan saatossa myös päivittämään omia ohjeitaan. Muista, että voit aina myös pyytää Claudelta apua sen käyttöön.

Edistyneempää konfigurointia

Kun Claude Coden toiminta tulee tutuksi ja peruskäyttö sujuu huoletta, kokeile jotain seuraavista:

Subagentit

Voit luoda .claude/subagents -kansioon mielivaltaisesti erilaisia agentteja, joilla on omat ohjeet (ns. "system promptit"). Konfigurointi tapahtuu yhtä lailla vapaamuotoisten tekstitiedostojen kautta. Tyypillisintä lienee mallintaa tosimaailman roolit kuten arkkitehti, cloud engineer, frontend, backend, PO, UX-designer ja toimiala-asiantuntija omiksi agenteikseen. 

Tämän jälkeen voit ketjuttaa agentteja toimimaan peräjälkeen tai ohjeistaa niitä toimimaan samanaikaisesti. Ohjeistus voi olla esimerkiksi “toteutetaan toiminnallisuus X. Varmista, että arkkitehti ensin suunnittelee ja sen jälkeen designer- ja frontend-agentit toteuttavat ominaisuuden”. 

Voit myös antaa CC:n itse päättää, mitä agentteja tulisi missäkin kohtaa käyttää. Agentit eivät tiedä toisistaan tai ymmärrä aiemmin käytyä keskustelua, eli ne eivät tukota pääkeskustelun konteksti-ikkunaa.

Komennot

Voit luoda itse määritettyjä komentoja .claude/commands -kansioon. Määritä esimerkiksi priorisoi-komento luomalla prioritise.md -niminen tekstitiedosto. Claude Codeen syntyy tästä /prioritise-niminen komento. Komentoon voi tässä tapauksessa kuvata, kuinka projektin etenemistä priorisoidaan. 

Itselläni CC esimerkiksi ehdottaa seuraavaa tärkeintä toimenpidettä punnitsemalla versiohallinnasta löytyvien tikettien, koodipohjasta löytyvien TODO-kommenttien ja itse löytämiensä refaktorointimahdollisuuksien välillä.

Miten komennot eroavat subagenteista? Komennoilla yleisesti ottaen käynnistetään jokin tarkkaan määritetty työ. Kyseinen työ voi sisältää subagenteille delegoituja vaiheita.

MCP eli Model Context Protocol

Model Context Protocol on ikään kuin rajapintakuvaus kielimalleille. Tämän protokollan avulla CC voi käyttää ulkoisia palveluita. 

Esimerkiksi Playwright MCP:n avulla Claude Code voi avata sovelluksen, käyttää sitä ja nähdä, mitä selaimessa tapahtuu. Voit esimerkiksi sanoa CC:lle, että "tuolla on bugi, avaa sivu Playwrightilla, katso bugi, tee korjaus, ja iteroi kunnes bugia ei enää ole". 

Claude Code voi MCP:n avulla olla yhteydessä myös esimerkiksi tikettijärjestelmiin, Figmaan, tietokantaan ja muihin järjestelmiin.

YOLO

Claude Code kysyy aina lupaa kun se tekee jotain uutta. Voit myöntää CC:lle sessiokohtaisesti luvan käyttää tiettyä komentoa kysymättä enää uudelleen. 

CC:tä kannattaa vahtia, ettei se tee mitään liian hurjaa. Pikaisia kokeiluja ja testiprojekteja tehdessä CC:tä voi kuitenkin ajaa dangerously-skip-permissions -parametrillä, jolloin Claude Code ajaa itseään ja agentteja täysin autonomisesti. Riskinottokyvystäsi riippuen voit jättää CC:n tekemään väsymättömästi töitä jopa puoleksi tunniksi.

Komentorivitouhut Claude Codella

Claude Code voi ajaa lähes mitä tahansa komentorivikomentoja omalta tietokoneeltasi. Sinun tarvitsee vain tietää, mitä haluat saada aikaiseksi.

Voit esimerkiksi 

  • luoda, lukea ja poistaa tikettejä Github CLI:n kautta
  • konfiguroida koko pilviympäristösi IaC-menetelmin GCloud CLI:n kautta
  • kontittaa palvelusi eri osa-alueet kontteihisi Docker CLI:n kautta
  • ajaa git:iä, npm:ää, grep:iä ja muita.

Voit tehdä tämän kaiken ymmärtämättä lainkaan, kuinka kyseisiä CLI-työkaluja tai -kirjastoja ajetaan. Riittää, että tunnet toimintaperiaatteet työkalujen taustalla. Komentorivityökaluja voi ajaa myös palvelimella, aivan kuten Claude Codea. Palvelimeen saa helposti etäyhteyden millä tahansa laitteella.

Tässä kohtaa lienee syytä kerrata tietosuoja-asiat. Ole tarkka sen kanssa, mihin paikkoihin ja työkaluihin annat CC:lle pääsyn. Pidä arkaluontoinen data aina eristettynä CC:stä tai muista agenteista!

Claude Code osana kehittäjän työtä ja kehitysflowta

Yllä olevia asioita kannattaa kokeilla yksi kerrallaan, omaan tarpeeseen ja flowhun sopivalla tavalla. Kielimallien kanssa työskentely on muutenkin epädeterminististä eli edes samoilla komennoilla ei saa aina samaa lopputulosta aikaiseksi. Eri konfiguraatioiden ja niiden muutosten vaikutuksia voi siksi olla vaikea verrata toisiinsa.

Kielimallit ovat toisaalta myös lempeitä. Niille annetut “huonot” ohjeet eivät riko työkaluja, kuten on perinteisesti totuttu esimerkiksi YAML tai JSON-konfigurointeja tehdessä.

Miltä AI-ehosteinen kehitysflow näyttää Claude Codessa? Esimerkiksi tältä:

  • juttele CC:lle speech-to-text –työkalun avulla
  • pyydä CC:tä tekemään puheistasi tiketit ja priorisoimaa ne Githubissa
  • pyydä CC:tä rakentamaan tiketti Figma-tiedostosta MCP-protokollan avulla
  • pyydä CC:tä ottamaan tiketti X työn alle ja delegoimaan se subagenteille
  • commitoi muutokset ja pyydä CC:tä kirjoittamaan ja tekemään kattava PR
  • pyydä Reviewer-subagenttia katselmoimaan PR ja muista katselmoida PR myös itse
  • hoida muutokset staging-ympäristöön, jonka CC on konfiguroinut.

Kaikki on tekstiä – tärkein tehtäväsi on kontekstin luominen

Kaikki Claude Codelle annettava ohjeistus on tekstiä. Kehittäjän tärkein tehtävä onkin tuottaa CC:lle juuri oikea konteksti. Jokaisen CC:lle lähetetyn viestin käsittely lähtee käytännössä tyhjästä – Claude Code syöttää kielimallille, yleensä Claude Sonnet tai plan-modessa Claude Opus, sopivan kontekstin kuten:

  • CLAUDE.md-tiedoston sisällön
  • tähän mennessä käydyn keskustelun tai osan siitä
  • osan koodipohjasta
  • mahdollisen subagentin konfiguraation
  • itse keräämäsi lokin jo tapahtuneista opeista.

Kielimalli toimii jossain määrin aina arvaamattomasti, mutta yllä mainitut konfiguroinnit ja niiden pohjalta tapahtuva flow on täysin itse määriteltävissä. Tämä tekee CC:stä helposti lähestyttävän ja joustavasti konfiguroitavan. 

Kaikki tämä kehittyy nopeasti

Kaikki yllämainittu konfigurointi voi olla jo vanhentunutta kuukauden päästä. Tärkeintä onkin oppia sisäistämään tämän ohjeistuksen taustalla oleva ajatus oikeanlaisen kontekstin luomisesta kielimallille saatavilla oleville työkaluille.

Clauden luoma koodi ei välttämättä yllä seniorikehittäjän tasolle. Koodi itsessään voi näyttää hyvältä, mutta alla oleva arkkitehtuuri ja käytetyt patternit vaativat opastusta. Pahimmillaan CC:n luoma koodi voi olla sellaista, jota ihminen ei ymmärrä ja jota ei ole edes katselmoitu – siis legacykoodia. Itse kuitenkin uskon, että esimerkiksi vuoden päästä entistä kehittyneemmät tekoälytyökalut refaktoroivat koodin ymmärrettävään muotoon. 

Ohjelmistokehitys vaatii yhä ihmistä

Ohjelmistokehitys on paljon muutakin kuin koodin kirjoittamista. Yllä olevassa Claude Code -flow'ssa kehittäjän ei itse tarvitse kirjoittaa koodia juuri yhtään. Tärkeämpää on koodipohjan laadun, tietoturvan ja -suojan sekä liiketoiminnan tavoitteiden varmistaminen. Kehittäjien inhimilliset taidot muuttuvat entistä tärkeämmiksi. 

Harkintakyky ja viisaus korostuu, kun teko- ja tukiälykkyys sekä koodintuotto on halpaa. Monipuolinen kokemus eri hankkeista ja ympäristöistä on silloin entistä arvokkaampaa. Ihmiseltä vaaditaan edelleen kykyä hahmottaa kokonaisuuksia, kommunikoida, delegoida sekä tarvittaessa hiljentää vauhtia tai pysähtyä ajattelemaan.

Uskon vahvasti siihen, että menestyvä digitaalisten palveluiden rakennus on saumatonta yhteistyötä ihmisten ja erilaisten tekoälyjen kanssa.