A conversation memory processing method and device, electronic equipment and storage medium

CN123014149APending Publication Date: 2026-10-30BEIJING BAIDU NETCOM SCI & TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610922667.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-06-24
Publication Date
2026-10-30

AI Technical Summary

Technical Problem

[0003]现有企业智能体(如OpenClaw)的记忆链路缺乏统一的数据清洗、对齐和溯源机制,导致使用时会存在历史会话轮转文件遗漏、长会话提取失败、外挂记忆与原生记忆割裂、记忆缺少证据链和新鲜度判断等问题

Benefits of technology

通过对同一用户在一个会话下不同方式采集到的异构数据进行统一处理,构建标准化的消息块,再对消息块进行价值分级压缩,得到长度可控的记忆提取上下文,结合用户画像和工具权限信息,提取结构化记忆,并进行证据绑定、置信度评分、矛盾检测、新鲜度或过期标记,得到会话的可信记忆资产,用于后续答复的记忆召回和持续评估更新,从而能够将会话历史、工具轨迹、用户画像、组织事实和任务结论持续加工为可追溯、可评分、可压缩、可检索、可注入的企业记忆,提高会话记忆存储完整性、实现记忆质量可审计,提高记忆召回效率。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN123014149A_ABST
    Figure CN123014149A_ABST
Patent Text Reader

Abstract

The present disclosure provides a conversation memory processing method and device, electronic equipment and storage medium, relating to the technical field of artificial intelligence, in particular to the technical field of large language model, agent, deep learning and the like. The method comprises: analyzing and processing multi-source heterogeneous data collected in the same conversation of the same user to obtain a message block composed of data corresponding to multiple field types; in the case that the length of the message block is greater than a first threshold, the message block is compressed step by step to obtain a context with a compressed length less than the first threshold; combining the portrait information and the permission information of the user with the context to extract structured memory to obtain a candidate memory unit; performing evidence chain binding, confidence score, contradiction detection and freshness marking on the candidate memory unit, and storing it in a retrieval memory library. Thus, the conversation memory storage integrity can be improved, the memory quality can be audited, and the memory recall efficiency can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of artificial intelligence technology, particularly to the fields of large language models, intelligent agents, and deep learning, and specifically to a conversation memory processing method, device, electronic device, and storage medium. Background Technology

[0002] In enterprise office scenarios, the decision-making and response of intelligent agents to user issues heavily rely on multi-dimensional contextual information, including team organizational structure, service providers, business rules, historical incident reviews, recent project status, user's personal expression preferences, and schedule collaboration habits. However, this information is highly fragmented and unstructured, scattered across instant messaging (IM) sessions, tool call results, meeting minutes, local files, and enterprise knowledge bases, and a large amount of crucial tacit knowledge has not been formally documented.

[0003] Existing enterprise intelligent agents (such as OpenClaw) lack a unified data cleaning, alignment, and traceability mechanism in their memory chain, leading to problems such as missing historical session rotation files, failure to extract long sessions, disconnect between external and native memories, and lack of evidence chains and freshness assessments. Therefore, a unified memory method for enterprise intelligent agents is needed to continuously process session history, tool trajectories, user profiles, organizational facts, and task conclusions into traceable, scoreable, compressible, searchable, and injectable enterprise memories. Summary of the Invention

[0004] This disclosure aims to at least partially address one of the technical problems in the related art.

[0005] Therefore, the purpose of this disclosure is to propose a method, apparatus, electronic device and storage medium for processing conversation memory, so as to realize the continuous processing of conversation history, tool trajectory, user profile, organizational facts and task conclusions into traceable, scoreable, compressible, searchable and injectable corporate memory.

[0006] According to a first aspect of this disclosure, a method for processing conversation memory is provided, comprising:

[0007] The heterogeneous data from multiple sources collected from the same user in the same session is parsed and processed to obtain a message block consisting of data corresponding to multiple field types; If the length of the message block is greater than a first threshold, the message block is compressed step by step to obtain a context whose length is less than the first threshold after compression. Each step of compression targets data corresponding to a field type in the message block. The user's profile information and permission information are combined with the context and structured memory is extracted to obtain candidate memory units; The candidate memory units are subjected to evidence chain binding, confidence scoring, contradiction detection, and freshness marking, and then stored in the retrieval memory bank.

[0008] According to a second aspect of this disclosure, a session memory processing apparatus is provided, comprising: The parsing module is used to parse and process multi-source heterogeneous data collected from the same user in the same session, and obtain message blocks consisting of data corresponding to multiple field types; A compression module is used to compress the message block step by step when the length of the message block is greater than a first threshold, so as to obtain a context whose length is less than the first threshold after compression. Each step of compression is to compress data corresponding to a field type in the message block. The extraction module is used to combine the user's profile information and permission information with the context and extract structured memory to obtain candidate memory units; The processing module is used to perform evidence chain binding, confidence scoring, contradiction detection, and freshness marking on the candidate memory units, and store them in the retrieval memory bank.

[0009] According to a third aspect of this disclosure, an electronic device is provided, comprising: At least one processor; and A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the session memory processing method as described in the first aspect.

[0010] According to a fourth aspect of this disclosure, a non-transitory computer-readable storage medium is provided that stores computer instructions for causing the computer to perform the session memory processing method as described in the first aspect.

[0011] According to a fifth aspect of this disclosure, a computer program product is provided, including computer instructions that, when executed by a processor, implement the steps of the session memory processing method as described in the first aspect.

