Program, method, information processing device, and system

The system addresses inflexible cost management in generation AI systems by autonomously selecting tools for estimation and execution, ensuring accurate and flexible cost management through user request-based tool selection and calculation.

JP7792666B1Active Publication Date: 2025-12-26AI INSIDE INC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2025153340
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2025-09-16
Publication Date
2025-12-26
Estimated Expiration
2045-09-16

AI Technical Summary

Technical Problem

Existing generation AI systems do not autonomously select tools for task estimation and execution in response to user requests, leading to inflexible and inaccurate cost management.

Method used

A system that autonomously selects a first tool for task estimation and a second tool for execution based on user input, using a generative AI to interpret prompts and calculate estimate information or execute tasks as needed.

Benefits of technology

Enables flexible and accurate cost management by allowing users to understand required costs before task execution, reducing unexpected expenses and improving operational efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007792666000001_ABST
    Figure 0007792666000001_ABST
Patent Text Reader

Abstract

By autonomously selecting the estimation tool and execution tool according to the user's task request, flexible and accurate cost management can be achieved. [Solution] The program is a program to be executed by a computer having a processor and a memory, and causes the processor to perform the following steps: accepting a task request from a user; selecting a tool to use by inputting a first prompt containing information about the task and instructions for executing the task to a generation AI configured to output the results of the task so that a first tool and a second tool can be used based on information about the task; if the first tool is selected, calculating estimate information for the execution of the task by a second tool, which is pay-as-you-go, using the first tool; and if the second tool is selected, executing the task by the second tool.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a program, a method, an information processing device, and a system. [Background technology]

[0002] Patent Document 1 discloses the management of token usage in a generation AI system. Specifically, the system obtains an estimated token usage based on prompts and determines whether the estimated usage is equal to or less than the remaining token usage. This makes it possible to manage the token usage status of different departments in a company and control the system usage costs. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2025-109191 Summary of the Invention [Problem to be solved by the invention]

[0004] However, although Patent Document 1 discloses a configuration in which the generation AI system estimates token usage and compares it with the remaining amount, it does not describe a configuration in which the system autonomously selects a first tool for estimation and a second tool for task execution in response to a user's task request.

[0005] The objective of the present disclosure is to realize flexible and accurate cost management by autonomously selecting an estimation tool and an execution tool in response to a task request from a user. [Means for solving the problem]

[0006] In order to solve the above problem, one embodiment of the program of the present disclosure is a program to be executed by a computer having a processor and a memory, and the program causes the processor to execute the following steps: accepting a task request from a user; selecting a tool to be used by inputting a first prompt including information about the task and instructions for executing the task to a generation AI configured to output the results of the task so that a first tool and a second tool can be used based on information about the task; if the first tool is selected, calculating estimate information for the execution of the task by the second tool, which is pay-as-you-go, using the first tool; and if the second tool is selected, executing the task by the second tool. [Effects of the Invention]

[0007] According to the present disclosure, flexible and accurate cost management can be achieved by autonomously selecting an estimation tool and an execution tool in response to a task request from a user. [Brief explanation of the drawings]

[0008] [Figure 1] 1 is a block diagram showing an example of the overall configuration of a system 1. FIG. [Figure 2] FIG. 2 is a diagram illustrating an example of the functional configuration of a user terminal 10. [Figure 3] FIG. 2 is a diagram illustrating an example of the functional configuration of a server 20. [Figure 4] FIG. 2 is a diagram showing an example of the data structure of a user information table 2021. [Figure 5] FIG. 2 is a diagram illustrating an example of the data structure of a task management table 2022. [Figure 6] FIG. 10 illustrates an example of the data structure of a tool information table 2023. [Figure 7] 1 is a flowchart illustrating an example of the operation of the system 1. [Figure 8] 10 is a flowchart illustrating an example of a processing operation by a first tool. [Figure 9]10 is a flowchart illustrating an example of a processing operation by a second tool. [Figure 10] 1 is a schematic diagram illustrating an example of a display screen of a display 141 of a user terminal 10. FIG. [Figure 11] FIG. 2 is a block diagram showing the basic hardware configuration of a computer 90. DETAILED DESCRIPTION OF THE INVENTION

[0009] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. In all drawings describing the embodiments, common components are designated by the same reference numerals, and repeated description will be omitted. Note that the following embodiments do not unduly limit the content of the present disclosure described in the claims. Furthermore, not all components shown in the embodiments are necessarily essential components of the present disclosure. Furthermore, each drawing is a schematic diagram and is not necessarily a precise illustration.

[0010] In the following description, a "processor" refers to one or more processors. The at least one processor is typically a microprocessor such as a CPU (Central Processing Unit), but may also be another type of processor such as a GPU (Graphics Processing Unit). The at least one processor may be single-core or multi-core.

[0011] Furthermore, the at least one processor may be a processor in the broad sense, such as a hardware circuit (for example, a field-programmable gate array (FPGA) or an application-specific integrated circuit (ASIC)) that performs part or all of the processing.

[0012] In the following explanation, information that produces an output for an input may be described using expressions such as "xxx table," but this information may be data of any structure, or may be a learning model such as a neural network that produces an output for an input. Therefore, an "xxx table" may be referred to as "xxx information."

[0013] Furthermore, in the following description, the configuration of each table is an example, and one table may be divided into two or more tables, or all or part of two or more tables may be one table.

[0014] In addition, in the following explanation, processing may be described using the "program" as the subject, but since a program is executed by a processor to perform specified processing while appropriately using a memory unit and / or an interface unit, etc., the subject of the processing may also be the processor (or a device such as a controller that has that processor).

[0015] The program may be installed in a device such as a computer, or may be stored in, for example, a program distribution server or a computer-readable (e.g., non-transitory) recording medium. Also, in the following description, two or more programs may be realized as one program, or one program may be realized as two or more programs.

[0016] Furthermore, in the following description, identification numbers are used as identification information for various objects, but other types of identification information (for example, identifiers including alphabetic characters or symbols) may also be used.

[0017] In addition, in the following description, when describing elements of the same type without distinguishing between them, reference symbols (or common symbols among the reference symbols) may be used, and when describing elements of the same type with distinction between them, the identification numbers (or reference symbols) of the elements may be used.

