Vibe-koodaus · Oppitunti

Roolit ja rajoitteet

Määritelkää tekoälyn rooli ja rajat paremman tuloksen saavuttamiseksi.

Oppitunti 1/413 vaihetta

Roolit ja rajoitteet on ilmainen Vibe-koodaus-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Vibe-koodaus-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Vibe-koodaus-kurssilla on yhteensä 4 oppituntia.

Kertokaa tekoälylle, kuka sen tulee olla

Tiedätte jo, miten tekoälyltä pyydetään koodia. Nyt opitte saamaan tuotantolaatuista tulosta heti ensimmäisellä kerralla. Nopein parannus? Antakaa tekoälylle rooli ja joukko rajoitteita.

Rooli kertoo tekoälylle, millaista asiantuntijaa sen tulee jäljitellä. Rajoitteet kertovat säännöt, joita se ei saa rikkoa. Yhdessä ne muuttavat epämääräisen pyynnön täsmälliseksi toimeksiannoksi — aivan kuten hyvä asiakas saa freelancerilta parempaa työtä.

Mikä on rooli?

Rooli on kehotteen alussa annettava yksirivinen identiteetti: "You are a senior React engineer" tai "Act as a security-focused backend developer."

Tässä ei ole kyse taikuudesta — rooli ohjaa mallia kohti sellaisia malleja, termejä ja standardeja, joita kyseinen asiantuntija käyttäisi. "Senior engineer" kirjoittaa puhtaampaa ja turvallisempaa koodia kuin määrittelemätön avustaja. Cursorin ja Claude Coden kaltaiset työkalut reagoivat rooleihin voimakkaasti, koska ne muokkaavat koko vastausta.

You are a senior front-end engineer who writes clean, accessible, well-commented JavaScript. Build a function that validates an email address and returns true or false.

Miksi roolit parantavat tulosta

Ilman roolia tekoäly antaa teille keskiarvon kaikesta näkemästään — mukaan lukien opetusohjelmien aloitteleville tarkoitetun koodin. Roolin avulla hyödynnätte asiantuntijatason sisältöä.

  • Paremmat oletukset — "senior" valitsee turvallisempia malleja.
  • Oikea sanasto — se selittää asiat tasollenne sopivasti.
  • Yhtenäinen tyyli — se pysyy roolissaan muutosten aikana.

Ajatelkaa asiaa niin, että valitsette, kuka tiimikaveri tulee auttamaan.

Mikä on rajoite?

Rajoite on tiukka sääntö, jota vastauksen on noudatettava. Roolit määrittävät tyylin; rajoitteet määrittävät rajat.

Hyödyllisiä rajoitteita ovat esimerkiksi:

  • "Use only vanilla JavaScript — no libraries."
  • "Keep the function under 20 lines."
  • "Do not use any external API."
  • "Return only the code, no explanation."

Jokainen rajoite poistaa kokonaisen luokan ei-toivottuja vastauksia.

You are a senior JavaScript developer. Constraints: vanilla JS only, no libraries, under 20 lines, include a one-line comment above the function. Write a function that formats a number as US currency.

Roolit ja rajoitteet yhdessä

Var sinainen voima syntyy niiden yhdistämisestä. Rooli päättää, miten koodi kirjoitetaan; rajoitteet päättävät, mikä on sallittua. Sijoittakaa ne kehotteen alkuun, jotta tekoäly lukee säännöt ennen tehtävää.

Luotettava rakenne:

  • Role: kuka tekoäly on
  • Constraints: pakollisten ja kiellettyjen asioiden luettelo
  • Task: mitä rakennetaan
ROLE: You are a senior front-end engineer focused on accessibility.
CONSTRAINTS:
- Vanilla JavaScript and HTML only
- No external libraries
- All interactive elements must be keyboard-usable
TASK: Build a button that copies the page URL to the clipboard and shows a 'Copied!' message for 2 seconds.

Rajoite käytännössä

Tässä on esimerkki siististä ja itsenäisestä JavaScriptistä, jonka hyvin rajoitettu kehote tuottaa. Huomatkaa, että se on pieni, helppolukuinen ja tekee täsmälleen yhden asian — koska rajoitteet edellyttivät juuri sitä.

Suorittakaa se nähdäksenne tulosteen.

// Format a number as US currency
function toUSD(amount) {
  return new Intl.NumberFormat('en-US', {
    style: 'currency',
    currency: 'USD'
  }).format(amount);
}

console.log(toUSD(1999.5));
console.log(toUSD(42));

Kielteiset rajoitteet: "Älä koskaan" -luettelo

Jotkin tehokkaimmista rajoitteista ovat kieltoja. Tekoäly haluaa mielellään tehdä liikaa — lisätä kirjastoja, ylimääräisiä ominaisuuksia tai kirjoittaa koko tiedostonne uudelleen. Älä koskaan -luettelo pitää sen kurissa.

  • "Never add new dependencies."
  • "Never change files I didn't mention."
  • "Never use TypeScript — plain JavaScript only."

Claude Coden kaltaisissa agenttisissa työkaluissa selkeä Älä koskaan -luettelo estää yllättävät muokkaukset projektin eri osissa.

