5. října 2026
Memory v Copilot Studio: paměť napříč konverzacemi, zatím v preview
Funkce Memory umožňuje agentům v Copilot Studio uchovávat kontext a využívat ho v dalších konverzacích. Je dostupná v preview pro agenty využívající GitHub Copilot harness; Microsoft tuto verzi označuje za připravenou pro produkční nasazení, její možnosti i dokumentace se však mohou měnit.
Neoficiální české shrnutí a překlad článku Microsoftu. Web není oficiálním kanálem Microsoftu. Originál: Memory in Copilot Studio: How Agents Carry Knowledge Across Conversations (Copilot Studio CAT Blog).
GitHub Copilot harness
Velké jazykové modely jsou bezstavové. Každá nová konverzace začíná bez znalosti těch předchozích. Paměť je technická vrstva kolem modelu, která vytváří dojem kontinuity. Právě díky ní se agent může z chytrého nástroje stát něčím, co se více podobá kolegovi.
Jak agenti v Copilot Studio přenášejí znalosti mezi konverzacemi? Základem je krátkodobá a dlouhodobá paměť, tři druhy dlouhodobých znalostí, reflexe a ověřování, že celý systém skutečně funguje.
Proč agenti potřebují paměť
Jazykový model zná pouze to, co má právě před sebou. Zavřete okno, otevřete nové a vše je pryč: preference, které jste vysvětlili, pravidla pojmenování souborů, která jste dvakrát opravovali, i informace, že se v březnu změnil člověk schvalující Vaše finanční požadavky. Každá relace začíná, jako by Vás agent nikdy nepotkal.
U vyhledávacího pole to nevadí. U pracovního kolegy je to problém.
Představte si, jak pracuje vědkyně. Uprostřed projektu se ptá: Co se zkoušelo minulé úterý? Nejde o nostalgii, ale o to, aby neztratila týden opakováním experimentu, který už jednou selhal. Odpověď má v laboratorním deníku. Ten je užitečný díky třem schopnostem: rozpoznat, co stojí za zapsání, vědět, jak později najít správnou stránku, a poznat, kdy je potřeba něco škrtnout, protože už to neplatí.
Přesně stejné tři problémy musí řešit paměť agenta: co zapsat, co si vybavit a co zapomenout.
flowchart TB
subgraph WITHOUT["Without memory"]
A1["Session 1<br/>learns your context"]
A2["Session 2<br/>starts from zero"]
A3["Session 3<br/>starts from zero"]
end
subgraph WITHMEM["With memory"]
B1["Session 1"] --> M[("durable memory store")]
M --> B2["Session 2<br/>recalls and builds on it"]
M --> B3["Session 3<br/>recalls and builds on it"]
end
WITHOUT ~~~ WITHMEM
Chybějící kontinuita: bez paměti je každá relace oddělená od předchozí. Paměť umožňuje přenášet znalosti za hranice jedné konverzace.
Dva časové horizonty: krátkodobá a dlouhodobá paměť
Krátkodobá paměť je aktuální kontextové okno
Krátkodobou paměť tvoří vše, co agent vidí právě teď, aniž by to musel vyhledávat: aktuální konverzace, nedávné výsledky nástrojů a vlastní průběžné uvažování. Tyto informace jsou ihned k dispozici a jejich zpřístupnění nevyžaduje další vyhledávání. Kapacita je ale omezená. Konverzace se prodlužuje, kontextové okno nikoli.
Technickým řešením je kompakce neboli zhušťování kontextu: když se konverzace blíží limitu, starší výměny se stlačí do průběžného souhrnu, zatímco nejnovější výměny zůstanou v původním znění. Kompakci obvykle spouští buď záměrně uživatel, nebo automaticky běhové prostředí po překročení prahové hodnoty zaplnění kontextu. Agent tak udrží nit konverzace, aniž by musel uchovávat každé slovo.
Dlouhodobá paměť přetrvává mimo relaci
Kom pakce uvolní místo v jedné konverzaci. Pro tu následující ale nic neřeší. Dlouhodobá paměť uchovává znalosti i po skončení relace, a proto potřebuje trvalé úložiště: souborové úložiště, databázi nebo index. Běhové prostředí pak zajišťuje dvě věci: během konverzace i po ní do úložiště zapisuje a v případě potřeby z něj načítá relevantní informace zpět do kontextu.
| Krátkodobá paměť | Dlouhodobá paměť | |
|---|---|---|
| Co představuje | Aktuální kontextové okno | Znalosti uložené mimo relaci |
| Co obsahuje | Aktuální konverzaci, nedávné výsledky nástrojů a průběžné uvažování | Epizodické, sémantické a procedurální znalosti |
| Životnost | Dočasná, zaniká po zavření okna | Trvalá, přetrvává mezi relacemi |
| Přístup | Okamžitý, bez dalšího načítání, ale s omezenou kapacitou | Informace je nutné cíleně zapsat a následně vyhledat a načíst |
| Klíčová technika | Kompakce | Zápis a vybavování informací |
Tři druhy dlouhodobé paměti
Dlouhodobá paměť je zastřešující označení pro tři odlišné druhy znalostí. Každý vzniká jinak, používá se jinak a také přináší jiná bezpečnostní rizika.
| Druh | Co představuje | Příklad |
|---|---|---|
| Epizodická – zkušenosti | Záznam konkrétních minulých událostí: kdy, kde a jak se odehrály. Připomíná datované zápisy v deníku. | Úterý: „Uživatel mě požádal o vrácení peněz za objednávku XYZ a požadavek jsem předal nadřízenému.“ |
| Sémantická – fakta | Zobecněné poznatky z epizodické paměti. Agent převádí zkušenosti na trvaleji platná fakta, musí však také rozpoznat, kdy je nahradila novější informace. | Zkušenost: „Alice řekla, že se stěhuje do Berlína.“ → Fakt: „Alice žije v Berlíně.“ |
| Procedurální – dovednosti | Naučené postupy, pracovní procesy a praktická pravidla. Jde o obdobu svalové paměti: rozdíl mezi znalostí pravidel a schopností podle nich jednat. | Sémantická: „Výdaje nad 500 USD vyžadují schválení.“ Procedurální: načíst účtenku, zařadit výdaj do kategorie, zkontrolovat soulad s pravidly, předat schvalovateli, zaevidovat a odeslat potvrzení. |
Poslední řádek si zaslouží pozornost. Procedurální paměť má blízko k dovednosti (skill), tedy zkontrolovanému postupu, který agent může na vyžádání spustit. Pokud znáte článek Agenti nyní mají dovednosti, princip už znáte: jde o know-how připravené k opakovanému použití.
Zásadní posun nespočívá v tom, že agent zná nějaký fakt. Spočívá v tom, že ví, jak úkol provést.
Jak k paměti přistupuje Copilot Studio
Funkce Memory v Copilot Studio používá konkrétní model: agent ukládá paměť uživatele jako soubory do vyhrazené složky v úložišti spravovaném Microsoftem. Každý agent má pro každého uživatele samostatnou složku, ze které při jednotlivých interakcích čte a do které zapisuje.
Zachytit, uložit a využít
Životní cyklus paměti má tři kroky:
- Zachycení: Agent zaznamená informace, například preference a relevantní kontext sdílený během konverzace.
- Uložení: Tyto informace uloží jako soubory do vyhrazené složky paměti daného uživatele.
- Využití: Při dalších interakcích agent paměť načte a zohlední ji v odpovědích nebo rozhodování.
Tvůrce agenta rozhoduje o zapnutí funkce Memory na kartě Build. Samotný obsah paměti zůstává soukromý pro konkrétního uživatele: ostatní uživatelé ani tvůrce agenta jej nemohou zobrazit.
Paměť má pod kontrolou také uživatel. Při první interakci s agentem se zapnutou funkcí Memory v novém kanálu obsahuje odpověď odkaz na portál paměti daného uživatele. Portál se otevře na nové kartě prohlížeče a umožní zkontrolovat, co agent uložil, nebo vymazat veškerou paměť. V chatu můžete agenta požádat, aby popsal, co si pamatuje, aktualizoval konkrétní záznam, něco zapomněl nebo znovu zobrazil odkaz na portál.
Oddělení podle uživatelů a spouštění v zabezpečeném sandboxu
Návrh stojí na dvou pevných hranicích. Zaprvé má každý uživatel pro každého agenta vlastní složku paměti, takže se kontext jednoho člověka nesdílí s jiným. Zadruhé agenti využívající GitHub Copilot harness spouštějí každý úkol v zabezpečeném sandboxu, který poskytuje Copilot Studio.
flowchart TB
subgraph MEMORY["Memory for one agent"]
U1["User A<br/>dedicated memory folder"]
U2["User B<br/>dedicated memory folder"]
U1 ~~~ U2
end
subgraph EXECUTION["Task execution"]
TASK["Agent task"] --> SB{{"Secure sandbox<br/>provided by Copilot Studio"}}
end
MEMORY ~~~ EXECUTION
Jasné hranice: každý uživatel má u agenta vlastní oddělenou paměť a úkoly agenta běží v zabezpečeném sandboxu.
Pro tento úvodní přehled jsou podstatné právě tyto dvě vlastnosti: paměť je oddělená podle uživatelů a provádění úkolů je izolované.
Reflexe jako obecnější princip návrhu paměti
Zachycení, uložení a využití popisují, jak paměť podporuje budoucí interakce. Reflexe jde ještě o krok dál. Jde o obecnější návrhový princip paměťových systémů.
V cyklu reflexe se agent mimo probíhající konverzaci vrací k uloženým zkušenostem. Konsoliduje důležité informace, slučuje duplicity, aktualizuje zastaralé údaje a vyřazuje to, co už není užitečné. Je to obdoba situace, kdy si vědkyně na konci týdne projde laboratorní deník, místo aby každý zápis považovala za trvale platnou pravdu.
flowchart LR
O["Observe<br/>the conversation"] --> W["Write<br/>what is worth keeping"]
W --> R["Reflect<br/>outside the live turn"]
R --> C["Apply<br/>in a later conversation"]
C --> T["Retire<br/>if stale"]
T -. "corrected or dropped" .-> O
Koncepční cyklus reflexe: vytvoření paměti je jen polovina řešení. Druhou polovinou je udržovat ji užitečnou a aktuální.
Důvěra podložená ověřováním
Popsané chování Copilot Studio musí obstát i v praxi. Než Microsoft zpřístupní funkci Memory širšímu okruhu zákazníků, musí ji ověřit jeho vývojové týmy a týmy datové vědy. Tuto práci zajišťuje Microsoft, nepřenáší ji na autory agentů.
Agent se špatnou pamětí nemusí přestat fungovat. Může jen začít sebejistě uvádět nesprávné informace.
Právě proto je důkladné testování důležité: selhání paměti nemusí být na první pohled vidět. Microsoft proto nehodnotí jen její přínosy, ale také způsoby, jakými může selhat. Sleduje mimo jiné následující chování:
- Vybavování informací: Pamatuje si agent i po několika dnech ve zcela nové konverzaci to, co mu uživatel sdělil?
- Zacházení s chybnou pamětí: Pokud paměť obsahuje zastaralou nebo nesprávnou informaci, rozpozná to agent, nebo ji sebejistě zopakuje?
- Schopnost přiznat neznalost: Když určitá informace nikdy nezazněla, řekne agent, že ji nezná? Pokud místo správného přiznání neznalosti nabízí věrohodně znějící odhady, jeho důvěryhodnost klesá.
- Halucinace: Nesvádí existence paměti model k vymýšlení podrobností, které v ní nikdy nebyly?
Přesné vyhodnocování takto jemných rozdílů v chování je samostatná disciplína. Podrobněji ji Microsoft popisuje v článku o hodnocení chování agentů pomocí LLM. Základní požadavek je jednoduchý: paměť musí prokazatelně zlepšovat vybavování informací, aniž by agent ztratil ochotu říct „Nevím“.
Dobrý paměťový systém není ten, který si pamatuje více. Je to ten, který si pamatuje správné věci a ví, co neví.
Co to znamená pro uživatele Vašich agentů
Bez ohledu na architekturu paměť přináší především jednu věc: agenta, kterému lidé nemusí stále opakovat stejné informace.
Agent podpory už ví, že případ zákazníka byl dvakrát předán k řešení na vyšší úroveň, a nezačíná celý příběh znovu. Provozní agent si pamatuje, že dané schválení vždy vyžaduje druhý podpis, a přestane se na to opakovaně ptát. Agent pomáhající analytikovi si vybaví, jaký přístup tým zkoušel v minulém čtvrtletí a proč od něj upustil. Jednotlivě jde o drobnosti. Ve stovkách konverzací ale vytvářejí rozdíl mezi nástrojem, který lidé tolerují, a kolegou, na kterého se spoléhají.
Tvůrci agentů se přitom nemusí stát specialisty na paměťové systémy. Rozhodnou, zda funkci Memory zapnou. Copilot Studio následně zachycuje relevantní kontext, ukládá jej odděleně pro každého uživatele a využívá ho při dalších interakcích. Každý uživatel může vlastní paměť kontrolovat a spravovat prostřednictvím chatu nebo portálu paměti.
Agenti se postupně přibližují skutečným pracovním kolegům. Paměť – tedy rozhodování o tom, co zapsat, jak to znovu najít a co už neuchovávat – je důležitou součástí této změny.
Při návrhu vlastních agentů proto stojí za zvážení jednoduchá otázka: co by si měli přestat zapomínat jako první?
Dostupnost: Memory v Copilot Studio je ve fázi preview pro agenty využívající GitHub Copilot harness. Microsoft tuto verzi označuje za připravenou pro produkční nasazení. Možnosti preview i dokumentace se mohou měnit.