[0018] In the following description, the control lines and information lines are those that are considered necessary for the description, and do not necessarily represent all the control lines and information lines in the product. All components may be interconnected.

[0019] Each information processing device is configured by a computer equipped with an arithmetic unit and a storage device. The basic hardware configuration of the computer and the basic functional configuration of the computer realized by the hardware configuration will be described later. For the server 20 and the user terminal 10, descriptions that overlap with the basic hardware configuration and basic functional configuration of the computer will be omitted.

[0020] <1. Overview> In this embodiment, when processing a task request from a user, an AI agent autonomously selects an appropriate tool and calculates estimate information for pay-per-use task execution in advance. This system accepts a task request from a user and, based on information about the task, inputs a prompt containing information about the task and instructions for executing the task to a generating AI (AI agent) that is configured to use a first tool for estimation and a second tool for task execution, causing the AI ​​agent to select a tool to use. If the first tool is selected, the first tool calculates estimate information for the second tool, which is pay-per-use, for task execution. If the second tool is selected, the second tool executes the task. This allows users to understand the costs (credits) required before executing the task, enabling flexible and accurate cost management.

[0021] <2. Overall system configuration> Fig. 1 is a block diagram showing an example of the overall configuration of system 1. System 1 shown in Fig. 1 includes, for example, a user terminal 10, a server 20, and a generation AI system 30. The user terminal 10, the server 20, and the generation AI system 30 are communicatively connected via, for example, a network 80.

[0022] 1 shows an example in which the system 1 includes one user terminal 10, but the number of user terminals 10 included in the system 1 is not limited to one. The number of user terminals 10 included in the system 1 may be two or more.

[0023] In this embodiment, a collection of multiple devices may be considered as one server. The allocation of multiple functions required to realize the server 20 according to this embodiment to one or more pieces of hardware can be determined appropriately in consideration of the processing capacity of each piece of hardware and / or the specifications required for the server 20.

[0024] The user terminal 10 is, for example, an information processing device operated by a user who makes a task request. The user terminal 10 accepts various information and instructions from the user and transmits the input information to the server 20. The user terminal 10 displays estimate information and the like presented by the server 20. The user terminal 10 is realized, for example, by a desktop personal computer (PC), a laptop PC, or the like. The user terminal 10 may also be realized by a mobile terminal such as a smartphone or a tablet.

[0025] The user terminal 10 includes a communication IF (Interface) 12, an input device 13, an output device 14, a memory 15, a storage 16, and a processor 19. The input device 13 is a device for receiving input operations from a user (for example, a touch panel, a touch pad, a pointing device such as a mouse, a keyboard, etc.). The output device 14 is a device for presenting information to a user (a display, a speaker, etc.).

[0026] The server 20 is, for example, an information processing device that estimates tasks and executes the tasks, and is realized by a computer connected to the network 80. The server 20 controls, for example, the transmission and reception of necessary information between the user terminal 10 and the generation AI system 30.

[0027] The server 20 includes a communication IF 22, an input / output IF 23, a memory 25, a storage 26, and a processor 29. The input / output IF 23 functions as an interface for an input device for receiving input operations from the administrator of the system 1 and an output device for outputting information to the administrator.

[0028] The generative AI system 30 is, for example, a cloud server having a large-scale language model (LLM). The number of LLMs included in the generative AI system 30 may be one or more.

[0029] LLM is a single-modal natural language model constructed by learning from large amounts of text data, and is used in many NLG (Natural Language Generation) tasks, such as generating answers to specific questions, automatically generating sentences, and summarizing text. LLM is an example of a generative AI model. Examples of LLMs include: OpenAI: GPT-4 Google: Gemini 1.5 Flash ·Anthropic: Claude 3.5 Sonnet

[0030] The generative AI system 30 has, for example, an LLM, and autonomously controls the generation of the entire task-based work flow (procedure plan, etc.) and response content (tool selection result, etc.) based on a preset system prompt (second prompt). When a task request from a user and a user prompt (first prompt) containing various information related to the task are input from the server 20, the generative AI system 30 comprehensively interprets these and the internal system prompt, and transmits the tool selection result to the server 20.

[0031] The system prompts include detailed instructions (such as the role of the AI ​​agent, the logic for progressing each phase of the work, the perspectives and check items for collecting information about the work, work progress rules, completion requirements, evaluation criteria, and response formats) that the generative AI system 30 uses to autonomously control task-based work. The system prompts are set in advance inside the generative AI system 30 or stored in the memory unit 202 of the server 20, and are provided to the generative AI system 30 when work begins or as needed.

[0032] The generation AI system 30 autonomously generates results such as tool selection based on user prompts sent from the server 20 and system prompts that it references internally, and outputs them to the server 20. The system prompts include various instructions for achieving smooth work and collecting and providing appropriate information, and their main components include role instructions, answer generation instructions, reference information designation, user prompt designation, and output format instructions.

[0033] The role instruction includes text that indicates the role (position) of the LLM when generating an answer. In this embodiment, the role instruction is defined in the system prompt in the form of, for example, "You are an AI agent that manages task estimation tools and task execution tools. Accurately analyze the content of the provided task and the user's instructions, and autonomously select the most appropriate tool to make an estimate. If you have any questions, please ask the user for additional information," and specifies an appropriate persona for the AI ​​agent.

[0034] The answer generation instructions include text instructing the LLM on what answer to generate. In this embodiment, the answer generation instructions vary significantly depending on the associated work phase (e.g., task estimation, task execution) in the system prompt. For example, in the task estimation phase, instructions such as "Select a task estimation tool and request it" are included. In the task execution phase, instructions such as "Select a task execution tool and request it" are included.

[0035] The reference information specification includes instructions for using information extracted from the tool information table 2023 or the like, or a placeholder indicating where to insert the extracted information. A general format or instructions for using such external information may be defined in the system prompt. This is mainly used when performing processing in accordance with the functions of available tools in each phase of the work. For example, it may be in the format "Please refer to the tool information below and select the most appropriate tool. Tool information: {Tool information}."