[0012] The session memory processing method, apparatus, electronic device, and storage medium disclosed herein have the following beneficial effects: By uniformly processing heterogeneous data collected from the same user in a single session using different methods, standardized message blocks are constructed. These message blocks are then value-graded and compressed to obtain a memory retrieval context with controllable length. Combined with user profiles and tool permission information, structured memories are extracted and subjected to evidence binding, confidence scoring, contradiction detection, and freshness or expiration marking to obtain trustworthy memory assets for the session. These assets are used for memory retrieval and continuous evaluation and updating in subsequent responses. This enables the continuous processing of session history, tool trajectories, user profiles, organizational facts, and task conclusions into traceable, scoreable, compressible, searchable, and injectable enterprise memories, improving the integrity of session memory storage, enabling auditable memory quality, and enhancing memory retrieval efficiency.

[0013] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0014] The above and / or additional aspects and advantages of this disclosure will become apparent and readily understood from the following description of the embodiments taken in conjunction with the accompanying drawings, which are provided for a better understanding of the present invention and are not intended to limit the scope of this disclosure, wherein: Figure 1 This is a schematic flowchart of a conversation memory processing method according to an embodiment of the present disclosure; Figure 2 This is a schematic flowchart of a conversation memory processing method according to another embodiment of the present disclosure; Figure 3 This is a flowchart illustrating a session memory processing method according to another embodiment of the present disclosure; Figure 4 This is a flowchart illustrating a session memory processing method according to another embodiment of the present disclosure; Figure 5 This is a schematic diagram of the structure of a session memory processing device according to an embodiment of the present disclosure; Figure 6 A block diagram of an exemplary electronic device suitable for implementing embodiments of the present disclosure is shown. Detailed Implementation

[0015] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.

[0016] This disclosure relates to the fields of artificial intelligence technologies such as large language models, intelligent agents, and deep learning.

[0017] Artificial Intelligence (AI) is a new technological science that studies, develops, and applies theories, methods, technologies, and application systems to simulate, extend, and expand human intelligence.

[0018] Deep learning learns the inherent patterns and hierarchical representations of sample data. The information gained during this learning process greatly aids in interpreting data such as text, images, and sound. The ultimate goal of deep learning is to enable machines to possess analytical and learning capabilities similar to humans, allowing them to recognize data such as text, images, and sound.

[0019] Large Language Models (LLMs) are deep learning models trained on massive amounts of text data, enabling them to generate natural language text or understand the meaning of language text. These models can provide in-depth knowledge and language production on a wide range of topics through training on large datasets. The core idea is to learn patterns and structures of natural language through large-scale unsupervised training, mimicking human language cognition and generation processes to some extent.

[0020] An intelligent agent is a proxy capable of perceiving its environment and taking actions to achieve specific goals. It can be software, hardware, or a system, possessing autonomy, adaptability, and interactivity. By perceiving changes in the environment (e.g., through sensors or data input), an intelligent agent makes judgments and decisions based on its learned knowledge and algorithms, and then executes actions to influence the environment or achieve predetermined goals.

[0021] The collection, storage, use, processing, transmission, provision, and disclosure of user personal information involved in the technical solution disclosed herein comply with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0022] The following description, with reference to the accompanying drawings, outlines a session memory processing method, apparatus, electronic device, and storage medium according to embodiments of the present disclosure.

[0023] It should be noted that the execution subject of the session memory processing method in this embodiment is a session memory processing device, which can be implemented by software and / or hardware. The device can be configured in an electronic device, which may include, but is not limited to, a terminal, a server, etc.

[0024] Figure 1 This is a schematic flowchart of a conversation memory processing method according to an embodiment of the present disclosure.

[0025] like Figure 1 As shown, the session memory processing method includes: S101: Parse and process multi-source heterogeneous data collected from the same user and the same session to obtain a message block consisting of data corresponding to multiple field types.

[0026] The multi-source heterogeneous data can include, but is not limited to, OpenClaw session execution records (session JSONL and .reset historical snapshots), tool calls, IM messages, meeting minutes, knowledge base changes, and local files. In other words, the multi-source heterogeneous data encompasses structured (e.g., JSONL), unstructured (e.g., meeting minutes, local files), and semi-structured (e.g., tool call parameters) data, including both short-term memories such as Session JSONL, tool calls, and IM messages, and long-term memories such as knowledge base changes, meeting minutes, and local files.

[0027] It is understandable that by collecting multi-source heterogeneous data for each session as described above, this disclosure can solve the problem in existing solutions where historical session coverage is incomplete, only session JSONL files are scanned, resulting in historical snapshots being permanently removed from the extraction scope and important business conclusions being unable to enter long-term memory, thereby improving the integrity of session memory.

[0028] In this embodiment of the disclosure, the multi-source heterogeneous data can be collected uniformly, and the source, time, user, session, tool and task identifier of each data record can be identified to obtain the original event stream. Then, the data corresponding to the user, assistant, tool call tool_use, tool result tool_result and other types in the original event stream can be parsed to filter out noise, inference thinking blocks and worthless tags in the data, and the records of different field types in the same user and the same session can be unified into standardized message blocks.

[0029] It should be noted that when multiple field types are grouped together to form a message block, different processing strategies can be adopted for the corresponding data based on the importance of each field type in the session. This simplifies the message block and preserves the context to the greatest extent possible. For example, user text and assistant conclusion text can be fully preserved; the thinking or reasoning tags of assistant can be directly removed; the tool name, key parameters, and call result status of tool_call can be preserved; and tool_result can be distinguished into success output, error output, file content output, and normal output to form the basis for subsequent compression strategies.

