Miksi suoritin tämän kokeen
Kaikki julkaisevat vertailutaulukoita, joissa verrataan Claude Sonnet 4.6- ja Opus 4.6 -malleja. Niitä löytyy tusina nopealla haulla. Mutta vertailut mittaavat mallin suorituskykyä standardoiduissa tehtävissä — ne eivät kerro, mitä tapahtuu, kun olet syvällä sotkuisessa koodikannassa kello 2 aamuyöllä yrittäen julkaista ominaisuutta.
Halusin vastata yksinkertaisempaan kysymykseen: ansaitseeko Opus 4.6 5x hintaeron niissä todellisissa tehtävissä, joita teen kehittäjänä joka päivä?
Joten pystytin hallitun kokeen. Kolmen viikon ajan ajoin jokaisen koodaustehtävän molempien mallien läpi — samat kehotteet, samat koodikannat, samat arviointikriteerit. Seurasin kustannuksia, tuotoksen laatua, valmistumisaikaa ja tarvittavien jatkokorjausten määrää.
Laskun loppusumma oli noin $500. Tässä on kaikki, mitä opin.
Järjestely: Miten rakensin testin
Käytin Claude API:a suoraan identtisillä järjestelmäkehotteilla molemmille malleille. Ei kääreitä, ei avustajia, ei erityisasetuksia — vain puhtaita API-kutsuja, jotta vertailu olisi selkeä.
Testatut mallit:
- Claude Sonnet 4.6 (claude-sonnet-4-6) — $3 input / $15 output per miljoona tokens
- Claude Opus 4.6 (claude-opus-4-6) — $15 input / $75 output per miljoona tokens
Metodologia:
- Sama kehote jokaiselle tehtävälle, lähetetty molemmille malleille saman tunnin sisällä
- Jokainen tehtävä pisteytettiin: oikeellisuus, koodin laatu, kattavuus ja tarvittavien jatkokehotteiden määrä
- Kaikki tehtävät otettiin todellisista projekteista — ei synteettisiä vertailuja
- Pisteytin jokaisen mallin asteikolla 1-10 kussakin ulottuvuudessa
Hintatiedot tulevat suoraan Anthropicin viralliselta hintasivulta. Nopeusmittaukset tulevat Artificial Analysis -vertailuista.
Skenaario 1: Race Condition -vian korjaaminen Async-koodissa
Tehtävä: Node.js-sovelluksessa oli satunnainen virhe, jossa tietokantakirjoitukset valmistuivat väärässä järjestyksessä. Bugi ilmeni vain kuormituksen alla. Annoin molemmille malleille asiaankuuluvat lähdetiedostot (noin 8K tokens kontekstia) ja virhelokit.
Sonnet 4.6:n tulos: Tunnisti puuttuvan await-kutsun Promise-ketjussa kahden viestinvaihdon aikana. Ehdotti kirjoitusten käärimistä transaction-rakenteeseen. Puhdas ja oikea korjaus.
Opus 4.6:n tulos: Tunnisti saman juurisyyn heti ensimmäisessä viestissä, mutta meni pidemmälle — se huomasi toisen mahdollisen race condition -tilanteen viereisessä moduulissa, jota en ollut itse huomannut. Se selitti myös, miksi bugi oli satunnainen (event loop -ajoitus yhtäaikaisten yhteyksien alla) ja ehdotti rakenteellista korjausta käyttäen write queue -jonoa.
Voittaja: Opus 4.6
Ero ei ollut bugin löytämisessä. Molemmat löysivät sen. Opus löysi toisen bugin ja tarjosi arkkitehtonista kontekstia, joka esti tulevan ongelman. Tämä on linjassa sen kanssa, mitä Anthropic raportoi Opus 4.6:n paremmista debugging-taidoista ja kyvystä huomata omat virheensä.
Kustannus: Sonnet $0.12 | Opus $0.58
Skenaario 2: CRUD-päätepisteiden rakentaminen REST API:lle
Tehtävä: Luo täydellinen sarja CRUD-päätepisteitä "projects"-resurssille Express.js-sovellukseen käyttäen TypeScript, Prisma ORM, syötteen validointia Zod-kirjastolla ja asianmukaista virhekäsittelyä.
Sonnet 4.6:n tulos: Tuotti kaikki viisi päätepistettä (create, read one, read all sivutuksella, update, delete) yhdellä vastauksella. Syötteen validointi oli oikein, virhekäsittely oli vankkaa ja TypeScript-tyypit olivat tarkkoja. Valmis kopioitavaksi ja testattavaksi.
Opus 4.6:n tulos: Tuotti samat viisi päätepistettä lähes identtisellä rakenteella. Lisäsi hieman yksityiskohtaisempia kommentteja. Sisällytti myös middleware-ehdotuksen autentikaatioon, jota en ollut pyytänyt.
Voittaja: Sonnet 4.6
Tuotokset olivat toiminnallisesti identtisiä. Sonnet oli nopeampi, halvempi eikä täyttänyt vastausta pyytämättömillä arkkitehtuuriehdotuksilla. Hyvin määritellyissä, rajatuissa tehtävissä, kuten CRUD-generaatiossa, Opuksen ylimääräinen päättelysyvyys tuo vain lisää kustannuksia.
Kustannus: Sonnet $0.08 | Opus $0.41
Skenaario 3: Monoliittisen komponentin refaktorointi pienempiin osiin
Tehtävä: 600-rivinen React-komponentti, joka käsitteli käyttäjäprofiileja — mukaan lukien lomakkeen tila, API-kutsut, oikeuksien tarkistukset ja renderöintilogiikka — piti jakaa pienempiin, testattaviin osiin. Annoin koko komponentin sekä sen testitiedoston.
Sonnet 4.6:n tulos: Jakoi komponentin neljään osaan: container-komponentti, lomakekomponentti, oikeus-hook ja API-hook. Kohtuullinen jako. Se kuitenkin unohti päivittää kaksi import-polkua testitiedostossa, ja oikeus-hookissa oli hienovarainen tilanhallintaongelma, jossa se ei käyttänyt memoizing-tekniikkaa callback-funktiolle.
Opus 4.6:n tulos: Jakoi komponentin viiteen osaan selkeämmällä erottelulla. Se loi erillisen tyyppitiedoston, päivitti oikein kaikki import-polut mukaan lukien testitiedoston, ja oikeus-hook oli oikeaoppisesti memoitu. Se huomasi myös, että alkuperäisessä komponentissa oli mahdollinen memory leak effect-puhdistuksessa ja korjasi sen.
Voittaja: Opus 4.6
Tässä ero muuttuu todelliseksi. Monitiedostoinen refaktorointi riippuvuuksien seurannalla on juuri se skenaario, jossa Opus 4.6:n 76% tulos MRCR v2 -testissä (monitiedostoinen päättely ja code review) muuttuu käytännön hyödyksi. Sonnetin ratkaisu vaati kaksi korjauskierrosta. Opus toimitti oikean tuloksen ensimmäisellä kerralla.
Kustannus: Sonnet $0.22 (sisältäen korjaukset) | Opus $0.95
Skenaario 4: Yksikkötestien kirjoittaminen olemassa olevaan koodiin
Tehtävä: Kirjoita kattavat yksikkötestit maksujen käsittelymoduulille, jossa on useita reunatapauksia — vanhentuneet kortit, riittämättömät varat, verkon aikakatkaisut, osittaiset palautukset ja valuuttamuunnokset.
Sonnet 4.6:n tulos: Loi 14 testitapausta kattaen kaikki kuvaamani skenaariot. Testit olivat hyvin jäsenneltyjä selkeillä describe/it-lohkoilla. Mock-asetukset olivat oikein. Mukana oli kaksi reunatapausta, joita en ollut erikseen maininnut (tyhjä summa, negatiivinen summa).
Opus 4.6:n tulos: Loi 16 testitapausta. Samankaltainen rakenne. Lisäsi yhden integraatiotyyppisen testin, joka varmisti koko maksuvirran päästä päähän. Hieman sanallisempi testien kuvauksissa.
Voittaja: Tasapeli (Sonnet 4.6 hinta-laatusuhteeltaan)
Molemmat tuottivat erinomaisia testipattereita. Opus lisäsi kaksi ylimääräistä testiä, mutta ne eivät olleet merkittävästi parempia. Testien generoinnissa Sonnet tarjoaa vastaavaa laatua 5x halvemmalla. Ellei kyseessä ole erittäin monimutkainen bisneslogiikka, Sonnet on oikea valinta.
Kustannus: Sonnet $0.09 | Opus $0.47
Skenaario 5: Teknisen dokumentaation kirjoittaminen
Tehtävä: Luo API-dokumentaatio sisäiselle SDK:lle — sisältäen metodien allekirjoitukset, parametrien kuvaukset, palautustyypit, käyttöesimerkit ja virhekäsittelyohjeet 12 julkiselle metodille.
Sonnet 4.6:n tulos: Selkeä, hyvin organisoitu dokumentaatio. Jokaisella metodilla oli kuvaus, parametrutaulukko, palautustyyppi, esimerkki ja virheosio. Johdonmukainen muotoilu läpi dokumentin.
Opus 4.6:n tulos: Lähes identtinen dokumentaatio. Opus lisäsi "Common Patterns" -osion loppuun, joka näytti, miten metodit toimivat yhdessä — mikä oli mukavaa, mutta pyytämätöntä.
Voittaja: Sonnet 4.6
Dokumentaatio on tehtävä, jossa Sonnetin ytimekkyys on itse asiassa etu. Kuten malleja vertailleet kehittäjät ovat huomanneet, Opus lisää joskus tarpeettomia selityksiä yksinkertaisiin tehtäviin, tuhlaten tokens-määriä ja aikaa. Dokumentaatiolta halutaan selkeyttä ja kattavuutta, ei puheliaisuutta ja filosofointia.
Kustannus: Sonnet $0.14 | Opus $0.72
Skenaario 6: Pull Requestin koodikatselmointi (Code Review)
Tehtävä: Katselmoi 400-rivinen Pull Request, joka lisäsi caching-kerroksen API:in. Halusin molempien mallien tunnistavan bugit, ehdottavan parannuksia ja huomioivan tietoturva-asiat.
Sonnet 4.6:n tulos: Löysi kolme ongelmaa — puuttuva välimuistin mitätöinti (cache invalidation) päivityksen yhteydessä, mahdollinen memory leak rajoittamattomasta välimuistin kasvusta ja ehdotus lisätä TTL. Hyvää, toiminnallista palautetta.
Opus 4.6:n tulos: Löysi samat kolme ongelmaa plus kaksi muuta — timing attack -haavoittuvuus välimuistin avaimen generoinnissa ja hienovarainen ongelma, jossa samanaikaiset pyynnöt voisivat palauttaa vanhentunutta dataa välimuistin täytön aikana. Ehdotti tiettyä mallia (read-through cache hajautetuilla lukoilla) samanaikaisuusongelman korjaamiseksi.
Voittaja: Opus 4.6
Tietoturvaan liittyvän koodin katselmointi on toinen alue, jossa Opus menee edelle. Timing attack -haavoittuvuus oli todellinen eikä lainkaan ilmeinen. Tämä vastaa kehittäjien raportteja, joiden mukaan Opus on erityisen vahva, kun virhemahdollisuus ulottuu laajalle arkkitehtoniselle pinnalle.
Kustannus: Sonnet $0.11 | Opus $0.53
Skenaario 7: Uuden ominaisuuden nopea prototyypointi
Tehtävä: Rakenna reaaliaikainen ilmoitusjärjestelmä käyttäen WebSockets-tekniikkaa — palvelinpuolen käsittelijä, asiakaspuolen hook ja ilmoituskomponentti animaatioilla. Aika oli prioriteetti, ei täydellisyys.
Sonnet 4.6:n tulos: Toimitti toimivan toteutuksen yhdellä vastauksella. WebSocket-käsittelijä, kustomoitu React-hook ja ilmoituskomponentti toimivat kaikki yhdessä. Animaatio oli CSS-pohjainen ja sulava. Pieni puute: ei reconnection logic -uudelleenkytkentää.
Opus 4.6:n tulos: Samantasoista laatua, mutta sisälsi reconnection logic -toteutuksen ja exponential backoff -strategian. Lisäsi myös heartbeat mechanism -toiminnon. Kesti noin 30% kauemmin generoida hitaamman token-nopeuden vuoksi.
Voittaja: Sonnet 4.6
Prototypoinnissa nopeus on tärkeämpää kuin täydellisyys. Sonnetin nopeampi tuotos (noin 47 tokens per sekunti verrattuna Opuksen 40:een) tarkoittaa tiiviimpiä iteraatiosyklejä. Opuksen lisäämä uudelleenkytkentälogiikka oli hieno, mutta olisin lisännyt sen kuitenkin vasta toisessa vaiheessa. Prototypointi suosii nopeaa, "tarpeeksi hyvää" tuotosta.
Kustannus: Sonnet $0.10 | Opus $0.48
Skenaario 8: Arkkitehtoninen päätöksenteko
Tehtävä: Meidän piti valita monorepo- ja polyrepo-rakenteen välillä mikropalveluprojektiin. Annoin tiimin koon, julkaisu-vaatimukset, CI/CD-rajoitteet ja palveluiden rajat. Pyysin molempia malleja analysoimaan hyvitykset (tradeoffs) ja suosittelemaan lähestymistapaa.
Sonnet 4.6:n tulos: Tarjosi vankan hyödyt/haitat-analyysin. Suositteli monorepo-mallia Turborepo-työkalulla tiimin koon perusteella. Järkevä mutta hieman yleisluontoinen.
Opus 4.6:n tulos: Esitti kolme tarkentavaa kysymystä ennen suosituksen antamista — julkaisutiheydestä, palveluiden välisistä datariippuvuuksista ja siitä, oliko tiimillä aiempaa monorepo-kokemusta. Vastausteni jälkeen se tarjosi vivahteikkaan analyysin, joka suositteli hybridi-lähestymistapaa: monorepo jaetuille kirjastoille ja tiiviisti kytketyille palveluille, erilliset repot itsenäisesti julkaistaville palveluille, joilla on eri julkaisusyklit. Se hahmotteli myös migraatiopolun nykyisestä rakenteesta.
Voittaja: Opus 4.6
Opus hallitsee epämääräisyyden paremmin. Kuten useat kehittäjäraportit vahvistavat, Opus kysyy parempia tarkentavia kysymyksiä ja tekee perustellumpia oletuksia. Monimutkaisten arkkitehtuuripäätösten parissa työskenteleville kokeneille insinööreille tämä säästää tunteja edestakaista viestittelyä.
Kustannus: Sonnet $0.07 | Opus $0.62
Lopullinen tuloskortti
Tässä on kunkin mallin suoriutuminen kaikissa kahdeksassa skenaariossa, pisteytettynä asteikolla 1-10 tuotoksen laadun osalta:
| Skenaario | Sonnet 4.6 | Opus 4.6 | Voittaja |
|---|---|---|---|
| Race condition -debuggaus | 7 | 9 | Opus |
| CRUD-päätepisteet | 9 | 9 | Tasapeli (Sonnet hinta-laatusuhteella) |
| Komponentin refaktorointi | 6 | 9 | Opus |
| Yksikkötestien kirjoitus | 8 | 8.5 | Tasapeli |
| Tekninen dokumentaatio | 9 | 8 | Sonnet |
| Koodikatselmointi (tietoturva) | 7 | 9 | Opus |
| Nopea prototyypointi | 9 | 8 | Sonnet |
| Arkkitehtuuripäätökset | 6 | 9 | Opus |
Opus 4.6 voitti: 4 skenaariota (debuggaus, refaktorointi, katselmointi, arkkitehtuuri) Sonnet 4.6 voitti: 2 skenaariota (dokumentaatio, prototyypointi) Tasapelit: 2 skenaariota (CRUD-päätepisteet, testien kirjoitus)
Mutta tässä on osa, jonka tuloskortti piilottaa: Sonnet 4.6 oli oikea valinta 6:ssa skenaariossa 8:sta, kun kustannukset huomioidaan. Ne kaksi skenaariota, joissa se sai huomattavasti heikommat pisteet (refaktorointi ja arkkitehtuuri), ovat tehtäviä, joita useimmat kehittäjät tekevät muutaman kerran viikossa, eivät kymmeniä kertoja päivässä.
Kustannustodellisuus
Kolmen testausviikon aikana lasku näytti tältä:
| Malli | Kokonaiskulutus | Suoritetut tehtävät | Keskimääräinen hinta per tehtävä |
|---|---|---|---|
| Sonnet 4.6 | ~$80 | 127 tehtävää | $0.63 |
| Opus 4.6 | ~$420 | 127 tehtävää | $3.31 |
Opus maksoi keskimäärin 5.25x enemmän per tehtävä. Identtisissä tehtävissä Sonnet toimitti 90% laadusta 19% kustannuksilla.
Jos olisin käyttänyt hybridi-lähestymistapaa — Sonnet rutiinitehtäviin, Opus vain siihen 20%:iin tehtävistä, jotka koskivat refaktorointia, debuggausta ja arkkitehtuuria — kokonaislaskuni olisi ollut noin $160 sijasta $500. Se on 68% vähennys lähes ilman laadun heikkenemistä.
Tämä on linjassa tuotantokäytön raporttien kanssa: hybrid router -malli, jossa 80-90% pyynnöistä menee Sonnet-mallille ja vain kriittiset tehtävät siirretään Opukselle, säästää 60-80% API-kustannuksista.
Kolme huomiota, joita vertailut eivät tavoita
1. Opus on parempi sanomaan "odota, tarvitsen lisätietoja"
Epämääräisissä kehotteissa Sonnetilla on tapana valita järkevä oletus ja edetä sen mukaan. Opus pysähtyy ja kysyy. Tämä on uskomattoman arvokasta arkkitehtuurisessa työssä, mutta hieman ärsyttävää rutiinitehtävissä, joissa haluat sen vain tekevän valinnan ja jatkavan.
2. Sonnet on parempi noudattamaan ohjeita kirjaimellisesti
Kun annoin yksityiskohtaisen määrittelyn, Sonnet rakensi juuri sen, mitä pyysin. Opus joskus "paransi" asioita, joita en pyytänyt parantamaan — lisäten abstraktiokerroksia, ehdottaen malleja tai sisällyttäen reunatapauksia, jotka olivat aiheen ulkopuolella. Tehtävissä, joissa haluat noudattamista luovuuden sijaan, Sonnet voittaa.
3. Laatukuilu kasvaa kontekstin pituuden myötä
Alle 10K tokens kontekstissa en juuri huomannut eroa mallien välillä. Kun konteksti ylitti 30K tokens — suuret refaktoroinnit, monitiedostoiset katselmoinnit — Opus muuttui huomattavasti johdonmukaisemmaksi. Tämä on yhdenmukaista Opus 4.6:n 76% tuloksen kanssa MRCR v2 -testissä, joka mittaa monitiedostoista päättelyä pitkissä konteksteissa.
Vertailutulokset (viitteeksi)
Niille, jotka haluavat numeroita, tässä ovat tärkeimmät vertailutulokset maaliskuussa 2026:
| Vertailu | Sonnet 4.6 | Opus 4.6 |
|---|---|---|
| SWE-bench Verified | 79.6% | 80.8% |
| GPQA Diamond | 74.1% | 91.3% |
| MRCR v2 (pitkä konteksti) | ~18.5% (4.5 era) | 76% |
| Nopeus (tokens/sec) | ~47 | ~40 |
| Max konteksti | 1M tokens | 1M tokens |
| Max tuotos | 64K tokens | 128K tokens |
Lähteet: Anthropic model overview, Artificial Analysis, Claude 5 benchmark analysis
SWE-bench-ero on vain 1.2 pistettä. Mutta GPQA Diamond -ero (tieteellinen päättely) on valtava — 17 pistettä. Ja MRCR v2 -ero (monitiedostotyö pitkässä kontekstissa) on se, missä todellinen käytännön ero asuu.
Suositukseni: Päätöksentekokehys
$500 ja kolmen viikon testauksen jälkeen tässä on päätöksentekopuuni:
Käytä Sonnet 4.6 -mallia, kun:
- Tehtävä on hyvin määritelty ja vaatimukset ovat selkeät
- Kirjoitat uutta koodia tyhjästä (päätepisteet, komponentit, skriptit)
- Tarvitset nopeaa iteraatiota (prototyypointi, kokeileva koodaus)
- Generoit testejä tai dokumentaatiota
- Kontekstin pituus on alle 20K tokens
- Sinulla on tiukka budjetti tai suuri määrä pyyntöjä
Käytä Opus 4.6 -mallia, kun:
- Tehtävä vaatii refaktorointia useiden tiedostojen välillä monimutkaisilla riippuvuuksilla
- Tarvitset mallin pohtivan hyötyjä ja haittoja ennen suunnitteluun sitoutumista
- Debuggaat epäselviä ongelmia suurissa koodikannoissa
- Katselmoit tietoturvakriittistä koodia
- Kontekstin pituus ylittää 30K tokens ja johdonmukaisuus on elintärkeää
- Väärän vastauksen kustannus ylittää mallikutsun kustannuksen
Käytä molempia (hybrid router), kun:
- Rakennat tuotantojärjestelmää, jossa on vaihtelevan monimutkaisia tehtäviä
- Haluat Sonnet-mallin tuomat 60-80% kustannussäästöt ja Opuksen turvaverkon vaikeisiin ongelmiin
Kehittäjätyökaluja rakentaville tiimeille — käytämme versiota tästä hybridi-lähestymistavasta ZBuild -palvelussa — router-malli on muodostunut alan standardiksi vuonna 2026.
Mitä tekisin toisin
Jos tekisin tämän kokeen uudelleen, lisäisin kolmannen ulottuvuuden: mittaisin, kuinka monta jatkokehotetta kukin malli tarvitsi päästäkseen tuotantovalmiiseen tulokseen. Kutinani sanoo, että tämä suosisi Opusta vielä vahvemmin monimutkaisissa tehtävissä, koska sen ensimmäisen yrityksen tarkkuus oli jatkuvasti korkeampi monitiedostotyössä.
Testaisin myös extended thinking -ominaisuutta päällä Opukselle, minkä kerrotaan parantavan sen jo ennestään vahvaa debuggausta ja arkkitehtonista päättelyä.
Ydinviesti: aloita kaikessa Sonnet 4.6 -mallilla. Huomaat kyllä — nopeasti — milloin tehtävä vaatii Opusta. Tehtävät, jotka vaativat sitä, ovat erityisiä, suhteellisen harvinaisia ja tarpeeksi arvokkaita oikeuttamaan lisähinnan.
Lähteet
- Anthropic — Introducing Claude Opus 4.6
- Anthropic — Claude Models Overview
- Anthropic — Claude Pricing
- Artificial Analysis — Claude Sonnet 4.6 Performance
- Claude 5 — Opus 4.6 Benchmark Analysis
- Bind AI — Sonnet 4.6 vs Opus 4.6 for Coding
- Emergent — Claude Sonnet vs Opus 2026
- DEV Community — Opus 4.6 vs Sonnet 4.6 Coding Comparison
- Macaron — Claude Opus 4.6 for Code Review
- Apiyi — Opus 4.6 vs Sonnet 4.6 Comparison Guide
- Medium — Tested Sonnet 4.6 vs Opus 4.6 for Vibe Coding