[0036] The user prompt specification includes instructions for the LLM to recognize and use the content of the user's input information (user prompt), or a placeholder that indicates where the input information string should be inserted. The user prompt specification may also define general guidelines for how to interpret the user prompt from the system prompt and use it to generate a response. For example, the format may be "Please proceed based on the following instruction text and task request from the user. User instructions: '{user instruction text}', Task request: '{path to task file or data summary}'."

[0037] The output format instructions include instructions regarding the output format (template), structure, style, or elements to be included in the answer generated by the LLM. In this embodiment, the output format instructions are specified in detail in a system prompt, and, for example, instruct the entire response from the generative AI system 30 to be in JSON format and to include specific key-value pairs. Examples of specific keys that may be included in this JSON-formatted response include "estimated_credits" (calculated credits) and "task_result" (task execution result).

[0038] Each information processing device is configured by a computer equipped with an arithmetic unit and a storage device. The basic hardware configuration of the computer and the basic functional configuration of the computer realized by the hardware configuration will be described later. For the user terminal 10 and the server 20, descriptions that overlap with the basic hardware configuration and basic functional configuration of the computer will be omitted.

[0039] <2-1. Functional configuration of user terminal> Fig. 2 is a diagram showing an example of the functional configuration of the user terminal 10 shown in Fig. 1. As shown in Fig. 2, the user terminal 10 includes a communication unit 120, an input device 13, an output device 14, an audio processing unit 17, a microphone 171, a speaker 172, a storage unit 180, and a control unit 190. The blocks included in the user terminal 10 are electrically connected by, for example, a bus or the like.

[0040] The communication unit 120 performs processes such as modulation and demodulation for the user terminal 10 to communicate with other devices. The communication unit 120 performs transmission processing on signals generated by the control unit 190 and transmits them to the outside (for example, the server 20). The communication unit 120 performs reception processing on signals received from the outside and outputs them to the control unit 190. As a result, task requests and various instructions input by the user are transmitted to the server 20, and estimate results, task execution results, etc. are received by the user terminal 10 from the server 20.

[0041] The input device 13 is a device for inputting instructions or information by a user operating the user terminal 10. The input device 13 is realized, for example, by a touch-sensitive device 131 or the like, which inputs instructions by touching the operation surface. If the user terminal 10 is a PC or the like, the input device 13 may be realized by a reader, keyboard, mouse, or the like. The input device 13 converts instructions input by the user into electrical signals and outputs the electrical signals to the control unit 190. The input device 13 may also include, for example, a receiving port that receives electrical signals input from an external input device.

[0042] The output device 14 is a device for presenting information to a user operating the user terminal 10. The output device 14 is realized, for example, by a display 141 or the like. The display 141 displays data according to the control of the control unit 190. The display 141 is realized, for example, by an LCD (Liquid Crystal Display) or an organic EL (Electro-Luminescence) display or the like.

[0043] The voice processing unit 17 performs, for example, digital-to-analog conversion processing of a voice signal. The voice processing unit 17 converts a signal provided from the microphone 171 into a digital signal and provides the converted signal to the control unit 190. The voice processing unit 17 also provides the voice signal to the speaker 172. The voice processing unit 17 is realized, for example, by a processor for voice processing. The microphone 171 receives a voice input and provides a voice signal corresponding to the voice input to the voice processing unit 17. The speaker 172 converts the voice signal provided from the voice processing unit 17 into voice and outputs the voice to the outside of the user terminal 10. In this embodiment, these voice-related components can be used when a user inputs instructions by voice or receives estimate results by voice.

[0044] The storage unit 180 is realized by, for example, the memory 15, the storage 16, etc., and stores data and programs used by the user terminal 10. The storage unit 180 stores, for example, user information 181, application programs for using the task estimation and execution system, setting information, etc.

[0045] The user information 181 includes, for example, information about the user who uses the user terminal 10. The information about the user includes, for example, the user's name, age, sex, credit balance, task history, and the like.

[0046] The control unit 190 is realized by the processor 19 reading a program stored in the storage unit 180 and executing instructions included in the program. The control unit 190 controls the operation of the user terminal 10. The control unit 190 functions as an operation reception unit 191, a transmission / reception unit 192, and a presentation control unit 193 by operating in accordance with the program.

[0047] The operation reception unit 191 performs processing for receiving instructions or information input from the input device 13. Specifically, for example, the operation reception unit 191 can receive instructions input from the touch-sensitive device 131 or the like, or information such as a task request or approval for task execution.

[0048] Furthermore, the operation reception unit 191 receives voice instructions input from the microphone 171. Specifically, for example, the operation reception unit 191 receives a voice signal that is input from the microphone 171 and converted into a digital signal by the voice processing unit 17.

[0049] The transmitting / receiving unit 192 performs processing for the user terminal 10 to transmit and receive data to and from external devices such as the server 20 in accordance with a communication protocol. Specifically, for example, the transmitting / receiving unit 192 transmits task requests and various instructions input by the user to the server 20. In addition, the transmitting / receiving unit 192 receives estimate results, task execution results, and the like provided by the server 20.

[0050] The presentation control unit 193 controls the output device 14 to present information provided from the server 20 to the user. Specifically, for example, the presentation control unit 193 causes the display 141 to display various information such as estimate results and task execution results transmitted from the server 20. In addition, the presentation control unit 193 causes the speaker 172 to output the information transmitted from the server 20.

[0051] <2-2. Functional configuration of the server> Fig. 3 is a diagram showing an example of the functional configuration of the server 20 shown in Fig. 1. As shown in Fig. 3, the server 20 performs the functions of a communication unit 201, a storage unit 202, and a control unit 203.

[0052] The communication unit 201 performs processing for the server 20 to communicate with an external device, such as the user terminal 10 or the generation AI system 30.

[0053] The storage unit 202 is realized by the memory 25 and the storage 26, and stores data and programs used by the server 20 to provide the task estimation and execution system. The storage unit 202 stores, for example, a user information table 2021, a task management table 2022, and a tool information table 2023. The databases and trained models stored in the storage unit 202 are not limited to these. The storage unit 202 also stores a task estimation tool 2024 that functions as a first tool and a task execution tool 2025 that functions as a second tool.

[0054] The user information table 2021 is a database that stores data about users, including information such as the user's name, age, gender, credit balance, task history, etc. Details will be described later.