[0030] It should be noted that this disclosure scans not only currently active sessions / It also scans .jsonl files and sessions / .jsonl.reset. And optional deleted historical files. Furthermore, for each file to be processed in the collected multi-source heterogeneous data, a processing key can be constructed in the format of "file path, last modified time, file size, content hash, session key, user identifier," and written to the processed session's `processed_sessions.json` file or an equivalent state library. If the processing key remains unchanged after writing, it is skipped; otherwise, a change in the processing key indicates a file update or policy upgrade, requiring incremental processing to update the storage memory. This solves the problem of compressed historical snapshots being detached from the index, ensuring that the dialogue content before and after compression can be overwritten by the background memory task. Simultaneously, incorporating the version number into the processing key allows for safe backfilling of historical memory after extraction rule upgrades.

[0031] S102: If the length of the message block is greater than the first threshold, compress the message block step by step to obtain a context whose length is less than the first threshold after compression.

[0032] The first threshold is a preset context threshold, which can be dynamically determined based on the maximum number of characters specified by the system and the maximum context window supported by the model. This disclosure does not limit this.

[0033] In this embodiment of the disclosure, to address the problem of early loss of critical information caused by direct hard truncation in long sessions, a progressive compression mechanism is adopted. First, it is determined whether the length of the complete message block exceeds a first threshold. If it does, compression is performed progressively, starting with low-value, high-volume content, until the compressed length is less than the first threshold. Progressive compression of message blocks differs from hard truncation from the header, ensuring that user goals, assistant conclusions, error messages, and key decisions are preferentially preserved.

[0034] S103: Combine the user's profile information and permission information with the context and extract structured memory to obtain candidate memory units.

[0035] The profile information may include, but is not limited to, basic attributes such as name, geographical location, job title, projects currently being participated in or developed, and content output preferences.

[0036] The permission information is a statistical record of the users who can access the tools.

[0037] In this embodiment of the disclosure, the profile information and permission information, together with the context, can be input into a large language model to extract structured memories of different types, such as Entity, Fact, Decision, Procedure, Incident / Lesson, Fresh State, and Preference, to obtain candidate memory units corresponding to each memory type.

[0038] It should be noted that the candidate memories disclosed herein are not simple free text, but are uniformly represented as memory units. Each memory unit includes fields such as memory_id (unique identifier), memory type, subject / entity, core fact claim, original evidence, source_session, creation timestamp, confidence, freshness, valid_until, visibility, merge_key, and open_questions (items to be confirmed).

[0039] In this disclosure, an entity can be an organization, person, service, project, environment, interface, tool, or other entity and alias, such as the test environment card flow space corresponding to the joytest project space on the iCafe R&D management platform; a fact is a relatively stable fact, such as a service manager being a certain classmate, or a release window being a fixed time period on weekdays; a decision is a decision and its reasons, such as filtering robot messages with the prefix 41000 fromid to avoid accidental triggering; a procedure is a reusable SOP or troubleshooting step, such as the OpenClaw memory daemon deployment requiring chmod +x and configuration of extraPaths; an incident / lesson is a failure, pitfall, anomaly, and solution experience, such as session-015 where data query issues were not improved due to memory retrieval failure; a fresh state is a short-term valid current state, such as the person on duty this week, current iteration risk items, and recent task progress; and a preference is a user or team preference, such as the weekly report output preference for project background, project content, or project benefit structure.

[0040] S104: Perform evidence chain binding, confidence scoring, contradiction detection, and freshness marking on candidate memory units, and store them in the retrieval memory.

[0041] In this embodiment, after obtaining candidate memory units, deduplication and merging, entity normalization, evidence binding, confidence scoring, contradiction detection, and freshness / expiration marking are performed on the candidate memory units to obtain trustworthy memory assets, making session memory auditable. Then, by writing to Markdown / Wiki / Enterprise Knowledge Base, keyword indexes, vector indexes, and entity indexes are established and stored in the retrieval memory bank, which can be used for subsequent memory retrieval.

[0042] It should be noted that, to prevent agents from blindly trusting expired or erroneous memories, this disclosure binds a chain of evidence to each memory. The chain of evidence includes at least the original session identifier, message time, message role, fragment summary, tool call identifier, and file source or knowledge base source.

[0043] In this disclosure, confidence can be calculated from multiple factors, including source credibility, frequency of occurrence, degree of recent reinforcement, whether it has been confirmed by the user, whether it conflicts with existing memory, and whether it comes from the successful results of the tool. The formula for calculating the confidence score is as follows (1): (1) In formula (1), source is the information source weight, and the credibility of information from different sources may be different. weight is the basic importance weight, which reflects the initial value of memory. Confirm feedback for users, Frequency indicates the total number of times the memory is mentioned, retrieved, or recalled in the history of the session. The time decay score is a timeliness score calculated based on the memory creation or last update time. To verify the success rate of the tool, The conflict penalty factor is a negative penalty imposed when newly acquired information logically conflicts with existing memories.

[0044] Furthermore, the score for freshness can be calculated using the following formula (2).

[0045] (2) In formula (2), The age of memory refers to the number of days that have passed since a memory was generated or recorded. The half-life, defined in days, is the number of days required for a memory's weight to decay to half its original value. The shorter the half-life, the faster old memories are deweighted; the longer the half-life, the longer old memories are retained.

[0046] In this embodiment, multiple storage formats can be supported. For lightweight deployment, Markdown files under openclaw_memory can be written; for native compatibility with OpenClaw, MEMORY.md, workspace / memory, or Memory-Wiki Vault can be written; for enterprise deployment, internal knowledge bases can be written, supporting viewing, editing, deletion, access control, and auditing in the form of structured knowledge entries.

