← 返回列表

AI-sarjan haastattelu 12: Promptin optimointi

Promptin optimointi (Prompt Engineering / Optimization) on keskeinen taito suurten kielimallien "tottelevaisuuden" saavuttamiseksi. Erityisesti RAG-järjestelmissä se määrittää, noudattaako malli uskollisesti haettua sisältöä, välttääkö se hallusinaatioita ja tuottaako se oikeassa muodossa olevia tulosteita.


1. Promptin optimoinnin keskeiset periaatteet

  1. Selkeys > monimutkaisuus: Yksinkertaiset suorat ohjeet ovat usein tehokkaampia kuin hienostuneet ajatusketjut.
  2. Anna riittävästi rajoitteita: Kerro mallille selkeästi "mitä se saa tehdä ja mitä ei".
  3. Tarjoa esimerkkejä: Few-shot on vakaampi kuin zero-shot.
  4. Todennettavuus: Pyydä mallia viittaamaan lähteisiin tai ilmoittamaan luottamustaso, jotta lopputulosta voidaan arvioida.
  5. Iteratiivinen optimointi: Aloita perustasosta, muuta vain yhtä muuttujaa kerrallaan ja vertaa tuloksia.

2. Erityisiä optimointitekniikoita (helposta vaikeaan)

1. Roolin asetus (System Prompt)

Olet ammattimainen asiakaspalveluavustaja. Voit vastata kysymyksiin vain alla olevien [viitemateriaalien] perusteella.
Jos et tiedä vastausta, sano suoraan "Tiedoissa ei ole aiheeseen liittyviä tietoja", älä keksi itse.
  • Vaikutus: Asettaa rajat ja sävyn.
  • Optimointikohta: Sävy (ammattimainen/ystävällinen), rajoitteiden voimakkuus (tiukka/joustava).

2. Selkeät ohjeet

❌ Huono: "Vastaa käyttäjän kysymykseen."
✅ Hyvä: "Ainoastaan alla olevan [viitemateriaalin] perusteella. Jos viitemateriaali ei sisällä vastausta, sano 'En voi vastata tähän kysymykseen'."

3. Tulosteen muodon hallinta

Tulosta seuraavassa JSON-muodossa:
{
  "answer": "vastauksesi",
  "confidence": "korkea/keskitaso/matala",
  "sources": [1, 3]
}
  • Käyttötarkoitus: Helpottaa loppukäyttäjän jäsentämistä, viittaamista ja virheenkorjausta.

4. Few-shot -esimerkit (erittäin tehokas)

Esimerkki 1:
Kysymys: Kuinka monta lomapäivää on?
Viitemateriaali: Lomapäiväsäännöt: 1 vuoden täytyttyä 5 päivää, 10 vuoden täytyttyä 10 päivää.
Vastaus: 1 vuoden täytyttyä 5 päivää, 10 vuoden täytyttyä 10 päivää.

Esimerkki 2:
Kysymys: Miten ylityökorvaus lasketaan?
Viitemateriaali: Arkipäivän ylityö 1,5-kertainen, viikonloppu 2-kertainen.
Vastaus: Arkipäivä 1,5-kertainen, viikonloppu 2-kertainen.

Vastaa nyt:
Kysymys: {käyttäjän kysymys}
Viitemateriaali: {haettu sisältö}
Vastaus:
  • Vinkki: Esimerkkien tulisi kattaa eri vaikeustasoja, ja on hyvä sisällyttää yksi esimerkki, jossa ei voida vastata.

5. Pakotetut viittaukset

Merkitse lähteen numero vastauksen loppuun muodossa [citation:X]. Esimerkiksi: "Lomapäiviä on 5 [citation:1]."
Jos käytetään useita lähteitä, merkitse ne erikseen.

6. Kieltäytymiskynnyksen asettaminen

  • Kova rajoite: "Jos viitemateriaali on täysin epäolennainen kysymykseen nähden, sano 'Materiaali ei liity aiheeseen'."
  • Pehmeä rajoite: Yhdistä haun luottamuspistemäärä; jos se on alle kynnyksen, siirry automaattisesti kieltäytymishaaraan.

7. Ajatusketju (Chain-of-Thought) monivaiheiseen päättelyyn

Kysymys: Kuka on Zhang Sanin pomo?
Vaiheet: 1. Selvitä ensin Zhang Sanin osasto. 2. Selvitä sitten osaston johtaja. 3. Anna lopullinen vastaus.
Mieti vaiheittain ja tulosta sitten.

8. Kielto-ohjeet (Negative Prompting)

Älä keksi vastauksia. Älä käytä epämääräisiä sanoja kuten "mahdollisesti" tai "ehkä". Älä tulosta mitään lukuja, jotka eivät ole viitemateriaalissa.

3. Miten arvioida promptin hyvyyttä?

Mittari Merkitys Miten mitataan
Uskollisuus Onko vastaus tiukasti viitemateriaalin mukainen? Manuaalinen tai RAGAS:n Faithfulness
Kieltäytymistarkkuus Kieltäytyykö malli kun sen pitäisi? Lasketaan testijoukossa ilman vastauksia
Muodon noudattaminen Tuottaako malli JSON-muodon/viittaukset vaaditusti? Regex-tarkistus
Käyttäjätyytyväisyys Onko vastaus hyödyllinen? Online-palaute / A/B-testaus

Ehdotus: Valmistele pieni testijoukko (20-50 reunatapausta), aja se jokaisen promptin muutoksen jälkeen ja kirjaa muutokset.

4. Yleisiä ongelmia ja optimointisuuntia

Ongelma Mahdollinen syy Optimointitapa
Malli jättää huomiotta viitemateriaalin ja vastaa itse Ohje ei ole tarpeeksi vahva Muuta muotoon "Ainoastaan alla olevan materiaalin perusteella" ja käytä few-shot -esimerkkejä kieltäytymisestä
Malli sanoo aina "en tiedä" Kieltäytymiskynnys liian korkea Laske kynnystä tai tarkista haun laatu
Tulosteen muoto on sekaisin, ei JSON:n mukaan Ohje on epäselvä Lisää tiukka muotoesimerkki tai käytä function calling -toimintoa
Vastaus liian pitkä/lyhyt Pituutta ei ole määritelty "Vastaa enintään kolmella virkkeellä"
Monivaiheinen päättely epäonnistuu Mallin päättelykyky ei riitä Pyydä esittämään vaiheittainen päättely tai vaihda vahvempaan malliin
Hallusinaatioita numeroissa/päivämäärissä Malli luottaa omaan tietoonsa Korosta "Älä käytä mitään muistamiasi lukuja, katso vain materiaalia"

评论

暂无已展示的评论。

发表评论(匿名)