[0055] The task management table 2022 is a database that stores information about tasks from users, including items such as task ID, task content, selected tool, estimate information, execution result, consumed credits, etc. Details will be described later.

[0056] The tool information table 2023 is a database that stores information about tools that can be used in the system, including items such as tool ID, tool name, function, input data, output data, etc. Details will be described later.

[0057] The task estimation tool 2024 functions as a first tool and is used to calculate estimation information for the execution of a task by a pay-as-you-go second tool. The task estimation tool 2024, for example, analyzes the content of a task and calculates the amount of work for the analyzed task. Furthermore, the task estimation tool 2024 calculates estimation information (e.g., the number of tokens, points, or credits) associated with the use of the pay-as-you-go second tool based on the calculated amount of work. The task estimation tool 2024 may be, for example, a trained model that has been trained to input the content of a task and output consumed credits as estimation information.

[0058] The task execution tool 2025 functions as a second tool and is used to execute tasks requested by a user. The task execution tool 2025 executes a wide range of tasks, such as accounting work, contract creation, and program support. The task execution tool 2025 is a pay-per-use tool in which the cost of executing a task varies depending on the scale and complexity of the task to be executed. This pay-per-use fee is calculated based on, for example, the number of tokens corresponding to the processing volume of the executed task, the processor usage time, or the amount of generated content. The task execution tool 2025 may be a trained model that has been trained to input the content of a task and output the results of executing the task (e.g., accounting processing results, contracts, or program code).

[0059] The control unit 203 is realized by the processor 29 reading a program stored in the storage unit 202 and executing instructions included in the program. The control unit 203 controls the operation of the server 20. By operating in accordance with the read program, the control unit 203 can fulfill the functions of a reception control module 2031, a transmission control module 2032, a service processing module 2033, and a presentation control module 2034.

[0060] The reception control module 2031 controls the process by which the server 20 receives signals from external devices in accordance with a communication protocol. For example, it receives prompts including operation information such as task requests and task execution instructions from the user terminal 10. The reception control module 2031 also receives responses (such as tool selection results) output from the generation AI system 30. The received information is passed to other related modules (mainly the service processing module 2033).

[0061] The transmission control module 2032 controls the process in which the server 20 transmits signals to external devices in accordance with a communication protocol. The transmission control module 2032 executes a process of transmitting a prompt including operation information such as a task request or task execution instruction to the generation AI system 30, for example, based on instructions from the service processing module 2033. The transmission control module 2032 also executes a process of transmitting a response (such as a tool selection result) from the generation AI system 30 to the user terminal 10, for example, based on instructions from the presentation control module 2034.

[0062] The service processing module 2033 serves as the main communication interface with the generation AI system 30. Specifically, the service processing module 2033 receives a task request from the user terminal 10 via the reception control module 2031. Based on the received information about the task, the service processing module 2033 references the tool information table 2023 and inputs, via the transmission control module 2032, a prompt containing information about the task and an instruction for executing the task to the generation AI system 30 that has been set up to enable the use of a task estimation tool 2024 (first tool) and a task execution tool 2025 (second tool). The service processing module 2033 then acquires a response (such as a tool selection result) output from the generation AI system 30 via the reception control module 2031. If the acquired tool selection result is the task estimation tool 2024, the service processing module 2033 uses the task estimation tool 2024 to calculate estimation information for task execution by the pay-as-you-go task execution tool 2025. On the other hand, if the tool selection result is the task execution tool 2025, the task execution tool 2025 is used to execute the task.

[0063] The presentation control module 2034 formats the output content (quotation information, task execution results, etc.) received from the service processing module 2033 into a format suitable for the user interface used by the user (such as the display screen of the user terminal 10), and transmits it to the user terminal 10 via the transmission control module 2032 for presentation.

[0064] <3. Data Structure> 4 to 6 are diagrams showing the data structures of databases stored in server 20. Note that Figures 4 to 6 are merely examples and do not exclude data that is not listed. Furthermore, even data that is listed in the same database may be stored in separate storage areas in storage unit 202.

[0065] 4 is a diagram showing an example of the data structure of the user information table 2021. The user information table 2021 is a database that stores data related to users. Here, the user information table 2021 is a database that uses a user ID as a key and has columns such as name, age, gender, credit balance, task history, etc.

[0066] The item "user ID" is an item for storing an identifier for uniquely identifying a user.

[0067] The item "Name" is an item for storing the name of the user.

[0068] The item "age" is an item for storing the age of the user.

[0069] The item "gender" is an item for storing the gender of the user.

[0070] The item "credit balance" is an item for storing the user's credit balance. Specifically, the item "credit balance" includes, for example, the credit balance for using the second tool, which is a pay-as-you-go tool.

[0071] The "task history" item is an item that stores the user's past task history. Specifically, the "task history" item may store, for example, the content of the task request, the date and time the task was performed, the selected tool, the credits consumed for performing the task, and the task execution results. The "task history" item may store, for example, the task ID shown in FIG. 5.

[0072] 5 is a diagram showing an example of the data structure of the task management table 2022. The task management table 2022 is a database that stores information about tasks received from users. Here, the task management table 2022 is a database that uses a task ID as a key and has columns such as task content, selected tool, estimate information, execution result, and consumed credits.

[0073] The item "task ID" is an item for storing an identifier for uniquely identifying a task.

[0074] The item "task content" is an item that stores the content of the task requested by the user. The item "task content" stores information written in natural language, such as "prepare an accounting report for company X" or "check the contract for any deficiencies and prepare a revision proposal."

[0075] The item "selected tool" is an item that stores the tool selected by the generation AI system 30 when processing a task. The item "selected tool" stores the tool name, for example, "task estimation tool" or "task execution tool (e.g., contract creation tool, programming support tool, etc.)."

[0076] The item "Estimate Information" is an item that stores estimate information calculated by the first tool. The item "Estimate Information" stores, for example, the number of tokens, the number of points, or credits.

[0077] The "Execution result" item is an item that stores the result of task execution. The "Execution result" item may record a status such as "Completed successfully" if the task is completed successfully, or "Error: API connection failed" if an error occurs during the task. Furthermore, the "Execution result" item may also include the deliverable (for example, the file path of the contract) generated by the execution if the task is completed successfully.