[0047] Understandably, Markdown storage facilitates local deployment, canary deployments, and rapid rollbacks, while Wiki storage allows for the organization of claims / evidence / confidence by entity pages, supporting linting, contradiction detection, and Obsidian / knowledge base visualization. Furthermore, it establishes vector indexes to support semantic recall for non-keyword matching between questions and memories; keyword indexes to support precise searching of strongly symbolic information such as paths, space IDs, error codes, names, and interface names; entity indexes to support merging of aliases, service owners, team relationships, project relationships, and call chain relationships; and it establishes permissions and visibility, allowing for setting visibility scopes by user, group, project, and knowledge base space to prevent the leakage of sensitive context across teams.

[0048] In this embodiment, heterogeneous data collected from the same user in a single session using different methods are processed uniformly to construct standardized message blocks. These message blocks are then compressed based on value grading to obtain a memory retrieval context with controllable length. Combined with user profiles and tool permission information, structured memories are extracted and subjected to evidence binding, confidence scoring, contradiction detection, and freshness or expiration marking to obtain trustworthy memory assets for the session. These assets are used for memory retrieval and continuous evaluation and updating in subsequent responses. This allows for the continuous processing of session history, tool trajectories, user profiles, organizational facts, and task conclusions into traceable, scoreable, compressible, searchable, and injectable enterprise memories, improving the integrity of session memory storage, enabling auditable memory quality, and enhancing memory retrieval efficiency.

[0049] The session memory processing method proposed in this disclosure can be applied to large language model agent systems that require long-term understanding of user and organizational context, such as OpenClaw enterprise agents, enterprise IM intelligent assistants, knowledge processing platforms, meeting collaboration skills, project management skills, and R&D troubleshooting assistants. Its core objective is to solve the problems of "inability to remember, inaccurate memory, inability to recall, lack of auditability, and unsustainable iteration" in multi-turn conversations, cross-session tasks, and long-cycle project collaborations for enterprise agents.

[0050] Figure 2 This is a schematic flowchart of a conversation memory processing method proposed in another embodiment of this disclosure.

[0051] like Figure 2 As shown, the session memory processing method includes: S201: Determine the first data corresponding to each field type in multi-source heterogeneous data.

[0052] For example, when the field type is "user's original request", the first data can be the text of the request entered by the user; or, when the field type is "tool call", the first data can be the name of the called tool, the call parameters, and the status of the call result, etc.

[0053] S202: Determine a first strategy for processing the first data that matches the memory value of the field type in the session.

[0054] In some possible embodiments of this disclosure, a mapping table between field types, memory values, and processing strategies can be set based on experience. The mapping table can be fixed or dynamically adjusted according to different session scenarios.

[0055] For example, the memory value of the user's original request in a field type is high, and the first strategy could be to prioritize its retention, and create a short summary when necessary, retaining the goal, constraints, and objects; the memory value of the assistant's conclusion / decision in a field type is high, and the first strategy could be to retain the conclusion, solution, judgment basis, and final state; the memory value of the thinking block in a field type assistant is low, and the first strategy could be to preprocess and strip it to avoid polluting memory and wasting tokens; the memory value of the tool's call name in a field type is medium, and the first strategy could be to always retain it for reconstructing the task execution chain; the memory value of the tool's call parameters in a field type is medium to low, and the first strategy could be to retain key parameters and replace excessively long parameters with placeholders; the memory value of successful results in a field type assistant tool is medium to low, and the first strategy could be to prioritize compression or omission, retaining only the result summary, file name, quantity, and key fields; the memory value of error results in a field type tool is medium to high, and the first strategy could be to retain the error code, exception stack summary, failure stage, and solution.

[0056] S203: The second data obtained after processing the first data using the first strategy is associated with the field type, and a message block is constructed from the association results corresponding to all field types.

[0057] In this embodiment of the disclosure, field types can be associated with second data to form key-value pairs, and then message blocks can be constructed from the key-value pairs determined by all field types.

[0058] S204: If the length of the message block is greater than the first threshold, compress the message block step by step to obtain a context whose length is less than the first threshold after compression.

[0059] S205: Combine the user's profile information and permission information with the context and extract structured memory to obtain candidate memory units.

[0060] S206: Perform evidence chain binding, confidence scoring, contradiction detection, and freshness marking on candidate memory units, and store them in the retrieval memory.

[0061] The descriptions of S204 to S206 above can be found in the above embodiments, and will not be repeated here.

[0062] In this embodiment, different types of data in multi-source heterogeneous data are differentiated based on field type and memory value. High-value data (such as core decisions and user preferences) are deeply extracted, structured, stored, and retained for a long time, while low-value data is truncated, summarized, or directly discarded. This can greatly save token consumption, vector database storage space, and retrieval computing power, and is conducive to improving the accuracy and recall of retrieval.

[0063] Figure 3 This is a schematic flowchart of a conversation memory processing method proposed in another embodiment of this disclosure.

[0064] like Figure 3 As shown, the session memory processing method includes: S301: Parse and process multi-source heterogeneous data collected from the same user and the same session to obtain a message block consisting of data corresponding to multiple field types.

[0065] For a detailed description of S301, please refer to the above embodiments, which will not be repeated here.

[0066] S302: If the length of the message block is greater than the first threshold, determine the third data of the first field type corresponding to the first compression level in the message block.

[0067] The third data may be the second data obtained by processing the first data using the first strategy in the above embodiments.

[0068] In this embodiment, due to the large size of tool results and assistant responses in ultra-long sessions, issues such as hard truncation at the input end, XML / JSON truncation at the output end, and unvalidated finish_reason can easily occur, leading to memory parsing failures or loss of early critical content. Therefore, in this disclosure, multiple compression levels can be determined based on the value and size of different data in the message block when constructing the session memory. The message block is compressed step by step, starting with low-value, high-volume content, to ensure the stability of long session processing.