You are a careful engineer working in an existing project.
NEVER:
- Add new npm packages
- Edit any file other than cart.js
- Remove existing comments
TASK: In cart.js, add a function getTotal(items) that sums item.price for all items.

Kattavuuden rajoitteet

Yksi rajoite, jonka aloittelijat unohtavat: kattavuuden rajoittaminen. Ilman sitä yhden ominaisuuden pyytäminen voi johtaa siihen, että tekoäly uudistaa kaiken. Määritelkää rajat tarkasti:

  • "Only modify the function I paste below."
  • "Give me just the changed lines."
  • "Don't touch the styling."

Tarkasti rajattu kattavuus tekee tekoälyn tuotoksesta helpommin tarkistettavan ja vähentää huomattavasti toimivan koodin rikkoutumisen riskiä.

Here is my working function. Change ONLY the sort order to descending. Do not rename anything, do not add features, return only the updated function.

function topScores(scores) {
  return scores.sort((a, b) => a - b).slice(0, 3);
}

Tulostusmuodon rajoitteet

Voitte rajoittaa myös vastauksen muotoa. Näin vastaukset on helppo kopioida ja ottaa käyttöön:

  • "Return only a single code block, no prose."
  • "Reply with the full file, ready to save."
  • "List 3 options as a numbered list, code only."

v0:n ja Boltin kaltaiset sovellusten rakennustyökalut muotoilevat tulosteen jo valmiiksi suoritettaviksi sovelluksiksi — mutta editorissa vastausmuodon kertominen säästää siivoustyötä.

You are a JS engineer. Return ONLY the complete function in one code block, with no explanation before or after.

Task: Write debounce(fn, delay) that returns a debounced version of fn.

Rakentakaa uudelleenkäytettävä rooliotsake

Ammattilaiset eivät kirjoita rooleja ja rajoitteita uudelleen joka kerta. He tallentavat rooliotsakkeen ja käyttävät sitä uudelleen. Cursorissa sen voi tallentaa .cursorrules-tiedostoon, Claude Codessa CLAUDE.md-tiedostoon tai voitte pitää sitä muistiinpanona, jonka liitätte kehotteeseen.

Hyvä pysyvä otsake määrittää teknologiapinon, tyylin ja Älä koskaan -luettelon kerralla, joten jokainen kehote perii ne automaattisesti.

PROJECT RULES (paste once, applies to all prompts):
Role: Senior JavaScript engineer who writes clean, commented, accessible code.
Stack: Vanilla JS + HTML/CSS, no frameworks.
Never: add dependencies, use TypeScript, or edit unrelated files.
Style: short functions, descriptive names, no clever one-liners.

Älkää rajoittako liikaa

Rajoitteet ovat tehokkaita, mutta niitä voi olla liikaa, jolloin tekoäly joutuu tuottamaan huonoa koodia. Jos kiellätte kaiken, se ei löydä hyvää ratkaisua.

Säilyttäkää tasapaino:

  • Rajoittakaa asioita, joilla on teille merkitystä (teknologiapino, kattavuus, turvallisuus).
  • Jättäkää tekoälylle tilaa valita toteutuksen yksityiskohdat.

Jos tulos tuntuu jäykältä tai väärältä, höllentäkää yhtä rajoitetta ja suorittakaa pyyntö uudelleen. Tavoitelkaa selkeää toimeksiantoa, älkää pakkopaitaa.

Pikatarkistus

Haluatte tekoälyn korjaavan yhden funktion kirjoittamatta koko tiedostoa uudelleen. Mikä lisäys kehotteeseen saavuttaa tämän parhaiten?

Kertaus: Ohjatkaa tekoälyä

Opitte ohjaamaan tekoälyä kuin ohjaaja:

  • Roolit tuottavat asiantuntijatason vastauksia keskimääräisten vastausten sijaan.
  • Rajoitteet määrittävät tiukat säännöt: teknologiapinon, kattavuuden, Älä koskaan -luettelot ja tulostusmuodon.
  • Yhdistäkää ne rakenteella Role → Constraints → Task.
  • Tallentakaa uudelleenkäytettävä rooliotsake (.cursorrules / CLAUDE.md).
  • Älkää rajoittako liikaa — jättäkää tilaa hyville ratkaisuille.

Seuraavaksi näytätte tekoälylle esimerkkejä, jotta se jäljittelee haluamaanne täsmällistä tyyliä.

Aloita maksutta

Opi JavaScript tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
25
Oppitunnit
100

Usein kysytyt kysymykset

Onko oppitunti ”Roolit ja rajoitteet” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Vibe-koodaus-oppimispolun 3 oppituntia, myös oppitunnin “Roolit ja rajoitteet”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Vibe-koodaus-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Roolit ja rajoitteet”?

Määritelkää tekoälyn rooli ja rajat paremman tuloksen saavuttamiseksi. Harjoittelet Vibe-koodaus-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Vibe-koodaus-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Vibe-koodaus-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.

Kuinka kauan ”Roolit ja rajoitteet”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Vibe-koodaus-oppitunnilla?

Kyllä. Jokainen Vibe-koodaus-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Roolit ja rajoitteet
  2. Few-shot-esimerkit
  3. Suurten tehtävien jakaminen vaiheisiin
  4. Teknologian ja tyylin määrittely
← Takaisin: Vibe-koodaus