[0078] The "Credits Consumed" item is an item that stores the credits consumed for task execution. The "Credits Consumed" item may store a numerical value, for example, "100 credits." This credit is the final consumption amount determined after the task execution is completed, and may differ from the estimated information.

[0079] 6 is a diagram showing an example of the data structure of the tool information table 2023. The tool information table 2023 stores information about tools available in the system. In this example, the tool information table 2023 is a database having columns such as tool name, function, input data, and output data, with the tool ID as a key.

[0080] The item "tool ID" is an item for storing an identifier for uniquely identifying a tool.

[0081] The item "tool name" is an item for storing the name of a tool, such as a "task estimation tool" or a "task execution tool (e.g., a contract creation tool, a programming support tool, etc.)."

[0082] The item "function" is an item for storing the function of the tool, and includes, for example, function information such as task estimation, contract creation, and program support.

[0083] The item "input data" is an item for storing input data to be input to a tool. Each tool functions when the input data is input.

[0084] The item "output data" is an item for storing the output data output by the tools. Each tool executes a function according to input data and outputs output data.

[0085] <4. Example of operation> <4-1. Overall movement> The operation of the system 1 in this embodiment will be described below. Fig. 7 is a flowchart showing an example of the operation of the system 1.

[0086] First, a user making a task request accesses the server 20 that provides a task estimation and execution system. The user operates the user terminal 10, for example, and enters their own user ID and password to log in to the task estimation and execution system provided by the server 20. The server 20 accepts a request from the user to execute the task request.

[0087] In step S11, the server 20 accepts a task request from a user. Specifically, the user operates the user terminal 10, for example, to request a task on a prompt screen in chat format or the like. Tasks range widely, for example, from accounting work, contract creation, and program support. The reception control module 2031 accepts the task request input by the user and links to the service processing module 2033. For example, a task request from a user may include a request such as "Fix a bug in the XX program."

[0088] In step S12, the server 20 inputs information about the task to the generative AI system 30. The service processing module 2033 inputs information about the received task and an instruction for executing the task as a user prompt (first prompt) to the generative AI system 30. The information about the task may include, for example, details about the task (e.g., an overview and details of the task). For example, the information about the task may include "program assistance, fixing a bug in XX of XX program." The information about the task may also include, for example, content about a new task initiated by the user. The content about the new task is, for example, task information input as a new request. For example, the content about the new task may be accompanied by a tag indicating that it is a new request. For example, the instruction for executing the task is, for example, an instruction such as "Please execute program assistance based on the information about the task." The service processing module 2033 may input a user prompt input by the user to the generative AI system 30, or may generate a prompt based on the user prompt and input it to the generative AI system 30. On the other hand, the information about the task may include, for example, after a task estimate has been made, in addition to the content about the task, approval of the user to perform the task.

[0089] The service processing module 2033 may also input a system prompt (second prompt) to the generative AI system 30 to control its behavior. The system prompt includes detailed instructions used by the generative AI system 30 to autonomously control tool selection, such as the AI ​​agent's role, the progress logic for each phase of the work, perspectives and checkpoints for collecting information about the task, work progress rules, completion requirements, evaluation criteria, and response formats. Specifically, the role instructions include text such as, "You are an AI agent managing a task estimation tool and a task execution tool. Accurately analyze the provided task content and the user's instructions, and autonomously select and estimate the optimal tool. If you have any questions, please ask the user for additional information." Furthermore, the answer generation instructions include, for example, instructions such as, "Select a task estimation tool and request an estimate" during the task estimation phase. Instructions such as, "Select a task execution tool and request an estimate" during the task execution phase. The generative AI system 30 comprehensively interprets the user prompt and the system prompt and autonomously executes operations.

[0090] In step S13, the generation AI system 30 selects a tool to be used. Based on the input user prompt and system prompt, the generation AI system 30 selects either the first tool (task estimation tool) or the second tool (task execution tool). For example, if the user prompt (information about the task) includes content related to a new task (e.g., programming assistance) such as "Please fix a bug in the program," the generation AI system 30 determines that "an estimate of the task is required first," and selects the first tool. When the first tool is selected, the service processing module 2033 calculates estimate information for the execution of the task by the second tool, which is pay-as-you-go, as described later in FIG. 8. On the other hand, when the user prompt (information about the task) includes approval of task execution, such as "I approve task execution," the generation AI system 30 determines that "task execution is required," and selects the second tool. When the second tool is selected, the service processing module 2033 executes the task by the second tool, as described later in FIG. 9.

[0091] In step S14, the server 20 determines whether the task has been completed. Specifically, the service processing module 2033 determines whether the task has been estimated or executed in step S13. If the task has been executed and completed in step S13, the service processing module 2033 ends the processing (Yes in step S14). On the other hand, if the task has been estimated in step S13 but not yet executed, the process returns to step S12, and the task is executed.

[0092] <4-2. Processing operation by the first tool> 8 is a flowchart showing an example of the processing operation by the first tool, in which the first tool is selected in step S13 of FIG.

[0093] In step S21, the server 20 receives a request to the first tool (task estimation tool). Specifically, when the first tool is selected by the generation AI system 30, the service processing module 2033 receives the request to the first tool from the generation AI system 30 and transmits information about the task to the first tool.

[0094] In step S22, the first tool analyzes the task content. Specifically, the first tool analyzes the work required to complete the task based on the task information received from the service processing module 2033, and identifies how to perform the task.

[0095] In step S23, the first tool calculates the amount of work required to complete the task. Specifically, the first tool calculates the amount of work required to complete the task based on the task execution method identified in step S22.

[0096] In step S24, the first tool estimates the required credits. Specifically, the first tool calculates the credits associated with the use of the pay-as-you-go second tool as estimate information based on the calculated workload. The estimate information may be calculated in the form of, for example, the number of tokens or the number of points. The estimate information may also be calculated as, for example, the maximum estimate, or may be calculated using multiple estimate patterns depending on the task execution method. The multiple estimate patterns may include, for example, estimates for a single task request when it is executed in detail and when it is executed simply.