[0069] In this embodiment of the disclosure, multiple compression levels can be determined according to the actual situation. The number of compression levels can be dynamically set as needed. In different scenarios, the field types corresponding to the same compression level can be the same or different, and the field types corresponding to different compression levels can also be the same or different. That is, data of the same field type can be compressed multiple times.

[0070] For example, multiple compression levels are denoted as Level 1, Level 2, ..., Level 6, and the first field type corresponding to the first compression level, Level 1, is the tool's successful result.

[0071] S303: Based on the second strategy corresponding to the first compression level and the first field type, process the third data to obtain the candidate context after one compression of the message block.

[0072] For the example above, the second strategy corresponding to the first compression level of the tool's success result could be to truncate the tool's success result to a fixed length to reduce the tool's output size and obtain the candidate context after one compression of the message block.

[0073] S304: If the length of the candidate context is greater than the first threshold, determine the new third data in the candidate context according to the second field type corresponding to the next compression level, and a new second strategy for processing the new third data.

[0074] It should be noted that the type of the second field can be the same as or different from the type of the first field. If the type of the second field is the same as the type of the first field, the new third data is the data obtained after processing the third data in step 303 above.

[0075] In this embodiment of the disclosure, after obtaining the candidate context by compressing the message block once, it can be determined again whether the length after this compression is still greater than the first threshold. If it is still greater than the first threshold, it needs to continue compression and can perform the next level of compression processing. For the new third data of the second field type corresponding to the next compression level in the candidate context, the second strategy specified by the next compression level is executed.

[0076] In the example above, the next compression level after the first compression level is Level 2, and the corresponding second field type is also the tool success result. However, the second strategy specified by Level 2 is to replace the tool success result with "tool execution successful, output omitted". Therefore, the new third data obtained after being truncated to a fixed length in step 303 can be replaced with "tool execution successful, output omitted" to further compress the candidate context, so as to retain the tool link and remove low-value content.

[0077] S305: Using the new third data and the new second strategy, continue to compress the candidate context until a candidate context with a length less than the first threshold after multiple compressions of the message block is obtained, and it is determined as the target context after compression.

[0078] For the example above, if the candidate context length after Level 2 processing is still greater than the first threshold, Level 3 can be executed. This involves placing placeholders for tool call parameters, retaining only the tool name and key parameters to control parameter inflation, and then re-evaluating whether the candidate context length after Level 3 processing is greater than the first threshold. This process is repeated for each level. Level 4 compresses long assistant text into a conclusion summary, retaining the decision and result. Level 5 compresses long user text into a request summary, retaining the goal and constraints. Level 6 collapses the entire conversation header into a stage summary, retaining recent content to balance early goals and recent status.

[0079] In this embodiment, by using a compression mechanism based on threshold triggering, tiered by field type, and multiple rounds of iteration, it is possible to ensure that the most valuable information for the current task is always retained within a limited context window, avoiding context logic breakage caused by brute-force truncation and maintaining the structural integrity of the data.

[0080] Optionally, after obtaining each compressed candidate context, the candidate context can be checked. If there is a truncation or parsing error in the check result, the candidate context obtained after processing the previous compression level corresponding to the candidate context can be determined as the target context.

[0081] In this embodiment of the disclosure, finish_reason, output integrity, and XML / JSON parsability can be checked.

[0082] For example, after obtaining the candidate context after Level 3 processing, the candidate context is checked. If there is a truncation or parsing error in the check result, the candidate context obtained after processing at the previous compression level, Level 2, is used as the target context to reduce the output size and avoid misjudging the half-structured result as successful.

[0083] It should be noted that if the check results contain truncation or parsing errors, you can retry in chunks or switch to a more stringent schema output mode.

[0084] In this embodiment, by interception and truncation, format verification, and dynamic retries, it is ensured that the intelligent agent can maintain extremely high data quality, system stability, and task fault tolerance when processing ultra-long contexts and complex structured tasks.

[0085] S306: Combine the user's profile information and permission information with the context and extract structured memory to obtain candidate memory units.

[0086] S307: Perform evidence chain binding, confidence scoring, contradiction detection, and freshness marking on candidate memory units and store them in the retrieval memory.

[0087] For a detailed description of S306 and S307, please refer to the above embodiments, which will not be repeated here.

[0088] Optionally, when performing conflict detection on candidate memory units, the first entity corresponding to the candidate memory unit can be matched with the second entity corresponding to each existing historical memory unit in the current search memory bank.

[0089] Then, in the case where there exists a second entity corresponding to a historical memory unit that is consistent with the first entity, and the content of the historical memory unit is inconsistent with that of the candidate memory unit, the generation time and credibility of the historical memory unit and the candidate memory unit are compared.

[0090] Subsequently, if the time interval between the generation time of the candidate memory unit and the current time is smaller, or if the confidence level is higher, the candidate memory unit is stored in the retrieval memory bank, and the historical memory unit is marked as expired.

[0091] In this embodiment of the disclosure, when a new memory conflicts with an existing memory under the same entity and attribute, the system does not directly overwrite it, but instead generates a conflict contradiction record. If the new memory comes from more recent evidence or a more credible source, the old memory is marked as expired; if it cannot be determined, the open_questions that conflict between the new memory and the existing memory are written to the Wiki or knowledge base, awaiting manual confirmation.

[0092] Figure 4 This is a schematic flowchart of a conversation memory processing method proposed in another embodiment of this disclosure.

[0093] like Figure 4 As shown, the session memory processing method includes: S401: Perform intent recognition on the received user-initiated query statement, determine the task type corresponding to the query statement, and the retrieval method for pre-matching the task type.

