Prompt engineering
Uusimmat modernit edistukset ohjelmointi-insinööritieteessä: kattava opas

Ohjelmointi-insinööritieteellinen suunnittelu, taito ja tieteellinen tieto ohjelmointikielten luomisesta, joka saa aikaan toivottuja vastauksia LLM:stä, on tullut tärkeäksi tutkimus- ja kehityskohteeksi.
Ohjelmointi-insinööritieteellisen suunnittelun uusimmat edistukset avaavat uusia rajoja tekoälyssä. Tässä artikkelissa käsittelemme uusimpia ja kehittyneimpiä tekniikoita ja strategioita, jotka muokkaavat ohjelmointi-insinööritieteellisen suunnittelun tulevaisuutta.
Edistyneet ohjelmointistrategiat monimutkaisille ongelmanratkaisuille
Vaikka CoT-ohjelmointi on osoittautunut tehokkaaksi monissa päättelytehtävissä, tutkijat ovat kehittäneet edistyneempiä ohjelmointistrategioita ratkaisemaan monimutkaisempia ongelmia. Yksi tällainen lähestymistapa on vähimmäis-maksimi-ohjelmointi, jossa monimutkainen ongelma jaetaan pienempiin, hallitettaviin aliongelmiin, jotka ratkaistaan itsenäisesti ja yhdistetään lopulliseen ratkaisuun.
Toinen innovatiivinen tekniikka on ajatuksien puu (ToT)-ohjelmointi, jossa LLM voi generoida useita ajatuslinjoja rinnakkain, arvioida omaa edistymistään kohti ratkaisua ja palata tai tutkia vaihtoehtoisia polkuja tarpeen mukaan. Tämä lähestymistapa hyödyntää hakualgoritmeja, kuten leveyshaku- tai syvyyshaku, mahdollistaen LLM:lle etenemisen ja takaisinmentävän päättelyprosessin aikana.
LLM-integrointi ulkoisten työkalujen ja ohjelmien kanssa
Vaikka LLM:t ovat erittäin voimakkaita, niillä on sisäänrakennettuja rajoituksia, kuten kyky päästä käyttämään ajantasaisia tietoja tai suorittaa tarkkaa matemaattista päättelyä. Tämän puutteen korjaamiseksi tutkijat ovat kehittäneet tekniikoita, jotka mahdollistavat LLM:lle ulkoisten työkalujen ja ohjelmien käytön.
Yksi merkittävä esimerkki on Toolformer, joka opettaa LLM:lle tunnistamaan tilanteita, joissa ulkoisia työkaluja tarvitaan, määrittämään, mitä työkalua käytetään, antamaan asiaankuuluvan syötteen ja sisällyttämään työkalun tuloksen lopulliseen vastaukseen. Tämä lähestymistapa vaatii keinotekoisen koulutusaineiston, joka osoittaa teksti-teksti-rajapintojen oikean käytön.
Toinen innovatiivinen kehys on Chameleon, joka käyttää “plug-and-play”-lähestymistapaa, jossa keskimmäinen LLM-pohjainen ohjain generoi luonnollisen kielen ohjelmia, jotka koostavat ja suorittavat laajan valikoiman työkaluja, mukaan lukien LLM:t, visiomallit, verkkohakukoneet ja Python-funktiot. Tämä modulaarinen lähestymistapa mahdollistaa Chameleonin ratkaista monimutkaisia, monitieteellisiä päättelytehtäviä hyödyntämällä eri työkalujen ja mallien vahvuuksia.
Perusohjelmointistrategiat
Nollashot-ohjelmointi
Nollashot-ohjelmointi sisältää tehtävän kuvaamisen ohjelmointikielessä ja pyytää mallia ratkaisemaan sen ilman esimerkkejä. Esimerkiksi “juuston” kääntäminen ranskaan voisi olla nollashot-ohjelmointi:
Käännä seuraava englanninkielinen sana ranskaan: juusto.
Tämä lähestymistapa on suoraviivainen, mutta se voi olla rajoitettu tehtävänkuvausten epäselvyyden vuoksi.
Pienishot-ohjelmointi
Pienishot-ohjelmointi parantaa nollashot-ohjelmointia sisältämällä useita esimerkkejä tehtävästä. Esimerkiksi:
Käännä seuraavat englanninkieliset sanat ranskaan:
1. omena => omena
2. talo => talo
3. juusto => juusto
Tämä menetelmä vähentää epäselvyyttä ja tarjoaa selvemmän ohjeen mallille.
Ohjeohjelmointi
Ohjeohjelmointi kuvailee nimenomaisesti toivottua tulosta, mikä on erityisen tehokasta malleilla, jotka on koulutettu seuraamaan ohjeita. Esimerkiksi:
Käännä sana "juusto" ranskaan. Oikea käännös on "juusto".
Mallit, kuten GPT-4, on erityisesti hienosäädetty seuraamaan tällaisia ohjeita tarkasti.
… (jatkuu)













