Tekoälyagentit · Oppitunti

Tiivistäminen pakkaamisena

Korvatkaa vanhat keskusteluvuorot ajoittain jatkuvasti päivitettävällä tiivistelmällä ja vaihtakaa tarkka muistaminen konteksti-ikkunan tilaan.

Oppitunti 3/413 vaihetta

Tiivistäminen pakkaamisena on ilmainen Tekoälyagentit-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Tekoälyagentit-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Tekoälyagentit-kurssilla on yhteensä 4 oppituntia.

Tiivistäminen muistina

Kun keskustelu pitkittyy, korvatkaa vanhat vuorot lyhyellä yhteenvedolla. Vaihdatte tarkan muistamisen kontekstitilaan.

Yhteenveto sisältää ydinsisällön (faktat, päätökset ja avoimet asiat) — sanatarkka teksti katoaa.

Milloin tehdä yhteenveto

Käynnistäkää yhteenvedon muodostaminen, kun:

  • tokeneita on yhteensä yli rajan (esimerkiksi 8k)
  • vuoroja on enemmän kuin N (esimerkiksi 20)
  • käyttäjä aloittaa uuden aiheen

Tehkää yhteenveto vanhemmista vuoroista

Säilyttäkää uusimmat vuorot sellaisinaan ja tehkää yhteenveto vain pois jääneestä osasta:

def compact(messages, keep_recent=10):
    system = messages[0]
    old = messages[1:-keep_recent]
    recent = messages[-keep_recent:]
    if not old:
        return messages
    summary = summarise(old)
    return [
        system,
        {'role': 'system', 'content': f'Earlier conversation summary:\n{summary}'},
        *recent
    ]

Yhteenvetokehote

Käyttäkää erillistä ja edullista mallikutsua yhteenvedon muodostamiseen:

def summarise(messages):
    text = '\n'.join(f'{m["role"]}: {m["content"]}' for m in messages)
    response = client.chat.completions.create(
        model='gpt-4o-mini',
        messages=[
            {'role': 'system', 'content': 'Summarise this conversation in 5 bullet points. Preserve facts, decisions, and pending TODOs.'},
            {'role': 'user', 'content': text}
        ],
        max_tokens=300,
    )
    return response.choices[0].message.content

Jatkuvasti päivittyvät yhteenvedot

Ylläpitäkää yhtä kasvavaa yhteenvetoa sen sijaan, että muodostaisitte yhteenvedon joka kerta alusta:

running_summary = ''

def extend_summary(new_messages):
    global running_summary
    response = client.chat.completions.create(
        model='gpt-4o-mini',
        messages=[
            {'role': 'system', 'content': 'Extend the existing summary with the new turns. Keep it under 200 words.'},
            {'role': 'user', 'content': f'Existing summary:\n{running_summary}\n\nNew turns:\n{format(new_messages)}'}
        ],
        max_tokens=500,
    )
    running_summary = response.choices[0].message.content

Jäsennellyt yhteenvedot

Pakottakaa yhteenveto poimimaan tietyt kentät:

summary_schema = {
    'topics_discussed': '...',
    'user_facts': {'name': '...', 'preferences': '...'},
    'open_questions': ['...'],
    'decisions_made': ['...']
}
# Use json_object response_format to enforce.
import json
print(json.dumps(summary_schema, indent=2))

Hierarkkiset yhteenvedot

Erittäin pitkille historiatiedoille:

  • 100 vuoron välein muodostetut yhteenvedot (keskitaso)
  • 1000 vuoron välein muodostetut yhteenvedot (ylätaso)
  • koko käyttöajan yhteenveto (äärimmäinen taso)

Tuokaa kontekstiin vain sopiva taso.

Yksityiskohtien menettäminen

Yhteenvedoista katoavat tarkat lainaukset ja täsmällinen sanamuoto. Jos käyttäjä kysyy "mitä tarkalleen sanoin aiemmin hinnoittelusta?", malli ei pysty vastaamaan.

Sanatarkkaan muistamiseen tarvitsette joko suuremman kontekstin tai vektorihaun sisältävän arkiston.

Yhteenveto ja vektoriarkisto yhdessä

Parhaat puolet molemmista:

  1. Tiivistäkää vanhat vuorot järjestelmäviestiksi
  2. UPOTTAKAA lisäksi jokainen vuoro vektorisäilöön
  3. Jos käyttäjä kysyy yksityiskohtia, hakekaa sanatarkka sisältö vektorisäilöstä

Yhteenvedon laadulla on merkitystä

Surkea yhteenveto on huonompi kuin yhteenvedon puuttuminen. Käyttäkää edullista mutta kyvykästä mallia (gpt-4o-mini, haiku) — älkää halvinta tasoa — yhteenvedon muodostamiseen.

Yhteenvetojen päivittäminen on kallista

8000 keskustelutokenin tiivistäminen on todellinen LLM-kutsu — 1–2 sekuntia ja 0,5 senttiä. Tehkää se vuorojen välissä asynkronisesti, ei kriittisellä suorituspolulla.

Yhteenvedon kompromissi

Mikä on tärkein kompromissi, kun yhteenvetoa käytetään muistina?

Yhteenveto

Yhteenveto on edullinen tapa laajentaa muistia. Yhdistäkää se vektorihakuun tarkkojen lainausten muistamista varten.

Aloita maksutta

Opi Tekoälyagentit 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
60
Oppitunnit
239

Usein kysytyt kysymykset

Onko oppitunti ”Tiivistäminen pakkaamisena” ilmainen?

Kyllä – oppitunnin ”Tiivistäminen pakkaamisena” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Tekoälyagentit-kurssin, päivitä CoddyKit PROhon. Tekoälyagentit-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Tiivistäminen pakkaamisena”?

Korvatkaa vanhat keskusteluvuorot ajoittain jatkuvasti päivitettävällä tiivistelmällä ja vaihtakaa tarkka muistaminen konteksti-ikkunan tilaan. Harjoittelet Tekoälyagentit-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Tekoälyagentit-opiskelun?

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

Kuinka kauan ”Tiivistäminen pakkaamisena”-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älyagentit-oppitunnilla?

Kyllä. Jokainen Tekoälyagentit-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. Lyhytkestoinen muisti konteksti-ikkunassa
  2. Miksi pitkät kontekstit eivät skaalaudu
  3. Tiivistäminen pakkaamisena
  4. Yksinkertaiset muistivarastot (avain-arvo)
← Takaisin: Tekoälyagentit