[0094] The search methods include at least two of the following: semantic search, keyword search, entity search, and freshness search.

[0095] In this embodiment of the disclosure, when a user initiates a new query, the system can perform intent recognition or task classification on the query to determine the corresponding task type. Then, based on the task type, it can determine whether to consider user freshness during memory retrieval, thereby determining the retrieval method. In some possible embodiments, the retrieval method corresponding to the task type can be pre-matched based on experience.

[0096] S402: Based on the query statement, the context associated with the query statement, the session location, the task type, and the user's profile information, call at least two search methods in parallel in the retrieval memory to obtain the search results for each search method.

[0097] In this embodiment of the disclosure, the semantic search content, keyword search keywords, entity search entities, and freshness search requirements can be determined based on the query statement, the context associated with the query statement, the session location, the task type, and the user's profile information, so as to obtain the search results for each search method.

[0098] It should be noted that because a confidence score and a freshness label are applied to the memory when it is stored in the retrieval knowledge base, the quality of the recalled memory can be audited based on the associated confidence score and / or freshness label during memory recall. This makes it easier for the agent to determine which memories are reliable and which need to expire or be manually confirmed, thereby improving the accuracy of the response.

[0099] Optionally, if the confidence or freshness of the search results is lower than the corresponding second threshold, a message indicating that no relevant memory was found can be output.

[0100] The second threshold can be a dynamically determined value based on actual requirements, used to determine whether the recall memory is reliable.

[0101] It should be noted that suggestions can also be made to search the company's knowledge base, etc.

[0102] In this embodiment, if the confidence or freshness of the search result is lower than the corresponding second threshold, a prompt message indicating that no relevant memory was found is output, prompting the main agent not to fabricate facts, thus ensuring the authenticity and reliability of the agent's response.

[0103] S403: Based on at least one of the evidence chain, confidence level, and freshness of the memory unit corresponding to the search results, sort all search results, inject the sorted results into the agent's initial prompt words, and obtain the target prompt words for memory recall.

[0104] In this embodiment of the disclosure, the score of each search result can be calculated using the following formula (3), and then sorted in order of score from highest to lowest.

[0105] (3) In formula (3), Semantic similarity represents the degree of matching between the current user's query and a certain record in the memory in the vector space. For confidence level, To score freshness, Weights for task types.

[0106] In this embodiment of the disclosure, after obtaining the search results, the results can be deduplicated, filtered for evidence, and filtered for conflicts. The results are then sorted and assembled into a referable evidence context, which is injected into the initial prompt words or tool call results preset by the intelligent agent system to obtain target prompt words containing recall memory and used to instruct the intelligent agent to respond to the query statement.

[0107] Understandably, the content injected into the prompts is not the full memory, but a budget-controlled summary: each recalled memory includes the conclusion, entity, evidence summary, confidence level, time, and whether it has expired.

[0108] S404: Evaluate the response statements output by the agent based on the target prompt words, analyze the evaluation results, and determine whether to update the retrieval memory.

[0109] In some possible implementations, the system can trigger automatic capture after the agent responds, writing newly added facts, user confirmations, corrections, tool results, and task status into a candidate queue. Low-risk facts can be written automatically; high-impact memories involving personnel responsibilities, project decisions, and failure conclusions can be moved to a confirmation area, where users or administrators can view the evidence in the knowledge base / wiki page to confirm, modify, or delete them. This transforms the memory system from a "black-box automatic summary" into "viewable, editable, and rollbackable" enterprise knowledge assets.

[0110] In this embodiment of the disclosure, the response statements output by the agent based on the target prompt words can be evaluated in two ways: offline and online. The offline evaluation uses a hierarchical dataset that covers categories such as single-hop facts, time issues, comparison issues, simple facts, approval processes, tool usage, personnel information, meeting collaboration, document management, project progress, technical solutions, and data queries. The online evaluation records user behaviors such as asking follow-up questions, correcting errors, liking / disliking, and whether to search again.

[0111] In this embodiment, metrics such as Fact Recall, LLM Semantic Score, Correct Rejection Rate, Token Efficiency, and Failure Mode can be calculated to analyze and evaluate the results and determine whether to update the retrieval memory. Specifically, Fact Recall measures the proportion of expected facts covered by the answers; LLM Semantic Score determines whether the answers are correct, partially correct, or incorrect, reducing keyword scoring misjudgments; Correct Rejection Rate determines whether to correctly reject answers when there is no relevant memory, measuring whether illusions are introduced; Token Efficiency determines the number of tokens required per correct answer or accuracy / million tokens, measuring the cost-benefit of memory recall; and Failure Mode attributes failed samples to reasons such as extraction failure, recall failure, incomplete evidence, expired conflicts, and generation misuse, guiding strategy iteration.

[0112] In this embodiment, by performing memory recall on user query statements and evaluating and providing feedback on the response statements generated based on the prompts injected with the recalled memory, continuous evaluation of fact recall, semantic accuracy, correct rejection rate, token efficiency, classification shortcomings, and failure modes is achieved, thereby improving the timeliness and reliability of session memory.

[0113] It should be noted that the session memory processing method proposed in this disclosure is compatible with OpenClaw's native MEMORY.md, memory / diary, Dreaming, Memory-Wiki, and Active Memory, and can also be deployed as an add-on in the user directory to gradually integrate with the enterprise knowledge base and IM context.

[0114] Figure 5 This is a schematic diagram of the structure of a session memory processing device according to an embodiment of the present disclosure.