[0097] In step S25, the server 20 presents the estimate information. Specifically, the service processing module 2033, for example, causes the display 141 of the user terminal 10 to display the estimate information (e.g., the credits required to execute the task) calculated by the first tool via the presentation control module 2034. This allows the user to know the credits required before executing the task, thereby avoiding unexpected credit consumption and the risk of interrupting the task.

[0098] In step S26, the server 20 receives approval for task execution from the user. Specifically, the user checks the presented estimate information and selects whether or not to approve the task execution. For example, if the service processing module 2033 receives a denial of task execution from the user via the reception control module 2031, the service processing module 2033 ends the processing (No in step S26). On the other hand, if the service processing module 2033 receives approval for task execution from the user via the reception control module 2031, the service processing module 2033 proceeds to the processing of step S27 (Yes in step S26).

[0099] In step S27, the server 20 determines whether or not there is a shortage of credits. Specifically, the service processing module 2033, for example, compares the credit balance stored in the user information table 2021 with the calculated estimate information to determine whether or not there is a shortage of credits. If there is no shortage of credits, the service processing module 2033 proceeds to the processing of step S14 (Yes in step S27). On the other hand, if there is a shortage of credits, the service processing module 2033 proceeds to the processing of step S28 (No in step S27).

[0100] In step S28, the server 20 accepts a credit purchase application. Specifically, the service processing module 2033, for example, notifies the user that there is a shortage of credits and prompts the user to purchase additional credits. The service processing module 2033 accepts the credit purchase application from the user. Then, when the service processing module 2033 accepts the credit purchase application from the user, it approves the task execution. On the other hand, when the service processing module 2033 accepts the credit purchase application from the user and rejects the credit purchase application, it may terminate the task.

[0101] <4-3. Processing operation by the second tool> 9 is a flowchart showing an example of the processing operation by the second tool, in which the second tool is selected in step S13 of FIG.

[0102] In step S31, the server 20 receives a request to a second tool (task execution tool). Specifically, when the second tool is selected by the generation AI system 30, the service processing module 2033 receives the request to the second tool from the generation AI system 30 and transmits information about the task to the second tool.

[0103] In step S32, the second tool executes the task. The second tool automatically executes the task based on the information about the task received from the service processing module 2033. The tasks range from accounting work, contract creation, program support, and the like.

[0104] In step S33, the server 20 presents the result of the task execution. Specifically, the service processing module 2033, for example, causes the display 141 of the user terminal 10 to display result information of the task executed by the second tool (e.g., task execution result, consumed credits, etc.) via the presentation control module 2034.

[0105] <5. Screen example> Fig. 10 is a schematic diagram showing an example of a display screen of the display 141 of the user terminal 10. Fig. 10 shows, for example, a screen for accepting a task request in step S11 of Fig. 7 and presenting estimate information in S25 of Fig. 8.

[0106] The screen shown in FIG. 10 is an example of a chat-style screen, and includes a first area 1411, a second area 1412, and a third area 1413.

[0107] The first area 1411 is an area showing the input of a task request by the user. Here, the first area 1411 displays, for example, "Please create a tool to create a user account for XX." The first area 1411 may also include details such as prerequisites for executing the task.

[0108] The second area 1412 is an area showing the output of the estimate information by the first tool. Here, the second area 1412 displays, for example, "This is a task request! Please wait a moment while we estimate the task." This indicates that the generation AI system 30 determined that an estimate was first required based on the user's request and selected the first tool. The second area 1412 also displays, "Sorry to keep you waiting! Below is the task estimate. Estimated credits: 1,500, remaining credits: 2,000." This is the result of the estimate made by the first tool, and displays the estimated credits required for task execution (1,500) and the user's current credit balance (2,000).

[0109] The third area 1413 is an area showing the input of a task request by the user. The third area 1413 is an area that accepts text input by the user. Specifically, the third area 1413 displays a text box in which the user inputs text such as a task request or response, and includes a send button for sending the input text. The user can input approval or rejection of task execution, etc., in the third area 1413.

[0110] <6. Variations> In the above embodiment, an example was shown in which the first tool and the second tool were stored in the server 20, but the present embodiment is not limited to this. For example, the first tool and the second tool may be realized as part of the internal functions of the generative AI system 30 or as external tools.

[0111] In the above embodiment, an example was shown in which an estimate was always made by the first tool after a request for a new task was received, but this embodiment is not limited to this. For example, if it is determined that an estimate is not necessary depending on the type of task, the second tool may be directly selected to execute the task.

[0112] In the above embodiment, the estimate information and task execution results are presented on the display 141, but this embodiment is not limited to this. In this embodiment, the estimate information and task execution results may be output as audio or printed matter.

[0113] Furthermore, in this embodiment, the generative AI system 30 may be configured to dynamically change the combination of tools or procedures to be used depending on the type of task (e.g., accounting work, contract creation, program support, etc.) and the purpose of the task (e.g., simple execution, detailed execution, etc.), thereby enabling more flexible automation of task work.

[0114] In this embodiment, after the estimate information is presented, the user may again request an estimate from the first tool. For example, the user may send a re-request instruction such as "Please provide a cheaper estimate" or "Please provide an estimate for a simplified execution" in response to the presented estimate information. In this case, the generation AI system 30 may again select the first tool based on this re-request instruction and recalculate an estimate according to the new task execution method.

[0115] <7.Summary> As described above, according to this embodiment, the system accepts a task request from a user. Based on information about the task, the system selects a tool to be used by inputting a first prompt including information about the task and instructions for executing the task to a generation AI configured to output task results so that a first tool and a second tool can be used. When the first tool is selected, the system calculates, using the first tool, estimate information for execution of the task by the second tool, which is pay-as-you-go. When the second tool is selected, the system executes the task using the second tool. This enables flexible and accurate cost management by autonomously selecting an estimate tool and an execution tool in response to a task request from a user.

[0116] Furthermore, according to this embodiment, in the selection step, if the task-related information includes content related to a new task by the user, the system selects the first tool, which allows an estimate to be made before the task is performed, and allows the user to know the cost in advance.

[0117] Furthermore, according to this embodiment, in the selecting step, the system selects the second tool if the information about the task includes the user's approval of the task execution, and does not select the second tool if the information about the task includes the user's refusal of the task execution, thereby enabling the task execution to be performed according to the user's approval and preventing the task from being executed unintentionally by the user.

