How Agent AI provides services using key-value storage and Agent AI using this
Key-value storage in agentic AI systems addresses data contamination and high costs by passing keys instead of data, ensuring efficient and error-free execution of complex tasks.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- SUPERB AI CO LTD
- Filing Date
- 2025-09-09
- Publication Date
- 2026-06-03
AI Technical Summary
Agentic AI systems face challenges with data contamination leading to incorrect responses and high costs due to the need to handle complex tasks involving large amounts of data, exceeding the processing capacity of Large Language Models (LLMs), and the inability to correct errors in data formats.
Utilizing key-value storage to pass keys corresponding to data instead of data itself, enabling agentic AI to execute tasks efficiently by storing and retrieving data through set-value and get-value tools, and correcting errors in the key-value storage system.
Reduces data contamination, minimizes costs, and effectively handles errors by using key-value storage to manage data transmission and execution of natural language instructions.
Smart Images

Figure 0007869605000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to agentic AI, and more particularly, to a method for agentic AI to provide services using key value storage and agentic AI using the same.
Background Art
[0002] Generative Artificial Intelligence can generate and answer what the user has instructed using a learned model when the user inputs instructions with a prompt. In recent years, agentic AI technology that executes more complex instructions has been developing. Agentic AI does not focus on generation like generative AI, but rather focuses on autonomous decision-making and execution for goal achievement, and is an artificial intelligence technology that is one step further than generative AI.
[0003] Agentic AI not only generates, but also performs a series of autonomous decision-making processes of setting goals, analyzing problems, formulating and executing multi-step plans, evaluating results, and modifying plans as needed. Therefore, interactions with various external tools and systems such as web searches, API calls, and database queries to handle complexity are required.
[0004] In addition, with the emergence of MCP (Model Context Protocol), various tools based on MCP have become available, enabling agentic AI to utilize more tools and allowing complex instructions that use multiple tools.
[0005] However, errors can occur when using tools to pass input / output instructions to execute complex commands. While agentic AI is trained and implemented to appropriately correct minor grammatical errors present in the instructions for tool use and allow for retries, it can be difficult to correct and retry if the data itself is contaminated. Therefore, data contamination can lead to incorrect responses or unintended results.
[0006] Furthermore, while Agentic AI's LLM (Large Language Model) is typically charged proportionally to the length of the input text, complex tasks involving large amounts of data can result in high costs, and it is not possible to pass data exceeding the maximum text size (Context Size) that the LLM can process.
[0007] Therefore, there is a need for improvement measures to solve these problems. [Overview of the Initiative] [Problems that the invention aims to solve]
[0008] The purpose of this invention is to solve all of the problems mentioned above.
[0009] Another objective of the present invention is to enable the transfer of data to a tool for executing natural language instructions via key-value storage.
[0010] Furthermore, another objective of the present invention is to reduce costs by passing keys corresponding to data stored in key-value storage to a tool instead of passing data to the tool to execute natural language instructions.
[0011] Furthermore, another objective of the present invention is to enable effective handling of errors in the data itself by passing a key corresponding to the data stored in key-value storage, instead of passing the data to the tool to execute natural language instructions. [Means for solving the problem]
[0012] According to one embodiment of the present invention, in a method in which an agentic AI provides services using key-value storage, (a) when natural language instruction data is acquired, the agentic AI analyzes the natural language instruction data through an LLM (Large Language Model) and determines a first to nth task (where n is an integer of 1 or more) to be executed in accordance with the natural language instruction data; (b) for the ith task, which is one of the first to nth tasks, the agentic AI uses a set-value tool to store the ith data for executing the ith task in key-value storage and acquires the ith key corresponding to the ith data; (c) the agentic AI uses the ith key to call the ith tool corresponding to the ith task, thereby using the ith tool to (i) get-value tools A method is provided which includes the steps of: (ii) obtaining the i data corresponding to the i key from the key-value storage via a tool; (ii) transmitting the result of the i task, which has performed the i task using at least the i data, to the agentic AI; and (d) the agentic AI generating and providing response information relating to the natural language instruction data by repeating steps (b) and (c) for unexecuted indices where i is 1 to n, and referring to the results of the first task to the n task obtained from the first to the n tool corresponding to the first to n tasks.
[0013] In one example, in step (b), the agentic AI converts the format of the first data through the set value tool to generate the i1 data, stores the i1 data in the key-value storage, and obtains the i1 key corresponding to the i1 data. In step (c), the agentic AI calls the i tool using the i1 key corresponding to the i1 data, and uses the i tool to (i) obtain the i1 data corresponding to the i1 key from the key-value storage through the get value tool, and (ii) transmit to the agentic AI the result of the i task, which is performed using the i1 data corresponding to the i data.
[0014] In one example, in the process repeated through step (d), in step (c), the agentic AI invokes the i tool using the k key and the i key corresponding to the k data which is different from the i data, thereby causing the i tool to (i) retrieve the k data and the i data corresponding to the k key and the i key, respectively, from the key-value storage through the get-value tool, and (ii) transmit to the agentic AI the result of the i task, which was performed using the i data with the k data as a query.
[0015] In one example, in step (c), if the agentic AI obtains key error information from the i tool (the key error information is information regarding the result of not being able to obtain the i data corresponding to the i key from the key-value storage through the get-value tool), it performs error correction on the i key used to call the i tool, and then calls the i tool again using the error-corrected i key.
[0016] In one example, the key-value storage includes a database, and the agentic AI causes the i-key corresponding to the i-data to be generated through the set-value tool, and the i-key and i-data to be matched and stored in the database.
[0017] In one example, the key-value storage includes object storage or cloud storage, and the agentic AI causes the i data to be stored in the object storage or cloud storage through the set-value tool, and causes path information relating to the i data stored in the object storage or cloud storage to be generated as the i key.
[0018] Furthermore, according to another embodiment of the present invention, an agentic AI that provides services using key-value storage includes one or more memories for storing instructions; and one or more processors configured to execute the instructions, wherein the processors include: (I) when natural language instruction data is acquired, the agentic AI analyzes the natural language instruction data through an LLM (Large Language Model) and determines a first to nth task (where n is an integer of 1 or more) to be executed in accordance with the natural language instruction data; (II) for the ith task, which is one of the first to nth tasks, the processor uses a set-value tool to ensure that the ith data for executing the ith task is stored in key-value storage and obtains the ith key corresponding to the ith data; and (III) the agentic AI uses the ith key to call the ith tool corresponding to the ith task, thereby using the ith tool to (i) use a get-value tool to obtain the key value The provided agent AI is characterized by: (ii) a process of obtaining the i data corresponding to the i key from storage; (ii) a process of transmitting to the agent AI the result of the i task, which has been performed using at least the i data; and (iv) a process in which the agent AI repeatedly performs the (II) process and the (III) process for unexecuted indices where i is 1 to n, and generates and provides response information relating to the natural language instruction data by referring to the result of the first task to the n task obtained from the first tool to the n tool corresponding to the first task to the n task.
[0019] In one example, in process (II), the processor converts the format of the i data through the set value tool to generate the i1 data, stores the i1 data in the key-value storage through the set value tool, and obtains the i1 key corresponding to the i1 data. In process (III), the agentic AI calls the i tool using the i1 key corresponding to the i1 data, and uses the i tool to (i) obtain the i1 data corresponding to the i1 key from the key-value storage through the get value tool, and (ii) transmits the result of the i task, which is performed using the i1 data corresponding to the i data, to the processor.
[0020] In one example, in a process repeated through process (IV), in process (III), the processor calls the i tool using the k key and the i key, which correspond to a different k data from the i data, so that the i tool (i) retrieves the k data and the i data corresponding to the k key and the i key, respectively, from the key-value storage through the get-value tool, and (ii) transmits to the processor the result of the i task, which was executed using the i data with the k data as a query.
[0021] In one example, in the (III) process, when the processor obtains key error information from the i tool (the key error information is information relating to the result that the i data corresponding to the i key cannot be obtained from the key-value storage via the get-value tool), it performs error correction on the i key used to call the i tool, and then recalls the i tool using the error-corrected i key.
[0022] In one example, the key-value storage includes a database, and the processor is configured to generate the i-th key corresponding to the i-th data through the set-value tool, and to match the i-th key and the i-th data and store them in the database.
[0023] In one example, the key-value storage includes object storage or cloud storage, and the processor is configured to store the i-th data in the object storage or the cloud storage through the set-value tool, and to generate path information regarding the i-th data stored in the object storage or the cloud storage as the i-th key.
Advantages of the Invention
[0024] According to the present invention, data for executing a natural language instruction can be passed to a tool through key-value storage.
[0025] According to the present invention, instead of passing data to a tool to execute a natural language instruction, the cost can be reduced by passing a key corresponding to the data stored in the key-value storage.
[0026] According to the present invention, instead of passing data to a tool to execute a natural language instruction, it is possible to effectively respond to the occurrence of errors in the data itself by passing a key corresponding to the data stored in the key-value storage.
Brief Description of the Drawings
[0027] [Figure 1] It is a diagram schematically showing an agent AI that provides a service using the key-value storage according to the present invention. [Figure 2] It is a diagram exemplarily showing a process of providing a service in response to a user request in a general agent AI. [Figure 3] This diagram schematically illustrates a system in which an agentic AI provides services using the key-value storage according to the present invention. [Figure 4] This figure exemplifies how an agentic AI provides services using the key-value storage according to the present invention. [Modes for carrying out the invention]
[0028] The detailed description of the present invention described below refers to the accompanying drawings illustrating specific embodiments in which the present invention may be carried out. These embodiments are described in sufficient detail so that a person of the ordinary skill can carry out the present invention. It should be understood that the various embodiments of the present invention are different from one another but do not necessarily have to be mutually exclusive. For example, certain shapes, structures and characteristics described herein can be realized in other embodiments in relation to one embodiment without departing from the spirit and scope of the invention. It should also be understood that the position or arrangement of individual components within each disclosed embodiment can be modified without departing from the spirit and scope of the invention. Therefore, the detailed description described below should not be taken as restrictive, and the scope of the present invention is limited only by the accompanying claims, along with all equivalent scopes to those claimed by those claims, if appropriately described. Similar reference numerals in the drawings refer to identical or similar functions in various aspects.
[0029] In the following, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings, so that persons with ordinary skill in the art to which the present invention pertains can easily implement the present invention.
[0030] Figure 1 is a schematic diagram illustrating an agentic AI that provides services using key-value storage according to the present invention. Referring to Figure 1, the agentic AI 100 may include a memory 110 that stores instructions for providing services using key-value storage, and a processor 120 that executes operations for providing services using key-value storage in accordance with the instructions stored in the memory 110.
[0031] Specifically, agentic AI may, but is not limited to, achieve desired system performance by utilizing a combination of computing devices (e.g., devices that may include computer processors, memory, storage, input and output devices, and other components of conventional computing devices; electronic communication devices such as routers and switches; and electronic information storage systems such as network-attached storage (NAS) and storage area networks (SAN)) and computer software (i.e., instructions that enable computing devices to function in a particular manner).
[0032] Furthermore, the Agentic AI100's processor 120 may include hardware components such as an MPU (Micro Processing Unit) or CPU (Central Processing Unit), cache memory, and a data bus. The computing device may also further include an operating system and software configurations for applications performing specific purposes.
[0033] However, this does not preclude the case where the agentic AI100 includes an integrated processor in which the medium, processor, and memory for carrying out the present invention are integrated.
[0034] On the other hand, when natural language instruction data is acquired in accordance with the instructions stored in memory 110, the processor 120 of the agentic AI 100 can execute a first process in which it analyzes the natural language instruction data through an LLM (Large Language Model) and determines one or more first tasks to n tasks that should be executed in accordance with the natural language instruction data. Subsequently, the processor 120 of the agentic AI 100 can execute a second process in which it obtains the i-th key corresponding to the i-th key by using a set value tool to store at least one i-th data for executing the i-th task, which is one of the first to n tasks, in key-value storage, and by calling the i-th tool corresponding to the i-th task using the i-th key, it uses the i-th tool to obtain the i-th data corresponding to the i-th key from key-value storage through a get value tool, and transmits the result of the i-th task, in which the i-th task was executed using at least the i-th data, to the processor. Then, the Agentic AI100's processor 120 can execute a fourth process that generates and provides response information regarding natural language instruction data by repeatedly performing the second and third processes for unexecuted indices where i is between 1 and n, and by referring to the results of the first task or the nth task obtained from the first tool or the nth tool corresponding to the first task or the nth task.
[0035] Figure 2 illustrates the process by which a conventional agentic AI provides services in response to a user's request. In other words, it illustrates the process by which agentic AI 100 provides services in response to a user's request without using key-value storage.
[0036] When a user attaches an image of their face and inputs a natural language instruction such as "Upload all photos of this person from my pictures folder to the My Photos folder in Google Drive" (S1), Agentic AI100 can identify the images in the My Pictures folder that contain the user's face and determine the task, i.e., the work to do, to upload those images to the My Photos folder in Google Drive.
[0037] Then, according to the determined tasks, Agentic AI100 can, as its first task, retrieve a list of image files of images saved in the My Pictures folder (S2, S3).
[0038] For example, the agentic AI 100 can request a file list from the file search tool 230 (S2), causing the file search tool 200 to return a list of image files stored in the My Pictures folder (S3), that is, to transmit it to the agentic AI 100. In this case, the command used by the agentic AI 100 to call the file search tool 230 can be shown as an example below.
[0039] ToolCall(tool=“File Search”, args={“query”: “*.jpg”, “target”:“ / home / MyPictures”})
[0040] The above command may also be a request to the File Search tool to return a list of all images in "jpg" format (*.jpg) stored in the My Pictures folder ( / home / My Pictures).
[0041] Subsequently, as a second task, Agentic AI 100 can request (S4) the first image data obtained by converting the first image included in the file list using the file loader tool 240, and the file loader tool 240 can return (S5) the first image data. At this time, Agentic AI 100 can return a base64 string obtained by converting the first image in jpg format to character data as the format of the first image data. At this time, the command that Agentic AI 100 uses to call the file loader tool 240 can be shown as an example below.
[0042] ToolCall(tool=“File Loader”, args={“path”:“ / home / MyPictures / 1.jpg”,“return_format”:“base64”})
[0043] Furthermore, as a third task, similar to the second task, Agentic AI100 can use a file loader tool (240) to obtain the user's face image data converted to base64 format from the attached user's face image (S6, S7).
[0044] The reason for performing the second and third tasks is that, in order to execute the above natural language instructions, face recognition on images is necessary. However, agentic AI models and their surrounding infrastructure are often designed to handle text-based formats, requiring the conversion of image formats into recognizable formats. For example, since image files cannot be transmitted directly to face recognition tools, image formats may be converted to base64 string formats.
[0045] Subsequently, as the fourth task, the agentic AI 100 can request face recognition on the first image data using the face recognition tool 250 with the user's face image data and the first image data (S8), and the face recognition tool 250 can return the result of face recognition, which checks whether the user's face image (the query) is included in the first image data, to the agentic AI 100 in the form of a bounding box (S9). At this time, the command that the agentic AI 100 uses to call the face recognition tool can be shown as an example below.
[0046] ToolCall(tool=“Face Recognition”, args={“query”:<base64 string of user's face image>, “image”:<base64 string of 1.jpg>}
[0047] In this case, the face recognition tool 250 can return to the agentic AI 100 a bounding box that detects the region where the user's face is located from the first image as a result of face recognition. However, the present invention is not limited to this, and the face recognition result can be returned using various information indicating that the first image contains the user's face. On the other hand, if the first image does not contain the user's face, the face recognition tool 250 can return information indicating that face recognition is not possible.
[0048] Although not shown in Figure 2, once the face recognition tool 250 returns a result indicating that the user's face is included in the first image, the fifth task is for the agentic AI 100 to upload the first image, which is saved in the My Pictures folder, to Google Drive using the Google Drive Uploader tool. The command used by the agentic AI 100 to call the Google Drive Uploader tool can be shown as an example below.
[0049] ToolCall(tool=“Google Drive Uploader”, args={“path”:“ / home / My Pictures / 1.jpg”,“target_folder”:“My Photos”})
[0050] Subsequently, Agentic AI100 continues to process all images included in the file list in the same manner, i.e., the second image, the third image, ..., the nth image, and any images containing the user's face can be uploaded to Google Drive.
[0051] When providing services through the process shown in Figure 2, if complex instructions involving a large amount of data are executed, various errors, such as typos and grammatical errors, may occur during the text generation process by the agentic AI.
[0052] Generally, in the case of grammatical errors, LLM is trained and implemented to review the returned error message, appropriately correct the error in the existing text, and retry. However, if no error is returned, the tool continues to run without being aware of the error. This means that if there is an error in the data itself, such as in a base64 string, LLM will not return an error, allowing the tool to run and potentially leading to unintended results by returning an incorrect response. In other words, it may return a corrupted result.
[0053] Furthermore, due to the constraint that input / output between tools must be text, the image data needs to be converted to base64 string format as described above.
[0054] Furthermore, with commercial LLMs (such as GPT, Claude, and Gemini), charges are proportional to the length of the input and output text, which can result in significant costs.
[0055] Furthermore, data exceeding the maximum text size (Context Size) that LLM can process may not be passable at all.
[0056] Therefore, the present invention reduces data contamination and the size of the text passed by using key-value storage to pass keys instead of data to various tools. In other words, as shown in Figure 3, the present invention uses key-value storage 300 to enable the agentic AI 100 to provide services in response to user requests.
[0057] Referring to Figure 3, the key-value storage 300 can store data for transmission to tools that the agentic AI 100 can use to perform tasks.
[0058] For example, the key-value storage 300 includes a database, and the agentic AI 100 can generate specific keys corresponding to specific data through the set-value tool 210, and the specific keys and specific data can be matched and stored in the database.
[0059] As another example, the key-value storage 300 could include object storage or cloud storage, and the agentic AI 100 could use the set-value tool 210 to ensure that specific data is stored in the object storage or cloud storage, and that path information for the specific data stored in the object storage or cloud storage is generated as a specific key.
[0060] Furthermore, the GetValue tool 220 can be configured to output specific data corresponding to a particular key when that key is entered.
[0061] Furthermore, although Figure 3 shows only two additional tools, Tool 1 230 and Tool 2 240 (for example, a face recognition tool, a weather information tool, a cloud upload tool, etc.), this is for the sake of explanation, and two or more additional tools may be used. Referring to the system 1000 configured in Figure 3 in this way, the method by which the agentic AI 100 provides services using the key-value storage 300 according to the present invention will be explained more specifically with reference to Figure 4 as follows.
[0062] First, once natural language instruction data is acquired, the agentic AI 100 can analyze the natural language instruction data through an LLM (Large Language Model) (not shown) and determine the first to the nth task, which are one or more tasks to be performed in accordance with the natural language instruction data.
[0063] As an example, referring to Figure 4, when user 10, that is, when a natural language instruction such as "Upload all photos of this person from the My Pictures folder to the My Pictures folder in Google Drive" is input from the user's terminal, along with an image of the user's face (S11), Agentic AI 100 can identify images containing the user's face from among the images stored in the My Pictures folder and determine the task, i.e., the work to do, to upload the images containing the user's face to the My Photos folder in Google Drive. For example, as a subsequent task, Agentic AI 100 can determine the work to do, such as searching for image files stored in the My Pictures folder, loading the user's face image, loading each of the images stored in the My Pictures folder, performing face recognition through the user's face image and the individual images stored in the My Pictures folder, and uploading the face-recognized photos to Google Drive.
[0064] Next, the agentic AI 100 can, according to the determined work, store the i-th data for executing the i-th task, which is one of the first to n-th tasks, in the key-value storage 300 via the set-value tool 210, and obtain the i-th key corresponding to the i-th data. By calling the i-th tool corresponding to the i-th task using the i-th key, the i-th tool can (i) obtain the i-th data corresponding to the i-th key from the key-value storage 300 via the get-value tool, and (ii) transmit the result of the i-th task, which has been executed using at least the i-th data, to the agentic AI 100.
[0065] In this configuration, the key-value storage 300 can be configured as a database, and the agentic AI 100 can generate the i-th key corresponding to the i-th data through the set-value tool 210, and the i-th key and the i-th data can be matched and stored in the database.
[0066] In contrast, the key-value storage 300 can be configured as object storage or cloud storage, in which case the set-value tool 210 stores the i-th data in the object storage or cloud storage, and path information relating to the i-th data stored in the object storage or cloud storage is generated as the i-th key.
[0067] Specifically, referring again to Figure 4, the agentic AI 100 can, as its first task, use the set value tool 210, which is a file search tool, to search for image files stored in the My Pictures folder (S12). At this time, the command to call the file search tool to search for image files stored in the My Pictures folder can be shown as follows.
[0068] ToolCall(tool=“File Search”, args={“query”:“*.jpg”,“target”:“ / home / MyPictures”})
[0069] Then, the file search tool, which is the set value tool 210, retrieves a list of image files stored in the My Pictures folder, stores the list of image files in the key-value storage 300 (S13), and returns "k123-4567" corresponding to the list of image files stored in the key-value storage 300 as the first key (S14), that is, it can transmit the first key to the agentic AI 100. At this time, the command in which the file search tool, which is the set value tool 210, stores the list of image files in the key-value storage 300 and returns the first key can be shown as follows.
[0070] response = requests.post(kv_store_url, json={“key”: None,“value”: [“1.jpg”,“2.jpg”,“3.jpg”, ···]})
[0071] In the above command, when calling the key-value storage 300 without specifying “key”:None, the key-value storage 300 can generate a random key for the image file list and return the random key as the first key. Figure 4 shows the process of arbitrarily generating and returning the first key as “k123-4567”, but the key actually used can be generated using a uuid or hash function and can have a unique value. The agentic AI 100 can then use the first key “k123-4567” to request the image file list from the get-value tool 220 (S15). At this time, the command that Agentic AI100 uses the first key “k123-4567” to call the GetValue tool 200 can be shown as follows:
[0072] ToolCall(tool=“Get Value”, args={“key”: “k123-4567”})
[0073] Then, the GetValue tool 220 can use the first key "k123-4567" to retrieve a list of image files corresponding to the first key "k123-4567" from the key-value storage 300 (S16), and transmit the retrieved list of image files to the agentic AI 100 (S17).
[0074] At this time, the command that the GetValue tool 200 uses to retrieve a list of image files from the key-value storage 300 and return to the agentic AI 100 can be shown as follows:
[0075] response = requests.get(kv_store_url, json={“key”: “k123-4567”})
[0076] value = response.json()
[0077] In the command above, kv_store_url may be a URL address corresponding to a list of image files stored in key-value storage 300, or it may be a request for data corresponding to a key by passing the first key in JSON format, such as "key": "k123-4567". As an example, the JSON text contained in the HTTP response object "response" related to the retrieved data can be parsed and converted into a list-like object that the Agentic AI100 environment can understand, and assigned to a variable called "value".
[0078] Furthermore, while in the above example Agentic AI100 directly called the GetValue tool 220 to obtain a list of image files, it is also possible for Agentic AI100 to call another tool, which then uses that other tool to obtain and return a list of image files through the GetValue tool 220.
[0079] Subsequently, as a second task, the agentic AI 100 requests the first image data from the file loader tool, which is the set value tool 210, in order to load the first image data by referring to the image file list (S18). The file loader tool, which is the set value tool 210, then retrieves the first image data ("1.jpg") stored in the My Pictures folder, stores the retrieved first image data in the key-value storage 300 (S19), and then returns "k321-4567", which corresponds to the first image data stored in the key-value storage 300, to the agentic AI 100 as the second key (S20).
[0080] In this case, the command that Agentic AI100 uses to call the file loader tool, which is the set value tool 210, can be shown as follows:
[0081] ToolCall(tool=“File Loader”, args={“path”: “ / home / MyPictures / 1.jpg”, “return”: “file”})
[0082] Furthermore, in the above, the agentic AI 100 obtained a list of image files using the first key, and then obtained the second key corresponding to the first image data through the file loader tool, which is the set value tool 210. However, if the file loader tool, which is the set value tool 210, supports lists, the agentic AI 100 can also skip the process of obtaining a list of image files using the first key and instead call the file loader tool, which is the set value tool 210, using the first key. This allows the file loader tool to obtain a list of image files from the key-value storage 300 using the first key, and then, by referring to this list, return the second key corresponding to the first image data.
[0083] On the other hand, in the above, the agentic AI100 was configured to store the i-th data in the key-value storage 300, retrieve the i-th key corresponding to the i-th data, and use the i-th key to call the i-th tool corresponding to the i-th task to retrieve the i-th data corresponding to the i-th key from the key-value storage. However, alternatively, the format of the i-th data can also be converted so that it is stored in the key-value storage 300.
[0084] In other words, the agentic AI 100 can convert the format of the i-th data through the set value tool 210 to generate the i-th data, store the i-th data in the key-value storage 300, and obtain the i-th key corresponding to the i-th data. The agentic AI 100 can then call the i-th tool using the i-th key corresponding to the i-th data, and use the i-th tool to (i) obtain the i-th data corresponding to the i-th key from the key-value storage 300 through the get value tool 220, and (ii) transmit the result of the i-th task, which was executed using the i-th data corresponding to the i-th data, back to the agentic AI 100.
[0085] As an example, referring again to Figure 4, in the above explanation, the file loader tool, which is the set value tool 210, stored the first image data in the key-value storage 300 and returned the second key for it to the agentic AI 100. However, in contrast, the file loader tool, which is the set value tool 210, can retrieve the first image data ("1.jpg") stored in the My Pictures folder, convert the retrieved first image data in jpg format to base64 format which is character data, then store the base64 string in the key-value storage 300 (S19'), and return the second key for it to the agentic AI 100 (S20).
[0086] In this case, the command to call the file loader tool so that Agentic AI100 stores a base64 string obtained by converting the first image data in jpg format into character data and returns a second key for it can be shown as an example below.
[0087] ToolCall(tool=“File Loader”, args={“path”:“ / home / My Pictures / 1.jpg”, “return_format”:“base64”})
[0088] Furthermore, the agentic AI 100 can call the i-th tool using the k-th key and i-th key corresponding to the k-th data which are different from the i-th data, thereby using the i-th tool to (i) retrieve the k-th data and i-th data corresponding to the k-th key and i-th key, respectively, from the key-value storage 300 via the get-value tool 220, and (ii) transmit the result of the i-th task, which was executed using the i-th data and the k-th data as a query, to the agentic AI 100.
[0089] As an example, referring again to Figure 4, the agentic AI 100, as its third task, can store the user's face image or the corresponding user image data converted to base64 format in the key-value storage 300 in the same manner as described above, using the file loader tool, which is the set-value tool 210, for the user's face image attached by the user (S21, S22), and return the third key "k789-3459" corresponding to the user's face image data stored in the key-value storage 300 (S23). At this time, the third task may be performed before the execution of the first or second task. Subsequently, the agentic AI 100 can perform a fourth task, which is to use the face recognition tool 250 to recognize the user's face from the first image. In other words, Agentic AI100 can request face recognition from the face recognition tool 250 to recognize the user's face from the first image (S24) using the query key “k789-3456” which corresponds to the user's face image data and the second key “k321-7654” which corresponds to the first image data.
[0090] In this case, the command that Agentic AI100 uses to invoke the face recognition tool 250 can be shown as follows as an example.
[0091] ToolCall(tool=“Face Recognition”, args={“query_key”:“k789-3456”, “image_key”:“k321-7654”}
[0092] Then, the face recognition tool 250 can use the query key and the second key to retrieve the user's face image data and the first image data from the key-value storage 300 (S25).
[0093] The face recognition tool 250 can then use the user's face image data as a query to perform face recognition on the first image data, that is, to determine whether or not the first image data contains the user's face image, and return the result of face recognition to the agentic AI 100 (S26).
[0094] In this case, the face recognition tool 250 can return to the agentic AI 100 a bounding box that detects the region where the user's face is located from the first image as a result of face recognition. However, the present invention is not limited to this, and the face recognition result can be returned using various information indicating that the first image contains the user's face. On the other hand, if the first image does not contain the user's face, the face recognition tool 250 can return information indicating that face recognition is not possible.
[0095] Then, when the face recognition tool 250 returns a result indicating that the user's face is included in the first image, as the fifth task, Agentic AI 100 can upload the first image, which is saved in the My Pictures folder, to Google Drive using the Google Drive Uploader tool. At this time, the command that Agentic AI 100 uses to call the Google Drive Uploader tool can be shown as an example below.
[0096] ToolCall(tool=“Google Drive Uploader”, args={“path”:“ / home / My Pictures / 1.jpg”, “target_folder”:“My Photos”})
[0097] Subsequently, Agentic AI100 continues to process all images included in the file list in the same manner, i.e., the second image, the third image, ... the nth image, and uploads any images containing the user's face to Google Drive.
[0098] In the manner described above, when retrieving data through the GetValue tool 220 using a key, if the agentic AI obtains key error information from the i-th tool, it can perform error correction on the i-th key used to call the i-th tool, and then recall the i-th tool using the error-corrected i-th key. In this case, the key error information may be information regarding the result of being unable to obtain the i-th data corresponding to the i-th key from the key-value storage 300 through the GetValue tool 220.
[0099] For example, if Agentic AI100 uses the key k789-3451 instead of the required k789-3456, it may not be able to obtain a result with the k789-3451 key, and key error information may be acquired. Therefore, Agentic AI100 can correct the key used and then retry the task using the error-corrected k789-3456 key.
[0100] Therefore, key values are passed, context size is reduced, multiple data formats can be used, and errors in key values can be detected.
[0101] On the other hand, although the above description described the face recognition tool 250 as a separate tool, the present invention is not limited to this. A tool that additionally performs the function of storing data in key-value storage and returning the key from among the tools that perform each function may be used as a set-value tool, and a tool that additionally performs the function of retrieving data stored in key-value storage using the key may be used as a get-value tool.
[0102] The embodiments of the present invention described above are implemented in the form of program instructions that can be executed through various computer components and may be recorded on a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc., individually or in combination. The program instructions recorded on the computer-readable recording medium may be specially designed and configured for the present invention, or they may be known and available to those skilled in the art in the field of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and hardware devices specially configured to store and execute program instructions, such as ROMs, RAMs, and flash memory. Examples of program instructions include not only machine code, such as that produced by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices may be configured to operate as one or more software modules to perform the processing according to the present invention, and vice versa.
[0103] Although the present invention has been described above with specific details such as concrete components, and with limited embodiments and drawings, these are provided only to aid in a more overall understanding of the invention, and the invention is not limited to the above embodiments. A person with ordinary skill in the art to which the invention pertains can make various modifications and variations from this description.
[0104] Therefore, the concept of the present invention should not be limited to the embodiments described above, and all modifications equivalent to or equivalent to the claims described below shall also fall within the scope of the concept of the present invention.
Claims
1. In a method in which agentic AI provides services using key-value storage, (a) When natural language instruction data is acquired, the agentic AI analyzes the natural language instruction data through LLM (Large Language Model) and determines the first to nth task (where n is an integer of 1 or more) to be executed in accordance with the natural language instruction data, (b) The steps of the agentic AI, for the i-th task which is any one of the first to n-th tasks, to store the i-th data for executing the i-th task in key-value storage via a set-value tool, and to obtain the i-th key corresponding to the i-th data, (c) The steps of the agentic AI calling the i-th tool corresponding to the i-th task using the i-key, thereby using the i-th tool to (i) obtain the i-th data corresponding to the i-key from the key-value storage via the get-value tool, and (ii) transmitting to the agentic AI the result of the i-th task, in which the i-th task was performed using at least the i-th data, (d) The agentic AI repeatedly performs steps (b) and (c) for the unexecuted index of i from 1 to n, and generates and provides response information relating to the natural language instruction data by referring to the results of the first task to the nth task obtained from the first tool to the nth tool corresponding to the first task to the nth task, A method that includes this.
2. In step (b) above, The agentic AI converts the format of the i data through the set value tool to generate the i1 data, stores the i1 data in the key-value storage, and obtains the i1 key corresponding to the i1 data. In step (c) above, The method according to claim 1, wherein the agentic AI calls the i tool using the i1 key corresponding to the i1 data, and uses the i tool to (i) obtain the i1 data corresponding to the i1 key from the key-value storage via the get-value tool, and (ii) transmits to the agentic AI the result of the i task performed using the i1 data corresponding to the i data.
3. In the process that is repeated through step (d) above, In step (c) above, The method according to claim 1, wherein the agentic AI calls the i tool using the k key and the i key, which correspond to a k key different from the i data, and uses the i tool to (i) obtain the k data and the i data corresponding to the k key and the i key, respectively, from the key-value storage via the get-value tool, and (ii) transmit to the agentic AI the result of the i task, which is performed using the i data with the k data as a query.
4. In step (c) above, When the agentic AI obtains key error information from the i tool (the key error information is information regarding the result of not being able to obtain the i data corresponding to the i key from the key-value storage via the get-value tool), The method according to claim 1, wherein, after performing error correction on the i key used to call the i tool, the i tool is called again using the error-corrected i key.
5. The aforementioned key-value storage includes a database, The method according to claim 1, wherein the agentic AI generates the i-key corresponding to the i-data through the set value tool, and the i-key and the i-data are matched and stored in the database.
6. The aforementioned key-value storage includes object storage or cloud storage. The method according to claim 1, wherein the agentic AI causes the i data to be stored in the object storage or the cloud storage through the set value tool, and path information relating to the i data stored in the object storage or the cloud storage is generated as the i key.
7. In an agentic AI system that provides services using key-value storage, One or more memory locations to store instructions, Includes one or more processors configured to execute the aforementioned instructions, The processor performs the following processes: (I) When natural language instruction data is acquired, the agentic AI system analyzes the natural language instruction data through LLM (Large Language Model) and determines the first to nth task (where n is an integer of 1 or more) to be executed in accordance with the natural language instruction data; (II) For the ith task, which is one of the first to nth tasks, the processor uses the set value tool to store the ith data for executing the ith task in key-value storage and obtains the ith key corresponding to the ith data; (III) The agentic AI system uses the ith key to call the ith tool corresponding to the ith task, and uses the ith tool to (i) obtain the key value through the get value tool An agentic AI system characterized by: (ii) a process of obtaining the i data corresponding to the i key from storage; (ii) a process of transmitting the result of the i task, which has been performed using at least the i data, to the agentic AI system; and (iv) a process in which the agentic AI system repeatedly performs the (II) process and the (III) process for unexecuted indices where i is 1 to n, and generates and provides response information relating to the natural language instruction data by referring to the result of the first task to the n task obtained from the first tool to the n tool corresponding to the first task to the n task.
8. In the above process (II), The processor converts the format of the i data through the set value tool to generate the i1 data, stores the i1 data in the key-value storage through the set value tool, and obtains the i1 key corresponding to the i1 data. In the above (III) process, The agentic AI system according to claim 7, characterized in that the agentic AI system calls the i tool using the i key corresponding to the i1 data, uses the i tool to (i) obtain the i1 data corresponding to the i1 key from the key-value storage via the get-value tool, and (ii) transmits the result of the i task, which is performed using the i1 data corresponding to the i data, to the processor.
9. In the process that is repeated through the above (IV) process, In the above (III) process, The agentic AI system according to claim 7, characterized in that the processor calls the i tool using the k key and the i key, which correspond to a k key different from the i data, so that the i tool (i) retrieves the k data and the i data corresponding to the k key and the i key, respectively, from the key-value storage via the get-value tool, and (ii) transmits to the processor the result of the i task, in which the i task was executed using the i data, with the k data as a query.
10. In the above (III) process, The agentic AI system according to claim 7, characterized in that when the processor obtains key error information from the i tool (the key error information is information relating to the result that the i data corresponding to the i key cannot be obtained from the key-value storage via the get-value tool), it performs error correction on the i key used to call the i tool, and then recalls the i tool using the error-corrected i key.
11. The aforementioned key-value storage includes a database, The agentic AI system according to claim 7, characterized in that the processor generates the i-key corresponding to the i-data through the set value tool, and the i-key and the i-data are matched and stored in the database.
12. The aforementioned key-value storage includes object storage or cloud storage. The agentic AI system according to claim 7, characterized in that the processor causes the i data to be stored in the object storage or the cloud storage through the set value tool, and path information relating to the i data stored in the object storage or the cloud storage is generated as the i key.