[0115] like Figure 5 As shown, the session memory processing device 50 includes: The parsing module 501 is used to parse and process multi-source heterogeneous data collected from the same user and the same session to obtain a message block consisting of data corresponding to multiple field types. Compression module 502 is used to compress the message block step by step when the length of the message block is greater than the first threshold, so as to obtain a context whose length is less than the first threshold after compression. Each step of compression is to compress the data corresponding to a field type in the message block. The extraction module 503 is used to combine the user's profile information and permission information with the context and extract structured memory to obtain candidate memory units; The processing module 504 is used to perform evidence chain binding, confidence scoring, contradiction detection and freshness marking on candidate memory units, and store them in the retrieval memory bank.

[0116] In some possible embodiments, the parsing module 501 is specifically used for: Determine the first data corresponding to each field type in multi-source heterogeneous data; Based on the memory value of field types in a session, determine a first strategy for processing the first data that matches the memory value. The second data obtained after processing the first data using the first strategy is associated with the field type, and a message block is constructed from the association results corresponding to all field types.

[0117] In some possible embodiments, the compression module 502 is specifically used for: If the length of the message block is greater than the first threshold, determine the third data in the message block corresponding to the first field type of the first compression level; Based on the second strategy corresponding to the first compression level according to the first field type, process the third data to obtain the candidate context after one compression of the message block; If the length of the candidate context is greater than the first threshold, a new third data is determined in the candidate context according to the second field type corresponding to the next compression level, and a new second strategy is adopted to process the new third data. Using the new third data and the new second strategy, the candidate contexts are compressed again until a candidate context with a length less than the first threshold after multiple compressions of the message block is obtained, which is then determined as the target context after compression.

[0118] In some possible embodiments, the compression module 502 is specifically used for: The candidate context is checked, and if there is a truncation or parsing error in the check result, the candidate context obtained after processing the previous compression level is determined as the target context.

[0119] In some possible embodiments, the processing module 504 is specifically used for: Match the first entity corresponding to the candidate memory unit with the second entity corresponding to each existing historical memory unit in the current search memory bank; In the case where a second entity corresponding to a historical memory unit is consistent with the first entity, and the content of the historical memory unit is inconsistent with that of the candidate memory unit, the generation time and credibility of the historical memory unit and the candidate memory unit are compared. If the time interval between the generation time of a candidate memory unit and the current time is smaller, or if the reliability is higher, the candidate memory unit is stored in the retrieval memory bank, and the historical memory unit is marked as expired.

[0120] In some possible embodiments, the session memory processing device 50 further includes a recall module for: The system performs intent recognition on received user-initiated queries, determines the task type corresponding to the query, and identifies the retrieval method pre-matched to the task type. The retrieval method includes at least two of the following: semantic retrieval, keyword retrieval, entity retrieval, and freshness retrieval. Based on the query statement, the context associated with the query statement, the session location, the task type, and the user's profile information, at least two search methods are invoked in parallel in the retrieval memory to obtain the search results for each search method; Based on at least one of the evidence chain, confidence level, and freshness of the memory unit corresponding to the search results, all search results are sorted, and the sorted results are injected into the initial prompt words of the agent to obtain the target prompt words for memory recall. The agent's response based on the target prompt is evaluated, the evaluation results are analyzed, and it is determined whether to update the retrieval memory.

[0121] In some possible embodiments, the recall module can also be used for: If the confidence or freshness of the search results is lower than the corresponding second threshold, a message indicating that no relevant memory was found will be output.

[0122] It should be noted that the foregoing explanation of the session memory processing method also applies to the session memory processing device of this embodiment, and will not be repeated here.

[0123] In this embodiment, heterogeneous data collected from the same user in a single session using different methods are processed uniformly to construct standardized message blocks. These message blocks are then compressed based on value grading to obtain a memory retrieval context with controllable length. Combined with user profiles and tool permission information, structured memories are extracted and subjected to evidence binding, confidence scoring, contradiction detection, and freshness or expiration marking to obtain trustworthy memory assets for the session. These assets are used for memory retrieval and continuous evaluation and updating in subsequent responses. This allows for the continuous processing of session history, tool trajectories, user profiles, organizational facts, and task conclusions into traceable, scoreable, compressible, searchable, and injectable enterprise memories, improving the integrity of session memory storage, enabling auditable memory quality, and enhancing memory retrieval efficiency.

[0124] According to embodiments of this disclosure, this disclosure also provides an electronic device, a readable storage medium, and a computer program product.

[0125] Figure 6 A schematic block diagram of an example electronic device 600 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0126] like Figure 6 As shown, device 600 includes a computing unit 601, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 602 or a computer program loaded into random access memory (RAM) 603 from storage unit 608. RAM 603 may also store various programs and data required for the operation of device 600. The computing unit 601, ROM 602, and RAM 603 are interconnected via bus 604. Input / output (I / O) interface 605 is also connected to bus 604.

[0127] Multiple components in device 600 are connected to I / O interface 605, including: input unit 606, such as keyboard, mouse, etc.; output unit 607, such as various types of monitors, speakers, etc.; storage unit 608, such as disk, optical disk, etc.; and communication unit 609, such as network card, modem, wireless transceiver, etc. Communication unit 609 allows device 600 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0128] The computing unit 601 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 601 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 601 performs the various methods and processes described above, such as session memory processing. For example, in some embodiments, session memory processing may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 608. In some embodiments, part or all of the computer program may be loaded and / or installed on device 600 via ROM 602 and / or communication unit 609. When the computer program is loaded into RAM 603 and executed by the computing unit 601, one or more steps of the session memory processing described above may be performed. Alternatively, in other embodiments, the computing unit 601 may be configured to perform session memory processing by any other suitable means (e.g., by means of firmware).

[0129] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0130] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0131] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0132] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0133] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or middleware components (e.g., application servers), or frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), the Internet, and blockchain networks.