[0118] Furthermore, according to this embodiment, in the selecting step, if the information about the task includes the user's approval of the task execution and the system has received a credit purchase request from the user, the system selects the second tool, thereby resolving the credit shortage and allowing the task execution to continue.

[0119] Furthermore, according to this embodiment, the estimate information includes the maximum estimated cost of executing the task, which allows the user to grasp the maximum cost of executing the task.

[0120] Furthermore, according to this embodiment, the estimate information includes multiple estimates for the execution of a task, allowing the user to select a method for executing the task according to their own budget or purpose.

[0121] Furthermore, according to this embodiment, in the calculation step, the system analyzes the content of the task using the first tool, calculates the amount of work based on the analyzed content, and calculates the credits associated with the use of the second tool according to the calculated amount of work. This allows for a well-founded estimate based on the content of the task.

[0122] Furthermore, according to this embodiment, in the selection step, the system selects the tool to be used by inputting a second prompt including an instruction sentence instructing the generation AI to use the first tool or the second tool depending on the input information. This allows for detailed control over the behavior of the generation AI, allowing it to autonomously select the optimal tool depending on the task.

[0123] <8. Basic computer hardware configuration> 11 is a block diagram showing the basic hardware configuration of a computer 90. The computer 90 includes at least a processor 91, a main memory device 92, an auxiliary memory device 93, and a communication IF (interface) 99. These are electrically connected to each other by a bus.

[0124] The processor 91 is hardware for executing an instruction set written in a program, and is composed of an arithmetic unit, registers, peripheral circuits, and the like.

[0125] The main storage device 92 is used to temporarily store programs, data to be processed by the programs, etc. For example, it is a volatile memory such as a DRAM (Dynamic Random Access Memory).

[0126] The auxiliary storage device 93 is a storage device for saving data and programs, such as a flash memory, a hard disk drive (HDD), a magneto-optical disk, a CD-ROM, a DVD-ROM, or a semiconductor memory.

[0127] The communication IF 99 is an interface for inputting and outputting signals for communicating with other computers via a network using wired or wireless communication standards.

[0128] A network is composed of the Internet, a LAN, various mobile communication systems constructed by wireless base stations, etc. For example, networks include 3G, 4G, and 5G mobile communication systems, LTE (Long Term Evolution), and wireless networks (e.g., Wi-Fi (registered trademark)) that can connect to the Internet via a predetermined access point. In the case of a wireless connection, communication protocols include, for example, Z-Wave (registered trademark), ZigBee (registered trademark), and Bluetooth (registered trademark). In the case of a wired connection, networks also include those that are directly connected using a USB (Universal Serial Bus) cable, etc.

[0129] It should be noted that the computer 90 can be virtually realized by distributing all or part of each hardware configuration across multiple computers 90 and interconnecting them via a network. In this way, the computer 90 is a concept that includes not only a computer 90 housed in a single housing or case, but also a virtualized computer system.

[0130] <9. Basic Functional Configuration of Computer 90> A description will be given of the functional configuration of a computer realized by the basic hardware configuration of a computer 90 shown in Fig. 11. The computer includes at least the functional units of a control unit, a storage unit, and a communication unit.

[0131] The functional units of the computer 90 can also be realized by distributing all or part of the functional units among multiple computers 90 interconnected via a network. The computer 90 is a concept that includes not only a single computer 90 but also a virtualized computer system.

[0132] The control unit is realized by the processor 91 reading various programs stored in the auxiliary storage device 93, expanding them in the main storage device 92, and executing processing in accordance with the programs. The control unit can realize functional units that perform various types of information processing depending on the type of program. In this way, the computer is realized as an information processing device that processes information.

[0133] The storage unit is realized by a main storage device 92 and an auxiliary storage device 93. The storage unit stores data, various programs, and various databases. Furthermore, the processor 91 can allocate a storage area corresponding to the storage unit in the main storage device 92 or the auxiliary storage device 93 in accordance with the programs. Furthermore, the control unit can cause the processor 91 to execute processes for adding, updating, and deleting data stored in the storage unit in accordance with the various programs.

[0134] A database refers to a relational database, which manages data sets called masters and tables in a tabular format structurally defined by rows and columns, by relating them to each other. In a database, a table is called a table, a master, a column in a table is called a column, and a row in a table is called a record. In a relational database, relationships between tables and masters can be set and associated.

[0135] Normally, each table and each master has a column set as a primary key to uniquely identify a record, but setting a primary key to a column is not essential. The control unit can cause the processor 91 to add, delete, or update records in specific tables and masters stored in the storage unit according to various programs.

[0136] Furthermore, by storing data, various programs, and various databases in the storage unit, it can be considered that the information processing device and information processing system according to the present disclosure have been manufactured.

[0137] Note that the databases and masters in this disclosure may include any data structure (list, dictionary, associative array, object, etc.) in which information is structurally defined. The data structure also includes data that can be considered as a data structure by combining data with functions, classes, methods, etc. written in any programming language.

[0138] The communication unit is realized by the communication IF 99. The communication unit realizes the function of communicating with other computers 90 via a network. The communication unit can receive information transmitted from other computers 90 and input the information to the control unit. The control unit can cause the processor 91 to execute information processing on the received information in accordance with various programs. In addition, the communication unit can transmit information output from the control unit to other computers 90.

[0139] Furthermore, the above-described configurations, functions, processing units, processing means, etc. may be partially or entirely implemented in hardware, for example, by designing them as integrated circuits. The present invention can also be realized by software program code that implements the functions of the embodiments. In this case, a storage medium on which the program code is recorded is provided to a computer, and a processor included in the computer reads the program code stored in the storage medium. In this case, the program code itself read from the storage medium implements the functions of the above-described embodiments, and the program code itself and the storage medium on which it is stored constitute the present invention. Examples of storage media for providing such program code include flexible disks, CD-ROMs, DVD-ROMs, hard disks, SSDs, optical disks, magneto-optical disks, CD-Rs, magnetic tape, non-volatile memory cards, and ROMs.

[0140] Furthermore, the program code that realizes the functions described in this embodiment can be implemented in a wide range of program or script languages, such as assembler, C / C++, perl, Shell, PHP, and Java (registered trademark).

