uutiset

Claude 3.5 -ydinkoodauskehote paljastui, koodaajat kaikkialla verkossa ovat innoissaan!Nelivaiheinen koulutusmenetelmä, uusin V2-versio julkaistu

2024-07-16

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Uusi viisausraportti

Toimittaja: Taozi

[Johdatus uuteen viisauteen] Claude 3.5 -koodausjärjestelmän ydinvinkit ovat suosittuja Reddit-yhteisössä. Alkuperäinen kirjoittaja julkaisi juuri nyt kehittyneen toisen version, ja jotkut verkkokäyttäjät ovat jo lisänneet sen työnkulkuunsa.

Järjestelmäkehote Claude Sonnet 3.5 -ydinkoodauksesta julkaistiin äskettäin Redditissä, ja se levisi viruksena!


Käyttäjä nimeltä ssmith12345uk kertoi r/ClaudeAI:n emolevyllä käyttäneensä Claude-koodikäytäntöä ja jatkuvasti säädettäviä järjestelmäkehotteita mallin optimoimiseksi.

Hän sanoi, että järjestelmäkehote sisältää joitain Anthropic Meta-Promptin ideoita ja ratkaisee joitain aiemmin havaittuja ongelmia.

Lopulta hän julkaisi kaikki vihjesanat.


Tekoälyyhteisön kehittäjät ovat välittäneet sen edelleen suosikeilleen sanoen, että tämä on ohje, jota koodaajat haluavat eniten!



Netizens tiivisti tämän: ReAct + Planning + XML on kaikki mitä tarvitset.


Jotkut hyötyneet nettikäyttäjät sanoivat, että tästä vinkistä oli paljon apua heidän projekteissaan.


Alkuperäinen kirjoittaja julkaisi juuri eilen Reddit-yhteisössä kehitetyn version V2-kehotesanasta ja antoi yksityiskohtaiset ohjeet ja selitykset sen käytöstä.


Ennen kuin selitän nämä järjestelmäkehotteet ja -tekniikat, haluan ensin vastata verkkokäyttäjien kysymykseen - mihin syöttää?

Sinun on luotava projekti (tilaa Pro-käyttäjät), ja sitten voit siirtyä sivulle, jolle kirjoitat ohjeita.



Vahvimmat koodausvinkit Sonnet 3.5, 4-vaihekoulutukseen

Täällä V1- ja V2-järjestelmäkehotteet kootaan yhteen, jotta jokainen voi tuntea eron intuitiivisemmin päivityksen jälkeen.

V2-version järjestelmäkehote näkyy alla olevan kuvan oikealla puolella. V1:een verrattuna se on pohjimmiltaan pieniä korjauksia.

Uusimmassa versiossa mallia ohjataan edelleen suorittamaan CoT-päättely neljän vaiheen kautta - koodin tarkistus, suunnittelu, tulosteet ja suojaustarkistus.

Ensimmäisessä kappaleessa Claude 3.5:n roolin määritelmä pysyy samana.

Olet asiantunteva verkkokehittäjä, jolla on CSS-, JavaScript-, React-, Tailwind-, Node.JS- ja Hugo/Markdown-taitoja.

Toisessa virkkeessä tehtiin kuitenkin hienosäätöä - "Älä pyydä turhaan anteeksi. Tarkista keskusteluhistoria, jotta vältyt toistamasta aikaisempia virheitä."

Pyydä seuraavaksi Claude 3.5:tä jakamaan tehtävä itsenäisiin vaiheisiin keskustelun aikana ja ehdota jokaisen vaiheen jälkeen pieni testi varmistaaksesi, että kaikki on oikeilla jäljillä.

Anna koodi vain, kun esimerkkiä tarvitaan tai sitä nimenomaisesti pyydetään. Olisi parasta, jos voisit vastata ilman koodia.

Mutta lisäselvityksiä pyydetään tarvittaessa.

