Tekoälyn prompt engineering · Oppitunti

Otsikko–runko–alatunniste-promptimalli

Yhtenäinen promptirakenne, joka skaalautuu monimutkaisiin monitehtäväprompteihin.

Oppitunti 3/413 vaihetta

Otsikko–runko–alatunniste-promptimalli on ilmainen Tekoälyn prompt engineering-oppitunti CoddyKitissä. Tämä on oppitunti 3/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 Tekoälyn prompt engineering-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Tekoälyn prompt engineering-kurssilla on yhteensä 4 oppituntia.

Promptit asiakirjoina

Pitkissä asiakirjoissa – raporteissa, artikkeleissa ja sähköposteissa – käytetään Otsake/Runko/Alatunniste-rakennetta, koska sitä on helppo hahmottaa. Lukijat tietävät, mitä kussakin osassa odottaa.

Sama periaate pätee prompteihin. Kun promptit kasvavat muutamaa virkettä pidemmiksi, Otsake/Runko/Alatunniste-rakenne tekee niistä nopeasti silmäiltäviä, ylläpidettäviä ja johdonmukaisia.

Tämä malli toimii eri malleilla ja skaalautuu yksinkertaisista prompteista erittäin monimutkaisiin.

Otsakeosio

Otsake vastaa kahteen kysymykseen: Kuka olet? ja Mikä on tehtävä?

Se määrittää mallin identiteetin (persoonan tai roolin) ja ilmoittaa promptin ensisijaisen tavoitteen. Kaikki muu rakentuu tämän perustan varaan.

Hyvä otsake on tiivis – yleensä 2–4 virkettä. Se ei sisällä esimerkkejä, rajoitteita tai vastausta koskevia sääntöjä.

header = '''
<header>
You are an expert technical writer specializing in API documentation.
Your task is to write clear, developer-friendly documentation
for the API endpoint described in the body of this prompt.
</header>
'''

print(header)

Runko-osio

Runko sisältää sisällön tai kontekstin, jota malli tarvitsee tehtävän suorittamiseen. Tämä on tärkein data-alue:

  • käsiteltävät lähdeasiakirjat
  • keskusteluhistoria
  • jäsennelty data (JSON- ja CSV-katkelmat)
  • viitemateriaali
  • käyttäjän varsinainen syöte

Runko on suurin osio, ja se lisätään useimmiten dynaamisesti suorituksen aikana.

def build_body(endpoint_spec):
    return f'''
<body>
<endpoint_specification>
{endpoint_spec}
</endpoint_specification>
</body>
'''

spec = 'POST /api/v2/users\nRequest body: {email: string, role: admin|user}\nReturns: {id: string, created_at: ISO8601}'
print(build_body(spec))

Alatunnisteosio

Alatunniste sisältää muotoiluohjeet ja vastausskeeman. Se sijoitetaan viimeiseksi seuraavista syistä:

  • malli lukee sisällön ylhäältä alas ja soveltaa muotoilusääntöjä juuri käsittelemäänsä sisältöön
  • loppupuolella olevat muotoiluohjeet jäävät todennäköisemmin mieleen
  • alatunniste on usein uudelleenkäytettävissä prompteissa, joissa on sama vastaustyyppi

Alatunnisteen tulee olla yksiselitteinen: Palauta JSON-objekti, jossa on nämä kentät, ei muotoile siististi.

footer = '''
<footer>
Format your response as a JSON object with these fields:
{
  "endpoint": "string",
  "summary": "string (one sentence)",
  "parameters": [{"name": "string", "type": "string", "required": true|false, "description": "string"}],
  "response_example": "string (JSON)",
  "error_codes": [{"code": "number", "meaning": "string"}]
}
Do not include any text outside the JSON object.
</footer>
'''

print(footer)

Koko mallin kokoaminen

Otsakkeen, rungon ja alatunnisteen yhdistäminen täydelliseksi, uudelleenkäytettäväksi promptifunktioksi:

def build_api_doc_prompt(endpoint_spec):
    header = '<header>\nYou are an expert technical writer. Document the API endpoint in the body.\n</header>'
    body = f'<body>\n<endpoint>\n{endpoint_spec}\n</endpoint>\n</body>'
    footer = '<footer>\nReturn JSON: {"summary": str, "parameters": [...], "response_example": str}\nNo text outside JSON.\n</footer>'
    return '\n\n'.join([header, body, footer])

spec = 'GET /api/products/:id\nReturns product details by ID'
print(build_api_doc_prompt(spec))

Miksi tämä järjestys toimii

Otsake/Runko/Alatunniste-järjestys vastaa tapaa, jolla mallit käsittelevät kontekstia:

  1. Otsake ensin – määrittää identiteetin ja tavoitteen sekä pohjustaa mallin tulevaa sisältöä varten
  2. Runko toisena – malli käsittelee nyt sisältöä vakiintuneen roolin ja tehtävän näkökulmasta
  3. Alatunniste viimeisenä – muotoiluohjeet ovat juuri ennen vastauksen tuottamista, mikä maksimoi niiden vaikutuksen vastauksen rakenteeseen

Kun muotoiluohjeet sijoitetaan otsakkeeseen (alkuun), ne unohtuvat osittain siihen mennessä, kun malli kirjoittaa vastauksensa.

Skaalautuminen monimutkaisiin kehotteisiin

Header/Body/Footer-malli skaalautuu luontevasti, kun kehotteet monimutkaistuvat:

def build_complex_prompt(persona, task, context_docs, constraints, output_schema):
    header = f'<header>\n{persona}\nTask: {task}\n</header>'

    docs = '\n'.join(f'<document id="{i+1}">\n{d}\n</document>' for i, d in enumerate(context_docs))
    body = f'<body>\n{docs}\n</body>'

    constraint_list = '\n'.join(f'- {c}' for c in constraints)
    footer = f'<footer>\n<constraints>\n{constraint_list}\n</constraints>\n<output_schema>\n{output_schema}\n</output_schema>\n</footer>'

    return '\n\n'.join([header, body, footer])

Footer-mallien uudelleenkäyttö

Koska Footer määrittää tulosteen rakenteen, se on osioista helpoimmin uudelleenkäytettävä. Yleisiä Footer-malleja:

FOOTER_JSON = '<footer>\nReturn a valid JSON object. No text outside JSON. No markdown code fences.\n</footer>'

FOOTER_MARKDOWN = '<footer>\nFormat your response as markdown.\nUse ## for section headers.\nUse bullet points for lists.\nMaximum 500 words.\n</footer>'

FOOTER_STRUCTURED = '<footer>\nRespond using this exact structure:\n1. Summary (1 sentence)\n2. Key Findings (bullet list)\n3. Recommendation (1 paragraph)\n</footer>'

print('Footer templates ready for reuse.')

Dynaamisen sisällön lisääminen Body-osioon

Body on osio, joka rakennetaan ajonaikana useimmiten dynaamisesti. Dynaamisen sisällön lisäämisen parhaat käytännöt:

  • Sijoittakaa lisättävä sisältö aina nimettyjen XML-tagien sisään
  • Puhdistakaa käyttäjän syöte ennen lisäämistä prompt injectionin estämiseksi
  • Lyhentäkää erittäin pitkät asiakirjat ja merkitkää lyhennys Body-osioon
  • Merkitkää jokainen lisättävä osa selkeästi (document_1, user_query, chat_history)
def safe_inject(user_content, max_chars=3000):
    safe = user_content.replace('<', '&lt;').replace('>', '&gt;')
    if len(safe) > max_chars:
        safe = safe[:max_chars] + '... [TRUNCATED]'
    return f'<user_input>\n{safe}\n</user_input>'

raw = 'User provided text here. Could be very long.'
print(safe_inject(raw))

Yhtenäinen rakenne koko koodikannassa

Header/Body/Footer-mallin todellinen voima tulee esiin, kun koko sovelluksessa käytetään johdonmukaisesti samaa rakennetta. Hyödyt:

  • Uudet tiimin jäsenet ymmärtävät minkä tahansa kehotteen heti
  • Kehotteiden tarkastelu koodikatselmoinnissa on helpompaa — tarkastajat tietävät täsmälleen, mistä etsiä
  • Automaattisella testauksella voidaan tarkistaa jokainen osio itsenäisesti
  • Kehotteiden siirtäminen mallista toiseen on suoraviivaista — vain sisältö muuttuu, ei rakenne

Header/Body/Footer-mallin yleiset virheet

Mallin toimivuutta heikentävät virheet:

  • Muotoiluohjeet Header-osiossa — liian kaukana vastauksen muodostamisesta; malli jättää ne osittain huomiotta
  • Tehtävän kuvaus piilotettuna Body-osioon — malli saattaa käsitellä sitä käsiteltävänä datana eikä ohjeena
  • Rajoitteet hajautettu eri osioihin — vaikea tarkastaa ja johtaa ristiriitoihin
  • Footer puuttuu — tulosteen rakenteesta tulee ennakoimaton kehotteen monimutkaistuessa

Pikatarkistus

Mihin tulosteen muotoiluohjeet pitäisi sijoittaa Header/Body/Footer-mallissa ja miksi?

Header/Body/Footer — keskeiset opit

Header/Body/Footer-malli tuo dokumenttirakenteen kurinalaisuuden kehotetekniikkaan:

  • Header: Kuka olet ja mikä tehtävä on — luo kehyksen kaikelle seuraavalle
  • Body: Sisältö ja konteksti — lisätään dynaamisesti ja sijoitetaan semanttisten XML-tagien sisään
  • Footer: Muotoiluohjeet ja tulosteen skeema — sijoitetaan viimeiseksi, jotta ne vaikuttavat mahdollisimman paljon tulosteen rakenteeseen
  • Malli skaalautuu luontevasti yksinkertaisista erittäin monimutkaisiin kehotteisiin
  • Footer-malleja voidaan käyttää uudelleen kehotteissa, joilla on sama tulostetyyppi
  • Koodikannan yhtenäinen rakenne tekee kehotteista helposti tarkasteltavia, testattavia ja ylläpidettäviä
Aloita maksutta

Opi Tekoälyn prompt engineering 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
53
Oppitunnit
199

Usein kysytyt kysymykset

Onko oppitunti ”Otsikko–runko–alatunniste-promptimalli” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Tekoälyn prompt engineering-oppimispolun 3 oppituntia, myös oppitunnin “Otsikko–runko–alatunniste-promptimalli”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Tekoälyn prompt engineering-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Otsikko–runko–alatunniste-promptimalli”?

Yhtenäinen promptirakenne, joka skaalautuu monimutkaisiin monitehtäväprompteihin. Harjoittelet Tekoälyn prompt engineering-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Tekoälyn prompt engineering-opiskelun?

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

Kuinka kauan ”Otsikko–runko–alatunniste-promptimalli”-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ä Tekoälyn prompt engineering-oppitunnilla?

Kyllä. Jokainen Tekoälyn prompt engineering-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. XML-tunnisteiden käyttö erottimina
  2. Modulaariset promptiosiot
  3. Otsikko–runko–alatunniste-promptimalli
  4. Promptien järjestämisen parhaat käytännöt
← Takaisin: Tekoälyn prompt engineering