[0134] Computer systems can include clients and servers. Clients and servers are generally geographically separated and typically interact via communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. A server can be a cloud server, also known as a cloud computing server or cloud host, a hosting product within the cloud computing service system that addresses the shortcomings of traditional physical hosts and VPS (Virtual Private Server) services, such as high management difficulty and weak business scalability. Servers can also be servers for distributed systems or servers incorporating blockchain technology.

[0135] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.

[0136] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this disclosure, "a plurality of" means at least two, such as two, three, etc., unless otherwise explicitly specified. In the description of this disclosure, the words "if" and "suppose" as used may be interpreted as "when," "when," "in response to determination," or "in the circumstances."

[0137] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.

Claims

1. A method for processing conversational memory, characterized in that, include: The heterogeneous data from multiple sources collected from the same user in the same session is parsed and processed to obtain a message block consisting of data corresponding to multiple field types; If the length of the message block is greater than a first threshold, the message block is compressed step by step to obtain a context whose length is less than the first threshold after compression. Each step of compression targets data corresponding to a field type in the message block. The user's profile information and permission information are combined with the context and structured memory is extracted to obtain candidate memory units; The candidate memory units are subjected to evidence chain binding, confidence scoring, contradiction detection, and freshness marking, and then stored in the retrieval memory bank.

2. The method as described in claim 1, characterized in that, The parsing and processing of multi-source heterogeneous data collected from the same user and the same session yields a message block composed of data corresponding to multiple field types, including: Determine the first data corresponding to each field type in the multi-source heterogeneous data; Based on the memory value of the field type in the session, determine a first strategy for processing the first data that matches the memory value. The second data obtained by processing the first data using the first strategy is associated with the field type, and the message block is constructed from the association results corresponding to all field types.

3. The method as described in claim 1, characterized in that, The step of compressing the message block step by step to obtain a context with a compressed length less than the first threshold when the length of the message block is greater than the first threshold includes: If the length of the message block is greater than a first threshold, determine the third data in the message block corresponding to the first compression level and the first field type; Based on the second strategy corresponding to the first field type at the first compression level, the third data is processed to obtain the candidate context of the message block after one compression. If the length of the candidate context is greater than the first threshold, new third data is determined in the candidate context according to the second field type corresponding to the next compression level, and a new second strategy is adopted for processing the new third data. Using the new third data and the new second strategy, the candidate context is compressed again until a candidate context with a length less than the first threshold after multiple compressions of the message block is obtained, which is then determined as the target context after compression.

4. The method as described in claim 3, characterized in that, After obtaining the candidate context after each compression, the following is also included: The candidate context is checked, and if there is a truncation or parsing error in the check result, the candidate context obtained after processing the previous compression level corresponding to the candidate context is determined as the target context.

5. The method as described in claim 1, characterized in that, Perform conflict detection on the candidate memory cells, including: The first entity corresponding to the candidate memory unit is matched with the second entity corresponding to each existing historical memory unit in the current retrieval memory bank; If there exists a second entity corresponding to a historical memory unit that is identical to the first entity, and the content of the historical memory unit is inconsistent with that of the candidate memory unit, compare the generation time and credibility of the historical memory unit and the candidate memory unit. If the time interval between the generation time of the candidate memory unit and the current time is smaller, or if the reliability is higher, the candidate memory unit is stored in the retrieval memory bank, and the historical memory unit is marked as expired.

6. The method according to any one of claims 1-4, characterized in that, After performing evidence chain binding, confidence scoring, contradiction detection, and freshness marking on the candidate memory units and storing them in the retrieval memory bank, the method further includes: The system performs intent recognition on the received query statement initiated by the user, determines the task type corresponding to the query statement, and pre-matches the retrieval method for the task type. The retrieval method includes at least two of the following: semantic retrieval, keyword retrieval, entity retrieval, and freshness retrieval. Based on the query statement, the context associated with the query statement and the session location, the task type, and the user's profile information, at least two search methods are invoked in parallel in the retrieval memory to obtain the search results for each search method; Based on at least one of the evidence chain, confidence level, and freshness of the memory unit corresponding to the search result, all search results are sorted, and the sorted results are injected into the initial prompt words of the agent to obtain the target prompt words for memory recall. The response statements output by the agent based on the target prompt words are evaluated, the evaluation results are analyzed, and it is determined whether to update the retrieval memory.

7. The method as described in claim 6, characterized in that, After obtaining the search results for each search method, the process also includes: If the confidence or freshness of the search result is lower than the corresponding second threshold, a message indicating that no relevant memory was found will be output.

8. A session memory processing device, characterized in that, include: The parsing module is used to parse and process multi-source heterogeneous data collected from the same user in the same session, and obtain message blocks consisting of data corresponding to multiple field types; A compression module is used to compress the message block step by step when the length of the message block is greater than a first threshold, so as to obtain a context whose length is less than the first threshold after compression. Each step of compression is to compress data corresponding to a field type in the message block. The extraction module is used to combine the user's profile information and permission information with the context and extract structured memory to obtain candidate memory units; The processing module is used to perform evidence chain binding, confidence scoring, contradiction detection, and freshness marking on the candidate memory units, and store them in the retrieval memory bank.

9. An electronic device, characterized in that, include: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the session memory processing method according to any one of claims 1-7.

10. A non-transitory computer-readable storage medium storing computer instructions, characterized in that, in, The computer instructions are used to cause the computer to execute the session memory processing method according to any one of claims 1-7.

11. A computer program product, characterized in that, Includes a computer program that, when executed by a processor, implements the steps of the session memory processing method according to any one of claims 1-7.