Täydennystehtävämallien luominen
Käyttäkää {{variable}}-paikanvaraajia ja merkkijonojen korvaamista Pythonissa.
Täydennystehtävämallien luominen on ilmainen Tekoälyn prompt engineering-oppitunti CoddyKitissä. Tämä on oppitunti 2/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.
Paikkamerkkien merkintätapa
Täydennettävässä kehotemallissa käytetään paikkamerkkejä merkitsemään kehotteen osia, jotka korvataan todellisilla arvoilla ennen kuin kehote lähetetään mallille.
Yleisin paikkamerkkien merkintätapa on kaksinkertaiset aaltosulkeet: {{variable_name}}. Tämä merkintätapa on helppolukuinen, epätodennäköinen esiintymään vahingossa tavallisessa tekstissä ja laajasti mallipohjakirjastojen tukema.
Kohtaatte myös muita merkintätapoja: yksinkertaiset aaltosulkeet {variable}, kulmasulkeet <variable> ja ALL_CAPS-muuttujat. Valitkaa yksi tapa ja käyttäkää sitä johdonmukaisesti.
Paikanvaraajien peruskorvaaminen
Yksinkertaisin aukkojen täyttömalli on suora merkkijonon korvaaminen:
Malline: "Kirjoita {{word_count}} sanan kuvaus tuotteesta {{product}} kohderyhmälle {{audience}}."
Tämä korvaaminen tapahtuu ennen merkkijonon lähettämistä mallille — malli näkee siistin, täydellisen kehotteen ilman paikanvaraajamerkintöjä. Paikanvaraajat ovat esikäsittelyvaihe, eivät jotain, mitä malli itse käsittelee.
Paikanvaraajien yleiset luokat
Rakentakaa mallineenne käyttämällä vakiintuneita paikanvaraajaluokkia, jotka kattavat useimmat käyttötapaukset:
{{customer_name}}— vastaanottajan tai kohteen nimi{{product}}— tuote, palvelu tai aihe, josta kirjoitetaan{{tone}}— esimerkiksi asiallinen, rento, kiireellinen tai innostunut{{audience}}— kenelle sisältö on tarkoitettu{{word_count}}— tavoitepituus{{format}}— luettelomerkit, kappaleet tai numeroitu luettelo{{context}}— tähän tapaukseen liittyvät taustatiedot
Yhtenäinen nimeäminen kaikissa mallineissa helpottaa kirjaston käyttöä ja vähentää virheitä.
Merkkijonojen korvaaminen Pythonin .format()-menetelmällä
Pythonin sisäänrakennettu merkkijonojen .format()-menetelmä on yksinkertainen tapa täyttää paikanvaraajat käyttämällä syntaksia {variable}:
import openai
client = openai.OpenAI(api_key='sk-...')
EMAIL_TEMPLATE = '''Write a follow-up email from {sender_name} to {recipient_name}.
Context: {context}
Tone: {tone}
Length: {word_count} words.
Include a clear call to action: {cta}.
Do not mention competitors. Active voice. No bullet points.'''
def generate_email(sender, recipient, context, tone, word_count, cta):
prompt = EMAIL_TEMPLATE.format(
sender_name=sender,
recipient_name=recipient,
context=context,
tone=tone,
word_count=word_count,
cta=cta
)
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': prompt}]
)
return response.choices[0].message.content
result = generate_email(
sender='Sarah Chen',
recipient='Mr. Patel',
context='We met at the DevConf conference last week and discussed API integration.',
tone='warm and professional',
word_count=120,
cta='Schedule a 20-minute demo call'
)
print(result)Pythonin f-string-lähestymistapa
Pythonin f-string-merkkijonot tarjoavat rivinsisäisen korvaussyntaksin, jota jotkut kehittäjät suosivat sen luettavuuden vuoksi:
import openai
client = openai.OpenAI(api_key='sk-...')
def generate_product_description(product, audience, tone, word_count, key_benefit):
prompt = (
f'Write a product description for {product}, designed for {audience}. '
f'Tone: {tone}. '
f'Length: {word_count} words. '
f'Lead with this key benefit: {key_benefit}. '
'Active voice. No bullet points. No pricing mentions.'
)
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': prompt}]
)
return response.choices[0].message.content
print(generate_product_description(
product='FocusFlow, a time-blocking productivity app',
audience='freelancers and independent consultants',
tone='energetic and practical',
word_count=150,
key_benefit='Reclaim two hours every day by blocking distractions automatically'
))Erikoismerkkien käsittely paikanvaraajissa
Yleinen virhe syntyy, kun käyttäjän antamat arvot sisältävät aaltosulkeita, lainausmerkkejä tai rivinvaihtoja, jotka voivat rikkoa merkkijonon korvaamisen.
Varautukaa tähän seuraavilla tavoilla:
- Puhdistakaa syötteet ennen korvaamista — poistakaa erikoismerkit tai escapekaa ne tarvittaessa
- Käyttäkää kolminkertaisilla lainausmerkeillä rajattuja merkkijonoja monirivisissä mallineissa, jotta rivinvaihdot käsitellään turvallisesti
- Kun muuttujan arvo sisältää itsessään aaltosulkeita (esimerkiksi koodia), käyttäkää menetelmää, joka käsittelee muuttujan arvon kirjaimellisena tekstinä (Jinja2 käsittelee tämän hyvin)
Testatkaa malline aina myös poikkeustapauksilla: tyhjillä merkkijonoilla, lainausmerkkejä sisältävillä merkkijonoilla, rivinvaihtoja sisältävillä merkkijonoilla ja erittäin pitkillä merkkijonoilla.
Mallineiden oletusarvot
Kaikkien muuttujien ei tarvitse olla pakollisia. Valinnaisten parametrien oletusarvot tekevät mallineista joustavampia:
def build_prompt(product, audience, tone='professional and friendly', word_count=200, format_style='prose'):
format_instruction = {
'prose': 'Write in continuous paragraphs. No bullet points.',
'bullets': 'Use bullet points. Each point is one sentence.',
'numbered': 'Use a numbered list. Each item is one sentence.'
}.get(format_style, 'Write in continuous paragraphs.')
return (
f'Write a description of {product} for {audience}. '
f'Tone: {tone}. '
f'Length: {word_count} words. '
f'{format_instruction} '
'Active voice. No competitor mentions.'
)
# Minimal call — uses all defaults
print(build_prompt('Notion', 'students'))
# Full call — overrides defaults
print(build_prompt('Notion', 'students', tone='casual', word_count=100, format_style='bullets'))Usean lohkon mallineet
Monimutkaisissa kehotteissa voi olla useita muuttujalohkoja — esimerkiksi järjestelmäkehotelohko ja käyttäjän viestilohko, joilla kummallakin on omat paikanvaraajansa:
SYSTEM_TEMPLATE = 'You are a {role} writing for {company}. Your audience is {audience}. Style: {style}.'
USER_TEMPLATE = 'Write a {content_type} about {topic}. Length: {word_count} words. Deadline tone: {urgency}.'
import openai
client = openai.OpenAI(api_key='sk-...')
def generate(role, company, audience, style, content_type, topic, word_count, urgency):
system_msg = SYSTEM_TEMPLATE.format(
role=role, company=company, audience=audience, style=style
)
user_msg = USER_TEMPLATE.format(
content_type=content_type, topic=topic,
word_count=word_count, urgency=urgency
)
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[
{'role': 'system', 'content': system_msg},
{'role': 'user', 'content': user_msg}
]
)
return response.choices[0].message.contentPaikanvaraajien tarkistaminen ennen renderöintiä
Varmistakaa aina ennen kehotteen lähettämistä, että kaikki pakolliset paikanvaraajat on täytetty. Puuttuva paikanvaraaja tarkoittaa, että malli vastaanottaa kirjaimellista tekstiä, kuten {{product}}, ja saattaa tuottaa hyvin kummallisen tuloksen:
import re
def validate_template(template_str, provided_vars):
required = set(re.findall(r'\{\{(\w+)\}\}', template_str))
missing = required - set(provided_vars.keys())
if missing:
raise ValueError(f'Missing required template variables: {missing}')
return True
template = 'Write a {{word_count}}-word {{tone}} description of {{product}} for {{audience}}.'
vars_provided = {'word_count': 150, 'tone': 'friendly', 'product': 'TaskFlow'}
try:
validate_template(template, vars_provided)
except ValueError as e:
print(f'Template error: {e}')
# Output: Template error: Missing required template variables: {{'audience'}}Ehdolliset mallinelohkot
Joskus mallineen osan pitäisi näkyä vain, jos tietty muuttuja on annettu. Voitte toteuttaa tämän Pythonissa rakentamalla merkkijonon ehtojen perusteella:
def build_report_prompt(topic, audience, word_count, include_recommendations=False, cta=None):
prompt = f'Write a report on {topic} for {audience}. Length: {word_count} words. Active voice.'
if include_recommendations:
prompt += ' End with a numbered list of 3 specific recommendations.'
if cta:
prompt += f' Close with this call to action: {cta}'
return prompt
# Without optional sections
print(build_report_prompt('cloud cost optimization', 'engineering managers', 400))
# With optional sections
print(build_report_prompt(
topic='cloud cost optimization',
audience='engineering managers',
word_count=600,
include_recommendations=True,
cta='Book a cost audit with our team at cloudcost.io'
))Rajattujen valintojen muuttujat
Joidenkin mallinemuuttujien arvo pitäisi rajoittaa kiinteään joukkoon sallittuja vaihtoehtoja. Pakottakaa tämä enum-tyylisellä tarkistuksella:
VALID_TONES = ['professional', 'casual', 'urgent', 'empathetic', 'enthusiastic']
VALID_FORMATS = ['prose', 'bullets', 'numbered', 'table']
def generate_content(topic, tone, format_style, word_count):
if tone not in VALID_TONES:
raise ValueError(f'Invalid tone: {tone}. Choose from: {VALID_TONES}')
if format_style not in VALID_FORMATS:
raise ValueError(f'Invalid format: {format_style}. Choose from: {VALID_FORMATS}')
format_map = {
'prose': 'continuous paragraphs, no lists',
'bullets': 'bullet points',
'numbered': 'numbered list',
'table': 'a markdown table'
}
prompt = (f'Write about {topic} in {tone} tone. '
f'Format: {format_map[format_style]}. '
f'Length: {word_count} words. Active voice.')
return promptOppimistesti: Aukkojen täyttömallit
Käytössänne on tämä malline: 'Write a {tone} email to {recipient} about {topic}. Length: {word_count} words.'
Kutsutte sitä näin: tone='formal', recipient='the team', word_count=100 — mutta unohdatte parametrin topic.
Mitä tapahtuu?
Kertaus: Aukkojen täyttömallien luominen
Aukkojen täyttöön perustuvissa kehotemalleissa paikanvaraajat ({{variable}}, {variable} tai vastaavat) merkitsevät uudelleenkäytettävän mallineen muuttuvat osat. Pythonin .format() ja f-string-merkkijonot ovat yleisimmät korvausmekanismit.
Parhaat käytännöt: tarkistakaa kaikki pakolliset paikanvaraajat ennen renderöintiä, käyttäkää oletusarvoja valinnaisille muuttujille, rajoittakaa lueteltuja vaihtoehtoja käyttävät muuttujat ja käsitelkää poikkeustapaukset (tyhjät merkkijonot, erikoismerkit) ennakoivasti.
Seuraavassa oppitunnissa tutustutte Jinja2:een ja Pythonin string.Templateen, jotka tarjoavat tehokkaampia vaihtoehtoja muuttujien korvaamiseen.
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 ”Täydennystehtävämallien luominen” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Tekoälyn prompt engineering-oppimispolun 3 oppituntia, myös oppitunnin “Täydennystehtävämallien luominen”. 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 ”Täydennystehtävämallien luominen”?
Käyttäkää {{variable}}-paikanvaraajia ja merkkijonojen korvaamista Pythonissa. 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 2/4.
Kuinka kauan ”Täydennystehtävämallien luominen”-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
- Mikä on promptimalli
- Täydennystehtävämallien luominen
- Muuttujien korvaustekniikat
- Mallien uudelleenkäyttö eri tehtävissä