Tiivistäminen pakkaamisena
Korvatkaa vanhat keskusteluvuorot ajoittain jatkuvasti päivitettävällä tiivistelmällä ja vaihtakaa tarkka muistaminen konteksti-ikkunan tilaan.
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.contentJatkuvasti 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.contentJä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:
- Tiivistäkää vanhat vuorot järjestelmäviestiksi
- UPOTTAKAA lisäksi jokainen vuoro vektorisäilöön
- 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.
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
- Lyhytkestoinen muisti konteksti-ikkunassa
- Miksi pitkät kontekstit eivät skaalaudu
- Tiivistäminen pakkaamisena
- Yksinkertaiset muistivarastot (avain-arvo)