Seuraava vaihe on "koodin tarkistus" - ennen koodin kirjoittamista tai ehdottamista suorita kattava kooditarkistus olemassa olevasta koodista ja kuvaile tagien välillä, miten se toimii.


Kun olet suorittanut koodin tarkistuksen, sinun on luotava muutossuunnitelma tagien välille ja pyydettävä lisää lähdetiedostoja tai asiakirjoja, jotka voivat olla merkityksellisiä.

Noudata DRY (Don't Repeat Yourself) -periaatetta koodin päällekkäisyyden välttämiseksi ja koodin ylläpidettävyyden ja joustavuuden tasapainottamiseksi.

Ja tässä vaiheessa esitetään mahdollisia kompromisseja ja toteutusvaihtoehtoja sekä harkitaan ja suositellaan asiaankuuluvia viitteitä ja kirjastoja. Jos emme ole sopineet suunnitelmasta, lopeta tähän vaiheeseen.

Sovittuaan koodi luodaan tunnisteiden väliin.

Tässä Redditin kirjoittaja muistutti myös Claude 3.5:tä asioista, joihin on kiinnitettävä huomiota koodia tulostettaessa:

Kiinnitä huomiota muuttujien nimiin, tunnisteisiin ja merkkijonoihin ja tarkista, että ne on kopioitu täsmälleen alkuperäisestä tiedostosta. Käytä kaksoispisteitä ja isoja kirjaimia (kuten::SUURIA kirjaimia::) osoittamaan, että tavanomaisesti nimetyt kohteet pysyvät ajan tasalla koodaustyylejä luotaessa koodilohkoja kyseiselle kielelle sopivilla idiomeilla, määritä ohjelmointikieli ensimmäisen backtickin jälkeen: esimerkiksi: ```JavaScript, ```Python

Lopuksi vaaditaan SUUNNITTELU- ja TUOTTEEN turvallisuus- ja toimintatarkistus, jossa kiinnitetään erityistä huomiota asioihin, jotka voivat vaarantaa tietoja tai tuoda haavoittuvuuksia.

Arkaluontoiset muutokset (kuten syötteiden käsittely, valuuttalaskelmat, todennus) tarkistavat perusteellisesti ja kirjoitat analyysisi tunnisteeseen.

Tekijän analyysi

Seuraavaksi pitkässä selitysartikkelissa Redditin kirjoittaja käyttää sanaa ‍⬛ osoittamaan "taikauskoa" ja ilmaisemaan, mistä hän on vakuuttunut.


Tämä kehote on esimerkki ohjatusta "ajatusketjun" kehotteesta, joka kertoo Claudelle suoritettavat vaiheet ja missä järjestyksessä ja käyttää sitä järjestelmäkehotteena (ensimmäinen mallin vastaanottama ohjesarja).

XML-tunnisteiden käyttäminen vaiheiden erottamiseen on saanut inspiraationsa antrooppisista meta-vinkkeistä.

Kirjoittaja uskoo, että Claude on erityisen herkkä XML-tunnisteille, jotka voivat liittyä mallikoulutukseen. Siksi hän mieluummin käsittelee HTML:ää yksin tai istunnon lopussa‍⬛.

项目地址:https://github.com/anthropics/anthropic-cookbook/blob/68028f4761c5dbf158b7bf3d43f2f45b44111200/misc/metaprompt.ipynb#

Ohjattu ajatteluketju seuraa seuraavia vaiheita: koodin tarkistus, suunnittelu, tuotos, tietoturvatarkistus.

1 Koodin tarkistus

Tuo jäsennelty koodianalyysi kontekstiin myöhempää suunnittelua varten.

Tarkoituksena on estää LLM:ää tekemästä paikallisia muutoksia koodiin ottamatta huomioon laajempaa kontekstia. Kirjoittajat ovat vakuuttuneita, että tämä lähestymistapa on tehokas.

2 suunnittelu

Tämä vaihe tuottaa korkean tason suunnittelu- ja toteutussuunnitelman, joka voidaan tarkistaa ennen koodin luomista.

"Stop" tässä välttää kontekstin täyttämisen generoidulla, tarpeettomalla koodilla, joka ei täytä tarpeitamme tai jota käymme edestakaisin muokkaamassa.

Se sisältää yleensä asiaankuuluvia ja sopivia vaihtoehtoja.

Tässä vaiheessa voit perehtyä suunnitelman yksityiskohtiin ja tarkentaa sitä (esim. kerro minulle lisää vaiheesta 3, voimmeko käyttää Y-toteutusta uudelleen, näyttää minulle koodinpätkä, mitä minun pitäisi ajatella kirjastosta jne. .).

3 lähtöä

Kun suunnitelmat on sovittu, on aika siirtyä koodintuotantovaiheeseen.

Kysymys muuttujien nimeämisestä johtuu siitä, että kirjoittaja kohtaa usein puuttuvien tai hallusinoitujen muuttujien nimien ongelman uudelleen luodusta koodista pitkien istuntojen aikana. Nykyinen parannus näyttää ratkaisneen tämän ongelman.

Jossain vaiheessa kirjoittaja saattaa viedä vanhan dialogin ja tehdä tilastollisen analyysin, mutta toistaiseksi olen tyytyväinen siihen, miten tämä lähestymistapa toimii.

Koodirajoituskehote johtui siitä, että kirjoittaja vaihtoi käyttöliittymään, joka ei pystynyt päättelemään oikeaa korostusta, ja varmisti, että tämä oli oikea lähestymistapa.

4 Turvatarkistus

Kirjoittaja mieluummin suorittaa tietoturvatarkastuksen jälkikäteen ja pitää tätä vaihetta erittäin hyödyllisenä.

Se tarjoaa katsauksen "toiselta silmäparilta" ja voi ehdottaa uusia parannuksia.

Vastaa nettilaisten kysymyksiin

Lopuksi Redditin kirjoittaja vastasi myös nettilaisten kysymyksiin.

Pitäisikö minun käyttää tätä vinkkiä Claude.ai:ssa? / Mihin järjestelmän tulee pyytää syötettä?

Emme tiedä tarkalleen Sonnet 3.5:n virallisia järjestelmäkehotteita. Olisi ehdottomasti hyödyllistä olettaa, että Plinius, joka vuoti aiemmin Clauden viralliset kehotteet, on oikea. Kirjoittaja arvelee, että Anthropicin järjestelmäkehotteet voivat sisältää automaattisia CoT-kehotteita, mutta näin ei välttämättä ole, tai syöttö voidaan käsitellä automaattisesti metakehotteiden kautta.

Tästä huolimatta saat hyviä tuloksia käyttämällä tätä vihjettä, ellet käytä esineitä.


Olettaen jälleen, että Pliniusin ote esineistä on oikea, kirjoittaja suosittelee vahvasti Artefacts-toiminnon poistamista käytöstä, kun teet ei-triviaaleja tai ei-artefakteihin liittyviä koodaustehtäviä.

Jos käytät työkalua, jonka avulla voit asettaa järjestelmäkehotteita suoraan, kirjoittaja muistuttaa sinua muistamaan säätää lämpötilaparametria.

Emme tarvitse nyt niin monimutkaisia ​​kehotteita / syötin Sonnetiin paljon koodia ja se vain toimi


Automaattiset AK/oletuskehotteet voivat todellakin ratkaista monia ongelmia, mutta testaa tätä yksinkertaista "olet avulias tekoälyä" -kehotetta vastaan.

Kirjoittajat väittävät tehneensä tällaisia ​​testejä ja havainneet, että yksinkertaiset kehotteet olivat vähemmän tehokkaita monimutkaisten ongelmien käsittelyssä.

Hän mainitsi myös, että varhainen testaus osoitti järjestelmäkehotteiden herkkyyden, eli erilaiset kehotteet voivat johtaa merkittävästi erilaisiin tuloksiin, ja että tulevaisuudessa harkitaan lisää erätestausta tämän tarkistamiseksi.

Hän myönsi, että Sonnet 3.5 suoriutui hyvin perustehtävistä, mutta korosti, että jopa tehokkaissa malleissa asianmukainen opastus voi silti auttaa.

Tämä kehote on liian pitkä ja saa tekoälyn hallusinoitumaan / unohtamaan / menettämään johdonmukaisuuden / menettämään keskittymisen


Kirjoittajat mittasivat tämän vihjeen olevan noin 546 merkkiä, mikä on hyväksyttävä pituus 200 000 merkkiä mallille.

Strukturoidut kehotteet ylläpitävät kontekstin korkeaa laatua, auttavat pitämään keskustelut johdonmukaisina ja vähentävät tekoälyn hallusinaatioiden riskiä.

Toistaiseksi mallit ennustavat seuraavan tunnuksen koko kontekstin perusteella, joten toistuvat laadukkaat keskustelut, jotka eivät ole tarpeettoman koodin saastuttamia edestakaisin, voivat kestää pidempään ennen kuin sinun on aloitettava uusi istunto. Tämä tarkoittaa, että tuottavaa vuorovaikutusta voi esiintyä saman istunnon aikana pidempiä aikoja.

Tämä kehote on liian suunniteltu

Kirjoittaja sanoi, että ehkä niin.

Sitä käyttävät ihmiset on integroitu työnkulkuun

Netizens huudahti, että mallin suorituskyky on todellakin parantunut sen käytön jälkeen.

"Jos tämä kehote toimii paremmin, se tarkoittaa, että Anthropic-tiimin tekemä työ CoT- tai ReAct-järjestelmäkehotteiden yhdistämisessä LLM:n perusominaisuuksiin on tuottanut tuloksia."


Tämä on koodausavustajille! Tällaista tehtävää varten on järkevää antaa ohjeita.


Jotkut verkkokäyttäjät ovat jo sisällyttäneet osan näistä vinkeistä työnkulkuunsa. Tässä on se, mitä hän lataa aina ensimmäisenä uudessa keskustelussa.



Jotkut nettimiehet sanoivat kuitenkin, että tämä kehote on liian monimutkainen.


"Kokemukseni mukaan tällaisia ​​kattavia kehotteita ei tarvitse käyttää. Claude 3.5 Sonnet käsittelee tällaiset asiat melko automaattisesti, ja se vaatii vain satunnaista pikaista selvennystä."


Roolivinkit, ajanhukkaa

Simon Willison, Django-kehyksen kehittäjä, sanoi, että nopea tekniikka "Olet xxx-alan asiantuntija" on ollut täyttä ajanhukkaa vuoden 2022 lopusta lähtien.

LLM-vinkkeihin liittyvien "taikauskoiden" määrä on aivan huikea!


Tämä johtopäätös tulee itse asiassa vuoden kestäneestä tutkimuksesta, jonka teki Learnprompting-tiimi sekä OpenAI:n ja Microsoftin yhteistyökumppanit.

Paperiosoite: https://arxiv.org/pdf/2406.06608

Projektia varten he analysoivat yli 1 500 kehotteita koskevaa paperia, luokitellaan ne 58 eri kehotetekniikkaan ja analysoivat jokaisen kehotteen.


Tutkimukset ovat osoittaneet, että roolikehotus on järkyttävän tehotonta.

Syynä on se, että vanhemmilla malleilla ne näyttävät saavan parempia vastauksia/päätelmiä ohjaamalla parempaan parametritilaan. Uudemmat mallit voivat kuitenkin jo olla tässä parannetussa parametritilassa.

Tämä on rakentava arvaus kaikille!

Lokakuussa 2022, kun Learnprompting julkaisi ensimmäisen ChatGPT:tä edeltäneistä vinkeistä ja temppuista kertovan oppaansa, roolikehotus oli tuolloin kuumin aihe ja kaikkien suosittelema ydinvinkki parempien ChatGPT-tulosten saavuttamiseksi.


Tosin nämä mallit kehittyvät nopeasti, ja viime vuonna toimineet tekniikat eivät ehkä enää toimi tänään.

Ja tänään toimivat vinkit eivät välttämättä toimi ensi vuonna.

Tämän ongelman selventämiseksi Learnprompting-tiimi testasi 2000 MMLU-kysymystä käyttämällä noin 12 erilaista merkkikehotetta gpt-4-turbossa.

Erityisesti esimerkki kehottaa luomaan "neron" hahmon - olet Harvardissa koulutettu tiedemies...

Ja muistutus "idiootti" -hahmolle - olet idiootti...

"genius...": "You are a genius level Ivy league Professor. Your work is of the highest grade. You always think out your problem solving steps in incredible detail. You always get problems correct and never make mistakes. You can also break any problem into its constituent parts in the most intelligent way possible. Nothing gets past you. You are omniscient, omnipotent, and omnipresent. You are a mathematical God."
 "idiot...": "You are intellectually challenged, lacking problem-solving skills, prone to errors, and struggle with basic concepts. You have a limited understanding of complex subjects and cannot think straight. You can't solve problems well, in fact, you can't solve them at all. You are a terrible, dumb, stupid, and idiotic person. You fail at everything you do. You are a nobody and can't do anything correctly."

Kuten alla olevasta kuvasta näkyy, eri roolikehotteiden vastausten tarkkuus ei ole yhtä suuri kuin nollanäytteen CoT, kahden otoksen CoT ja muiden strategioiden tarkkuus.

Sillä ei ole väliä, onko kyseessä matematiikan noviisi, huolimaton opiskelija, asiantunteva tekoäly, poliisi tai Ivy Leaguen matematiikan professori.


Vielä mielenkiintoisempaa on, että GPT-4, joka tunnetaan nimellä "nero", rikkoi vastaustarkkuuden alhaisimman ennätyksen, 58,7%.

GPT-4:llä, joka tunnetaan nimellä "idiootti", on korkeampi pistemäärä kuin "nerolla" GPT-4:llä.


Toinen Michiganin yliopiston tiimin tekemä tutkimus havainnollistaa hienosti, kuinka erilaiset sosiaaliset roolimerkit vaikuttavat mallin yleiseen suorituskykyyn.

He testasivat 2457 MMLU-ongelmaa ja havaitsivat, että parhaiten suoriutuvat hahmot olivat (punainen) - poliisi, avulias avustaja, kumppani, mentori, tekoälyn kielimalli, chatbot.

Paperiosoite: https://arxiv.org/pdf/2311.10054

Mitä tulee "taikauskoiseen" muistutukseen suurista malleista, Willison teki elävän ja mielenkiintoisen metaforan:

Vertailen tätä tilannetta koiraan, joka löytää hampurilaisen pensaasta ja tarkistaa sitten hampurilaisen joka kerta, kun hän ohittaa sen pensaan seuraavien vuosien ajan. Meidän on oltava järkevämpiä kuin koiria.

Hän kuitenkin täsmensi, että joissain tapauksissa olisi hyödyllistä antaa tietyt roolit tekoälyn kielimalleille, mutta korosti, että tämän pitäisi perustua järkevään ajatteluun ja erityisiin olosuhteisiin.


Jotkut nettimiehet sanoivat, että jos he ajattelevat sitä askel askeleelta, se on edelleen ikuinen lause.


Viitteet:

https://www.reddit.com/r/ClaudeAI/comments/1dwra38/sonnet_35_for_coding_system_prompt/