Geheugen- en statusbeheer voor agents
Implementeer technieken voor persistent geheugen en statusbeheer bij LLM-agents, zodat langdurige gesprekken en complexe taakreeksen mogelijk worden.
Geheugen- en statusbeheer voor agents is een gratis Promptontwerp en LLM-optimalisatie voor ontwikkelaars-les op CoddyKit. Dit is les 2 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Promptontwerp en LLM-optimalisatie voor ontwikkelaars. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Promptontwerp en LLM-optimalisatie voor ontwikkelaars bevat in totaal 4 lessen.
Agents hebben geheugen nodig
LLM-agents zijn ontworpen om complexe taken uit te voeren. Maar LLM's zijn standaard stateless! Dat betekent dat ze eerdere interacties niet "onthouden".
Om een betekenisvol gesprek te voeren of taken met meerdere stappen te voltooien, heeft een agent een manier nodig om eerdere informatie terug te halen. Daar komt geheugen van pas.
Kortetermijn- en langetermijngeheugen
Het geheugen van een agent kan worden ingedeeld in twee hoofdtypen:
- Kortetermijngeheugen: Dit lijkt op het werkgeheugen van een mens. Het bevat recente, relevante informatie voor direct gebruik, vaak de onbewerkte gespreksgeschiedenis.
- Langetermijngeheugen: Slaat informatie gedurende langere tijd op, zoals eerdere gesprekken of geleerde feiten. Het helpt agents kennis te behouden buiten de huidige interactie.
Geheugen als gespreksbuffer
De eenvoudigste vorm van kortetermijngeheugen voor een agent is een gespreksbuffer. Deze slaat de onbewerkte uitwisseling van berichten tussen de gebruiker en de agent op.
Bij het genereren van een nieuw antwoord krijgt de agent de volledige buffer als invoer, zodat hij de context voor de huidige beurt kan behouden.
Eenvoudige demonstratie van een chatbuffer
Hier is een eenvoudig Python-voorbeeld dat een gespreksbuffer simuleert. Elk nieuw bericht wordt toegevoegd aan een lijst die het geheugen van de agent voorstelt.
class AgentMemory:
def __init__(self):
self.history = []
def add_message(self, role, content):
self.history.append(f"{role}: {content}")
def get_history(self):
return "\n".join(self.history)
# Simulate agent interaction
memory = AgentMemory()
memory.add_message("User", "Hi, what's the weather like?")
memory.add_message("Agent", "It's sunny today.")
memory.add_message("User", "What about tomorrow?")
print("Current conversation history:")
print(memory.get_history())Samenvatten voor de lange termijn
Onbewerkte gespreksbuffers groeien snel, waardoor de limieten van het contextvenster van de LLM worden bereikt en de kosten stijgen. Samenvatten is een belangrijke techniek voor langetermijngeheugen.
In plaats van de volledige geschiedenis te versturen, vatten we oudere delen van het gesprek regelmatig samen. Zo behouden we de belangrijkste punten en laten we uitgebreide details weg.
Concept van samengevat geheugen
Dit voorbeeld laat zien hoe een samenvatting kan worden gegenereerd en gebruikt. In een echte toepassing zou een LLM de samenvatting maken, maar hier simuleren we dat.
class AgentMemory:
def __init__(self):
self.buffer = []
self.summary = "No previous conversation."
def add_message(self, role, content):
self.buffer.append(f"{role}: {content}")
# In a real app, trigger LLM summarization here
if len(self.buffer) > 4: # Example threshold
self.summarize_buffer()
def summarize_buffer(self):
# Simulate LLM summarizing the buffer
old_messages = "\n".join(self.buffer[:-2])
new_summary = f"Summary of past: {old_messages[:30]}..."
self.summary = new_summary
self.buffer = self.buffer[-2:] # Keep recent messages
def get_full_context(self):
return f"Previous summary: {self.summary}\n" + \
"\n".join(self.buffer)
memory = AgentMemory()
memory.add_message("User", "Tell me about your capabilities.")
memory.add_message("Agent", "I can answer questions.")
memory.add_message("User", "Can you write code?")
memory.add_message("Agent", "Yes, in Python.")
memory.add_message("User", "What about Java?") # This triggers summary
memory.add_message("Agent", "I can try some Java.")
print("Agent's current context:")
print(memory.get_full_context())Taakstatus van een agent
Naast het onthouden van gesprekken moeten agents hun status beheren om taken met meerdere stappen te voltooien. Dat betekent dat ze voortgang, genomen beslissingen en verzamelde informatie bijhouden.
Je kunt dit zien als een checklist of een eindige-toestandsmachine voor het doel van de agent. Voor het boeken van een vlucht moet je bijvoorbeeld vertrekplaats, bestemming en datums kennen.
Voorbeeld van de status bij het boeken van een vlucht
Stel je een agent voor die helpt bij het boeken van een vlucht. Zijn interne status kan het volgende bevatten:
- Status:
"collecting_info","searching_flights","booking_confirmed" - Vertrekstad:
"London" - Bestemmingsstad:
"Paris" - Vertrekdatum:
"2024-12-25" - Aantal passagiers:
"1"
De agent werkt deze status bij terwijl hij informatie van de gebruiker verzamelt.
Uitdagingen met geheugen en status
Het beheren van geheugen en status van agents brengt verschillende belangrijke uitdagingen met zich mee:
- Limieten van het contextvenster: Hoeveel informatie kan de LLM tegelijk verwerken?
- Kosten: Langere contexten betekenen meer tokens en hogere API-kosten.
- Ophalen: Hoe vindt de agent bij zeer langetermijngeheugen (bijvoorbeeld een kennisbank) efficiënt de meest relevante informatie uit het verleden?
- Consistentie: Ervoor zorgen dat de status van de agent de voortgang van de taak en de verzamelde gegevens correct weergeeft.
Controle van het geheugen
Laten we controleren of je de technieken voor het beheren van geheugen en status van agents begrijpt.
Samenvatting: geheugen en status
In deze les hebben we onderzocht hoe geheugen en status essentieel zijn voor LLM-agents om langdurige gesprekken te voeren en complexe taken te voltooien.
- We hebben technieken behandeld voor kortetermijngeheugen als gespreksbuffer en samenvatten voor de lange termijn.
- Ook hebben we gekeken hoe statusbeheer agents helpt de voortgang in processen met meerdere stappen bij te houden.
Deze technieken vormen de basis voor het bouwen van echt capabele en persistente AI-agents.
Leer Promptontwerp en LLM-optimalisatie voor ontwikkelaars met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 12
- Lessen
- 48
Veelgestelde vragen
Is de les “Geheugen- en statusbeheer voor agents” gratis?
Ja — de volledige tekst van “Geheugen- en statusbeheer voor agents” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Promptontwerp en LLM-optimalisatie voor ontwikkelaars wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Promptontwerp en LLM-optimalisatie voor ontwikkelaars bevat in totaal 4 lessen.
Wat leer ik in “Geheugen- en statusbeheer voor agents”?
Implementeer technieken voor persistent geheugen en statusbeheer bij LLM-agents, zodat langdurige gesprekken en complexe taakreeksen mogelijk worden. Je oefent met Promptontwerp en LLM-optimalisatie voor ontwikkelaars door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Promptontwerp en LLM-optimalisatie voor ontwikkelaars te beginnen?
Ervaring vooraf is niet nodig. Promptontwerp en LLM-optimalisatie voor ontwikkelaars op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.
Hoe lang duurt de les “Geheugen- en statusbeheer voor agents”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Promptontwerp en LLM-optimalisatie voor ontwikkelaars?
Ja. Elke les over Promptontwerp en LLM-optimalisatie voor ontwikkelaars bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Multi-agentsystemen ontwerpen
- Geheugen- en statusbeheer voor agents
- Autonome workflowautomatisering
- Reflectie- en zelfcorrectielussen voor agents