[0141] Furthermore, the program code of the software that realizes the functions of the embodiments may be distributed via a network and stored in a storage means such as a computer's hard disk or memory, or in a storage medium such as a CD-RW or CD-R, and the processor of the computer may read and execute the program code stored in the storage means or storage medium.

[0142] The functions performed by the components described herein may be implemented in circuitry or processing circuitry, including general-purpose processors, application-specific processors, integrated circuits, ASICs (Application Specific Integrated Circuits), a CPU (a Central Processing Unit), conventional circuits, and / or combinations thereof, programmed to perform the described functions. A processor includes transistors and other circuits and is considered to be circuitry or processing circuitry. A processor may also be a programmed processor that executes programs stored in a memory.

[0143] In this specification, a circuitry, unit, or means is hardware that is programmed to realize or performs the described functions, which may be any hardware disclosed herein or any hardware known to be programmed to realize or perform the described functions.

[0144] If the hardware is a processor considered to be a type of circuitry, the circuitry, means, or unit is a combination of the hardware and software used to configure the hardware and / or processor.

[0145] Although several embodiments of the present disclosure have been described above, these embodiments can be embodied in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and modifications are intended to be included in the scope of the inventions and their equivalents as defined in the claims, as well as in the scope and spirit of the inventions.

[0146] (Addendum) The matters described in the above embodiments will be supplemented below.

[0147] (Appendix 1) A program to be executed by a computer having a processor and a memory, the program causing the processor to: A step of accepting a task request from a user; a step of selecting a tool to be used by inputting a first prompt including information about the task and an instruction for executing the task to a generation AI configured to output a task result so that the first tool and the second tool can be used based on information about the task; When the first tool is selected, calculating, by the first tool, estimate information for execution of a task by a second tool on a pay-as-you-go basis; if the second tool is selected, executing the task with the second tool; A program that executes the following.

[0148] (Appendix 2) In the selecting step, if the information about the task includes content about a new task by the user, the first tool is selected. (Appendix 1) The program described in.

[0149] (Appendix 3) In the selecting step, if the information about the task includes the user's approval to perform the task, selecting the second tool, and if the information about the task includes the user's denial to perform the task, not selecting the second tool; The program described in (Appendix 1) to (Appendix 2).

[0150] (Appendix 4) selecting a second tool if, in the selecting step, the information about the task includes approval by the user to perform the task and a credit purchase request is received from the user; The program described in (Appendix 1) to (Appendix 3).

[0151] (Appendix 5) The estimate information includes the maximum estimate for the execution of the task. The program described in (Appendix 1) to (Appendix 4).

[0152] (Appendix 6) The estimate information includes multiple estimates for the execution of the task. The program described in (Appendix 1) to (Appendix 5).

[0153] (Appendix 7) In the calculating step, the first tool analyzes the content of the task, calculates the amount of work based on the analyzed content, and calculates credits associated with the use of the second tool according to the calculated amount of work. The program described in (Appendix 1) to (Appendix 6).

[0154] (Appendix 8) In the selecting step, a second prompt including an instruction sentence instructing the generation AI to use the first tool or the second tool depending on the input information is input, thereby selecting the tool to be used. The program described in (Appendix 1) to (Appendix 7).

[0155] (Appendix 9) A method executed by a computer having a processor and a memory, wherein the processor executes all of the steps performed in any of the inventions according to (Appendix 1) to (Appendix 8).

[0156] (Appendix 10) An information processing device comprising a control unit and a storage unit, wherein the control unit executes all of the steps executed in the invention according to any one of (Appendix 1) to (Appendix 8).

[0157] (Appendix 11) A system comprising means for executing all steps performed in any of the inventions according to (Appendix 1) to (Appendix 8). [Explanation of symbols]

[0158] 1. System 10...User terminal 12...Communication IF 13...Input device 14...Output device 15...Memory 16…Storage 17...Audio processing unit 19...Processor 20...Server 22...Communication IF 23...Input / output interface 25…Memory 26…Storage 29...Processor 30...Generative AI system

Claims

1. A program to be executed by a computer having a processor and a memory, the program causing the processor to: A step of accepting a task request from a user; a step of selecting a tool to be used by inputting a first prompt including information about the task and an instruction for executing the task to a generation AI configured to output a result of the task so that a first tool and a second tool can be used based on information about the task; When the first tool is selected, calculating, by the first tool, estimate information for execution of the task by the second tool, which is pay-as-you-go; If the second tool is selected, executing the task with the second tool; A program that executes the following.

2. In the selecting step, if the information about the task includes content about a new task by the user, the first tool is selected. The program according to claim 1.

3. In the selecting step, if the information about the task includes approval by the user to perform the task, the second tool is selected, and if the information about the task includes denial by the user to perform the task, the second tool is not selected. The program according to claim 1.

4. selecting the second tool if, in the selecting step, the information about the task includes approval of the user to perform the task and a credit purchase request is received from the user; The program according to claim 1.

5. the estimate information includes a maximum estimate for the execution of the task; The program according to claim 1.

6. The estimate information includes multiple patterns of estimates for the execution of the task. The program according to claim 1.

7. In the calculating step, the first tool analyzes the content of the task, calculates the amount of work for the analyzed content, and calculates credits for use of the second tool according to the calculated amount of work. The program according to claim 1.

8. In the selecting step, a second prompt including an instruction sentence instructing the generation AI to use the first tool or the second tool according to input information is input to the generation AI, thereby selecting the tool to be used. The program according to claim 1.

9. A method implemented on a computer having a processor and a memory, wherein the processor performs all of the steps performed in the invention according to any one of claims 1 to 8.

10. 9. An information processing device comprising a control unit and a storage unit, wherein the control unit executes all of the steps executed in the invention according to any one of claims 1 to 8.

11. A system comprising means for executing all steps performed in the invention according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Flat rate power supply method and flat rate power supply service system

    JP2003187322A

  • Program, information processor, and method

    JP2024157014A

  • Estimate presentation device, estimate presentation program, and storage medium

    JP6956912B1

  • System and method for managing token usage amount

    JP2025109191A

  • JPP6956912B