Computer system and task allocation control method
The system optimizes task assignment to LLMs by utilizing a worker management database and task allocation unit to account for LLM characteristics, enhancing task execution efficiency and accuracy.
Patent Information
- Application Number
- JP2024034917
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-07
- Publication Date
- 2025-09-19
AI Technical Summary
Conventional techniques fail to account for the unique characteristics of large-scale language models (LLMs) when assigning tasks, leading to suboptimal task execution results due to the need for multiple iterations with varying prompts.
A computer system that manages worker systems, including LLMs, by using a worker management database to store characteristics and execution logs, and a task allocation unit to select candidates based on these attributes, ensuring optimal task assignment.
Enables effective task allocation to LLMs by considering their characteristics, improving task completion efficiency and accuracy.
Smart Images

Figure 2025136388000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a technique for assigning tasks to workers such as LLMs. [Background technology]
[0002] Techniques described in Patent Documents 1 and 2 are known as techniques for assigning tasks to workers.
[0003] Patent document 1 describes a task allocation server 10 that "assigns a new task to an expert from a group of workers capable of processing the new task via a network, and includes a worker DB 24 that stores worker group information including at least information on tasks that each worker in the worker group has processed in the past, a cluster creation function unit 14 that classifies each worker in the worker group into one of a plurality of clusters based on the worker group information, and a processing result analysis function unit 18 that designates a worker belonging to one of the plurality of clusters as an expert based on the processing result of a test task that is part of the new task."
[0004] Patent document 2 states that "an efficient multidimensional routing algorithm is provided that takes into account decision factors including, but not limited to, agent skills, the channel used for a particular contact, personal preferences, other contact-specific information, the balance of inbound and outbound contacts, and the relative cost of the agent for a particular contact." [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Japanese Patent Application Laid-Open No. 2015-162109 [Patent Document 2] Special Publication No. 2018-527634 Summary of the Invention [Problem to be solved by the invention]
[0006] In recent years, large-scale language models (LLMs) have been gaining attention as a type of worker that can execute tasks. LLMs are natural language processing models built using large amounts of text data and can perform a variety of language processing tasks. LLMs accept prompts containing task content, such as questions written in natural language, understand the meaning of the task content, and generate and output text that serves as a response.
[0007] LLM has its own unique characteristics, such as the token length and whether or not external data is used. Also, when using LLM, the desired results are often not obtained by executing a task once, so the task is executed multiple times while changing the prompt content.
[0008] The conventional techniques do not take into account the characteristics of LLMs as described above. The present invention aims to provide a technique for determining workers to whom tasks are assigned, taking into account the characteristics of LLMs. [Means for solving the problem]
[0009] A representative example of the invention disclosed in the present application is as follows: That is, a computer system includes a processor, a storage device connected to the processor, and a network interface connected to the processor, and is connected to a plurality of worker systems in which workers that execute tasks using computer resources run, and holds worker management information for managing the workers, the worker management information stores data consisting of identification information of the workers and items indicating characteristics of the workers, and in at least one of the worker systems, a large-scale language model runs as the worker and executes a language processing task that receives a prompt, which is a text containing instructions, and outputs a text response, the processor receives a task execution request, and for each of the workers, generates task execution information related to a plurality of tasks that will be executed until a desired result is obtained, identifies candidate workers based on the worker management information and the task execution information, and selects the candidate worker to whom a task is to be assigned from among the candidate workers. [Effects of the Invention]
[0010] According to the present invention, it is possible to determine the worker to whom a task is assigned, taking into account the characteristics of the LLM. Problems, configurations, and effects other than those described above will become apparent from the following description of the embodiments. [Brief explanation of the drawings]
[0011] [Figure 1] FIG. 1 illustrates an example of a system configuration according to a first embodiment. [Figure 2] FIG. 2 is a diagram illustrating an example of a hardware configuration of a computer according to a first embodiment. [Figure 3] FIG. 10 is a diagram illustrating an example of information stored in a worker management DB according to the first embodiment. [Figure 4] FIG. 10 is a diagram illustrating an example of information stored in a worker management DB according to the first embodiment. [Figure 5] FIG. 10 is a diagram illustrating an example of information stored in an execution log DB according to the first embodiment. [Figure 6] 10 is a flowchart illustrating a task allocation process executed by the task allocation management system according to the first embodiment. [Figure 7] FIG. 2 is a diagram illustrating an example of a user interface displayed by the task allocation management system according to the first embodiment. [Figure 8] FIG. 2 is a diagram illustrating an example of a data structure of a task profile according to the first embodiment. [Figure 9] 10 is a flowchart illustrating an example of a worker selection process executed by the task allocation management system according to the first embodiment. [Figure 10] FIG. 2 is a diagram illustrating an example of a task execution profile generated by the task allocation management system according to the first embodiment. [Figure 11] 10 is a flowchart illustrating an example of a worker selection process executed by the task allocation management system according to the second embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0012] Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the present invention should not be construed as being limited to the description of the embodiments shown below. Those skilled in the art will readily understand that the specific configuration can be changed without departing from the spirit or intent of the present invention.
[0013] In the configuration of the invention described below, the same or similar configurations or functions are denoted by the same reference numerals, and redundant explanations will be omitted.
[0014] In this specification, the terms "first," "second," "third," etc. are used to identify components and do not necessarily limit the number or order. [Example]
[0015] Fig. 1 is a diagram illustrating an example of a system configuration according to the first embodiment. Fig. 2 is a diagram illustrating an example of a hardware configuration of a computer according to the first embodiment.
[0016] The system is composed of a task allocation management system 100 and a plurality of worker systems 101. The task allocation management system 100 is connected to the plurality of worker systems 101 via a network 102 such as a LAN (Local Area Network).
[0017] The worker system 101 is a system in which workers that execute tasks run. The worker system 101 may be an on-premise system or a cloud system. The workers are, for example, tools such as search engines and LLMs. In this embodiment, the workers include at least one LLM. The worker system 101 has a task execution management unit 130 that manages the execution of tasks. Note that two or more workers may run in the worker system 101.
[0018] The task allocation management system 100 determines a worker to which a task is to be assigned, and then assigns the task to the determined worker. The task allocation management system 100 is configured, for example, with a computer 200 as shown in Figure 2. The computer 200 has a CPU 201, a memory 202, a storage device 203, a NIC 204, a mouse 205, a keyboard 206, and a display 207.
[0019] The functional units of the task allocation management system 100 are realized by the CPU 201 executing a program loaded into the memory 202. The program and information used by the program are stored in the storage device 203. The CPU 201 reads the program and information from the storage device 203 and loads them into the memory 202. The memory 202 includes a work area that is temporarily used by the program.
[0020] The task allocation management system 100 holds a worker management DB 120 and an execution log DB 121, and also holds a task allocation management unit 110, a profile management unit 111, and an input / output unit 112. Note that with regard to the functional units of the task allocation management system 100, multiple functional units may be combined into one functional unit, or one functional unit may be divided into multiple functional units.
[0021] The worker system 101 is also composed of a computer 200 with a similar hardware configuration.
[0022] 3 and 4 are diagrams illustrating an example of information stored in the worker management DB 120 according to the first embodiment.
[0023] The worker management DB 120 stores a table 300 and a table 400. The table 300 is a table for managing workers. The table 400 is a table for managing the characteristics of external data used by the worker system 101.
[0024] The table 300 stores entries including an ID 301, a worker name 302, a cost 303, a maximum token length 304, training data 305, external data 306, a system type 307, a task type 308, and a throughput 309. One entry exists for one worker. Note that the fields included in an entry are not limited to those described above. An entry may not include any of the above fields, or may include other fields.
[0025] The ID 301 is a field that stores an identifier of the entry. The worker name 302 is a field that stores the name of the worker.
[0026] The cost 303 is a field that stores the cost incurred in executing the task. The maximum token length 304 is a field that stores the token length, which is the size of data that the worker can process.
[0027] The training data 305 is a field that stores the type of training data used to generate the LLM or tool. The external data 306 is a field that stores information about external data that can be used by workers. In this embodiment, the identifier (ID 401) of an entry in the table 400 described later is stored here.
[0028] System type 307 is a field that stores the type of worker system 101 on which the worker runs. Task type 308 is a field that stores the type of task that the worker can execute. Throughput 309 is a field that stores the throughput that indicates the processing performance of the worker.
[0029] The table 400 stores entries each including an ID 401, a data name 402, a data type 403, and a specialty 404. One entry exists for each type of external data. Note that the fields included in an entry are not limited to those described above. An entry may not include any of the above fields, or may include other fields.
[0030] ID 401 is a field that stores an identifier of an entry. Data name 402 is a field that stores the name of the data. Data type 403 is a field that stores the type of external data. Expertise 404 is a field that stores whether the external data has expertise.
[0031] FIG. 5 is a diagram illustrating an example of information stored in the execution log DB 121 according to the first embodiment.
[0032] The execution log DB 121 stores a table 500. The table 500 is a table that stores the execution logs of tasks executed by workers. The table 500 stores entries including an ID 501, a token length 502, a task type 503, open data availability 504, a worker 505, a transition 506, and an evaluation 507. There is one entry for one task. Note that the fields included in an entry are not limited to those described above. An entry may not include any of the above-described fields, or may include other fields.
[0033] ID 501 is a field that stores the identifier of the entry. Token length 502 is a field that stores the token length of a user request that instructs the execution of a task. Task type 503 is a field that stores the type of task. Open data availability 504 is a field that stores information indicating whether open data was available when the task was executed. Worker 505 is a field that stores the identifier (ID 301) of the worker that executed the task. Transition 506 is a field that stores the identifier (ID 501) of the task that is executed after the task corresponding to the entry is executed.
[0034] The evaluation 507 is a field that stores the user's evaluation of the task result. When using LLM, a task is executed multiple times to obtain the desired result. In this case, the evaluation result is stored in the evaluation 507 of the last task, and the evaluation 507 of the intermediate tasks is left blank. If the desired result is obtained in one attempt, the evaluation result is stored in the evaluation 507 of that task.
[0035] FIG. 6 is a flowchart illustrating a task allocation process executed by the task allocation management system 100 according to the first embodiment.
[0036] When the task allocation management system 100 receives access from a user, it starts the task allocation process described below.
[0037] The input / output unit 112 displays the user interface 700 (step S101).
[0038] Here, a description will be given of the user interface 700. Fig. 7 is a diagram showing an example of the user interface 700 displayed by the task assignment management system 100 of the first embodiment.
[0039] The user interface 700 includes setting fields 701 , 702 , 703 , 704 , a chat field 705 , and a rating field 706 .
[0040] Setting fields 701, 702, 703, and 704 are fields for setting worker selection conditions. Setting field 701 is a field for setting an upper limit for costs. Setting field 702 is a field for setting a lower limit for throughput. Setting field 703 is a field for setting whether or not the external data is specialized. Setting field 704 is a field for setting the data type of the external data.
[0041] The chat field 705 is a field for inputting a user request to instruct the execution of a task and for displaying the results of the task execution. A speech bubble 710 corresponds to a user request. The user request is input as text. A speech bubble 711 corresponds to the result of the task execution. The chat field 705 displays the identifier of the worker to whom the task is assigned. The evaluation field 706 is a field for inputting a user evaluation.
[0042] This concludes the description of the user interface 700. Returning to the description of FIG.
[0043] The user operates setting fields 701, 702, 703, and 704, and also inputs the first user request in chat field 705.
[0044] When the input / output unit 112 receives a user request for the first time (step S102), it calls the task allocation management unit 110. The first user request includes the values set in the setting fields 701, 702, 703, and 704.
[0045] The task assignment manager 110 generates a task profile 800 based on the user request (step S103).
[0046] Here, we will explain the task profile 800. Fig. 8 is a diagram showing an example of the data structure of the task profile 800 according to the first embodiment. The task profile 800 includes a token length 801, a task type 802, a cost 803, a throughput 804, an expertise 805, and an open data availability 806.
[0047] Token length 801 stores the token length in the user request (text). Task type 802 is a field that stores the type of task. Cost 803 is a field that stores conditions related to costs. Throughput 804 is a field that stores conditions related to the throughput of the task. Expertise 805 and open data availability 806 are fields that store conditions related to external data.
[0048] 8 shows an example of values extracted from a user request. A token length calculated from the text written in the speech bubble 710 is set in the token length 801. A task type extracted by text analysis of the text written in the speech bubble 710 is set in the task type 802. The values in the setting fields 701, 702, 703, and 704 of the user interface 700 are set in the cost 803, throughput 804, expertise 805, and open data availability 806. Note that the conditions related to cost, throughput, and external data may be included in the text written in the speech bubble 710. In this case, the task assignment management unit 110 extracts each condition by performing text analysis.
[0049] The task allocation manager 110 executes a worker selection process (step S104), the details of which will be described later.
[0050] After executing the worker selection process, the task allocation management unit 110 transmits a user request to the selected worker (step S105).
[0051] The task allocation management unit 110 transmits a user request according to the worker to whom the task is assigned. If the worker is an LLM, the task allocation management unit 110 generates a prompt including the type of task to be performed, task details, reference information, etc., and transmits the prompt as a user request. If the worker is a tool such as a search engine, the task allocation management unit 110 generates a predetermined query and transmits the query as a user request.
[0052] The task allocation manager 110 updates the execution log DB 121 (step S106). Specifically, the following process is executed.
[0053] (S106-1) The task assignment management unit 110 adds an entry to the execution log DB 121 and sets values for the ID 501, the token length 502, the task type 503, the open data availability 504, and the worker 505. The token length 502, the task type 503, and the open data availability 504 are set with values included in the task profile 800. The worker 505 is set with the ID of the worker selected in the worker selection process.
[0054] (S106-2) The task assignment management unit 110 determines whether or not the ID of another task is stored in the work area.
[0055] (S106-3) If the ID of another task is not recorded in the work area, the task allocation management unit 110 records the ID of the added entry in the work area and ends the processing of S106.
[0056] (S106-4) If the ID of another task is recorded in the work area, the task allocation management unit 110 sets the ID of the added entry to the transition 506 of the entry corresponding to that ID, records the ID of the added entry in the work area, and ends the processing of S106.
[0057] When the task assignment management unit 110 acquires the task execution results from the workers, it instructs the input / output unit 112 to display the task execution results. The input / output unit 112 displays the task execution results on the user interface 700 (step S107).
[0058] The input / output unit 112 determines whether the process is completed (step S108). Specifically, the input / output unit 112 determines whether it has received an input from the user, a user request, or an evaluation result.
[0059] If a user request is received, the input / output unit 112 generates a task profile 800 (step S109), and then returns to step S 105. The user request is sent to the worker selected in the worker selection process.
[0060] If the evaluation result is received, the input / output unit 112 determines that the process is finished, sets the evaluation result in the evaluation 507 of the entry added in step S105, and then finishes the task allocation process.
[0061] 9 is a flowchart illustrating an example of a worker selection process executed by the task assignment management system 100 according to the first embodiment. FIG. 10 is a diagram illustrating an example of a task execution profile generated by the task assignment management system 100 according to the first embodiment.
[0062] The task assignment management unit 110 generates a task execution profile (step S201). Specifically, the following process is executed.
[0063] (S201-1) The task allocation management unit 110 selects one worker.
[0064] (S201-2) The task allocation management unit 110 acquires the execution log of the selected worker from the execution log DB 121.
[0065] (S201-3) The task allocation management unit 110 aggregates execution logs of tasks executed until a user evaluation is obtained, and generates a task execution profile.
[0066] For example, when "Worker 2" is selected, a task execution profile is generated that includes multiple execution logs ordered as shown in Figure 10. If multiple task groups are executed before a user evaluation is obtained, the task execution profile will include multiple execution log groups corresponding to the task groups.
[0067] (S201-4) The task allocation management unit 110 calculates the number of execution logs included in the task execution profile as the number of task executions.
[0068] For example, if "Worker 2" is selected, the task has been executed three times before the user evaluation was obtained, and therefore the task execution count is calculated as "3." If the task execution profile includes multiple task groups, the task assignment management unit 110 calculates the average value of the task execution counts calculated for each task group.
[0069] (S201-5) The task allocation management unit 110 associates the worker, the task execution profile, and the number of times the task has been executed, and stores them in the work area.
[0070] (S201-6) The task allocation management unit 110 determines whether or not processing has been completed for all workers. If processing has not been completed for all workers, the task allocation management unit 110 returns to S201-1. If processing has been completed for all workers, the task allocation management unit 110 ends the processing of S201.
[0071] The task allocation management unit 110 identifies candidate workers to whom the task can be allocated (step S202) based on the task profile 800, the task execution profile, and the worker management DB 120. For example, candidate workers are identified from the following perspectives.
[0072] (1) Security If the use of open data is prohibited, workers who use external data whose data type 403 is "closed" are identified. The task assignment management unit 110 refers to the task execution profile, and if the profile contains an execution log of a task that uses external data whose data type is "open," it excludes the worker from the selection targets.
[0073] (2) Processing performance If a throughput is specified, workers whose throughput is greater than the specified throughput are identified. Also, workers whose maximum token length 304 is greater than the token length of the user request are identified. Note that the task allocation management unit 110 refers to the task execution profile, and if the execution log of a task whose token length is greater than the specified token length is included, the task allocation management unit 110 excludes the worker from selection candidates.
[0074] (3) Expertise If the expertise of the external data is specified, a worker who uses the external data with the specified expertise is identified. Note that the task assignment management unit 110 refers to the task execution profile, and if the execution log of a task that does not use the external data with the specified expertise is included, the task assignment management unit 110 excludes the worker from the selection candidates.
[0075] The task allocation management unit 110 determines whether there is one candidate worker (step S203).
[0076] If there is one candidate worker, the task assignment management unit 110 determines that candidate worker as the worker to which the task is assigned (step S204).
[0077] If there are multiple candidate workers, the task allocation management unit 110 refers to the execution log DB 121 and calculates the evaluation index of each candidate worker (step S205). Specifically, the following process is executed.
[0078] (S205-1) The task allocation management unit 110 refers to the table 300 and obtains the value of the cost 303 of the entry corresponding to the candidate worker.
[0079] (S205-2) The task allocation management unit 110 calculates an evaluation index for each candidate worker based on the number of task executions and the cost of each candidate worker. For example, the following calculation method is possible.
[0080] (Method 1) The task allocation management unit 110 calculates an evaluation index by multiplying the number of executions of the task by the cost of each candidate worker.
[0081] (Method 2) The task allocation management unit 110 multiplies the number of times the task is executed by each candidate worker and the cost to calculate a first index. Based on the processing result of S204, the task allocation management unit 110 compares the number of times the task is executed by each candidate worker to identify the maximum number of times the task is executed, and calculates a second index by dividing the number of times the task is executed by each candidate worker by the maximum value. The task allocation management unit 110 compares the first indexes of each candidate worker to identify the maximum value of the first index, and calculates a third index by dividing the first index of each candidate worker by the maximum value. The task allocation management unit 110 calculates the sum of the second index and the third index as the evaluation index.
[0082] The evaluation index may be corrected based on the user's evaluation results. For example, a correction method may be used in which the evaluation index of a worker whose task group has a ratio of "good" evaluation 507 of 70% or more is multiplied by a coefficient.
[0083] The task allocation management unit 110 determines a worker based on the evaluation index (step S206). For example, the task allocation management unit 110 determines the worker with the smallest evaluation index as the worker to whom the task is to be assigned.
[0084] According to the first embodiment, it is possible to select a worker to whom a task is assigned, taking into consideration the characteristics of the LLM. In particular, by using information (task execution profile) about the group of tasks executed using the LLM before obtaining a user evaluation, it is possible to select a worker, taking into consideration additional tasks that will arise when a task is assigned to a worker. [Example]
[0085] In the second embodiment, the method of generating a task execution profile is different from that in the first embodiment. The second embodiment will be described below, focusing on the differences from the first embodiment.
[0086] The system configuration of the second embodiment is the same as that of the first embodiment. The functional configuration of the task allocation management system 100 of the second embodiment is the same as that of the first embodiment. The task allocation process of the second embodiment is the same as that of the first embodiment.
[0087] The worker selection process of the second embodiment differs in part from the worker selection process of the first embodiment in that the task allocation management system 100 of the second embodiment executes a flowchart of the worker selection process of the second embodiment.
[0088] The task allocation management unit 110 calculates the relative task execution count (step S251). Specifically, the following process is executed.
[0089] (S251-1) The task allocation management unit 110 evaluates the processing capability of each worker for a task based on the task profile 800. For example, the task allocation management unit 110 ranks the workers in descending order of maximum token length 304.
[0090] (S251-2) The task allocation management unit 110 calculates the relative task execution count based on the ranking of the worker's processing capability for the task. For example, the task allocation management unit 110 may calculate the ranking as the relative task execution count.
[0091] It is expected that the higher the processing performance, the fewer the number of task executions required to obtain the desired results. Therefore, in this embodiment, the number of task executions is estimated based on the processing performance. In this way, the number of task executions by a worker can be estimated without using the task execution log.
[0092] (S251-3) The task allocation management unit 110 associates the worker with the relative task execution count and stores them in the work area.
[0093] The task allocation management unit 110 generates a task execution profile based on the relative task execution count and the task profile 800 (step S252). Specifically, the following process is executed.
[0094] (S252-1) The task allocation management unit 110 selects a worker.
[0095] (S252-2) The task allocation management unit 110 copies the task profile 800. Note that it is also possible to copy only specific fields, such as the token length and task type. The task allocation management unit 110 adds a field to the copied task profile 800 and sets the relative task execution count in that field, thereby generating a task execution profile.
[0096] The processes from step S202 to step S204 and step S206 are the same as those in embodiment 1. The process in step S205 is partially different. Specifically, the task execution count is replaced with the relative task execution count.
[0097] The present invention is not limited to the above-described embodiments, but includes various modifications. For example, the above-described embodiments are provided to explain the present invention in detail, and the present invention is not necessarily limited to those including all of the described configurations. Furthermore, some of the configurations of each embodiment can be added to, deleted from, or replaced with other configurations.
[0098] 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, solid-state drives (SSDs), optical disks, magneto-optical disks, CD-Rs, magnetic tapes, non-volatile memory cards, and ROMs.
[0099] 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, Python, and Java (registered trademark).
[0100] 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.
[0101] In the above-described embodiment, the control lines and information lines are those that are considered necessary for the explanation, and not all control lines and information lines are necessarily shown in the product. All components may be interconnected. [Explanation of symbols]
[0102] 100 Task Allocation Management System 101 Worker System 102 Network 110 Task Allocation Management Unit 111 Profile Management Department 112 Input / output section 120 Worker Management DB 121 Execution Log DB 130 Task Execution Management Unit 200 calculator 201 CPU 202 memory 203 Storage Device 204 NIC 205 Mouse 206 keyboard 207 Display 800 Task Profiles
Claims
1. 1. A computer system comprising: a processor, a storage device connected to the processor, and a network interface connected to the processor; Connecting to a plurality of worker systems in which workers that execute tasks using computer resources are running, retaining worker management information for managing the worker; The worker management information stores data consisting of identification information of the worker and items indicating characteristics of the worker, In at least one of the worker systems, a large-scale language model operates as the worker and performs a language processing task of receiving a prompt, which is a text describing an instruction, and outputting a text as a response; The processor: Accepts a task execution request, generating task execution information for each worker relating to a plurality of tasks to be performed to achieve a desired result; Identifying candidate workers based on the worker management information and the task execution information; A computer system comprising: a computer that selects the worker to whom a task is to be assigned from among the candidate workers;
2. 2. The computer system of claim 1, The items indicating the characteristics of the worker include at least a cost involved in performing the task; The processor: Calculating the number of executions of the task that will be performed to achieve the desired result for the candidate worker; Calculating an evaluation index for the candidate worker based on the cost and the number of executions of the task; A computer system comprising: a computer that selects the worker to whom a task is to be assigned from among the candidate workers based on the evaluation index.
3. 3. The computer system according to claim 2, the task execution request includes conditions regarding the characteristics of the worker to be used; A computer system characterized in that the processor refers to the worker management information and the task execution information to identify the candidate workers that meet the conditions included in the task execution request.
4. 4. The computer system according to claim 3, A computer system characterized in that, when a request to execute a new task is received after the worker is selected, the processor assigns the task to the selected worker.
5. 4. The computer system according to claim 3, maintaining execution log information that stores an execution log of the task executed by the worker; In the execution log information, the execution logs of a plurality of tasks executed until a desired result is obtained are associated and managed, The processor generates the task execution information for each of the workers by referring to the execution log information.
6. 6. The computer system according to claim 5, the execution log of the last executed task among the plurality of tasks executed until a desired result is obtained includes a user evaluation of the worker to whom the task was assigned; The processor corrects the evaluation index based on the user evaluation.
7. 4. The computer system according to claim 3, The processor: determining a ranking of the processing performance of each worker for a task requested to be executed by referring to the worker management information; A computer system that calculates the number of executions of the task by performing an operation using the ranking.
8. 4. The computer system according to claim 3, A computer system characterized in that the task execution request includes as the conditions at least one of the size of the data in the task, whether or not the worker uses external data, the type of the external data, and the processing performance of the worker.
9. A task allocation control method executed by a computer system, comprising: The computer system a processor, a storage device connected to the processor, and a network interface connected to the processor; Connecting to a plurality of worker systems in which workers that execute tasks using computer resources are running, retaining worker management information for managing the worker; The worker management information stores data consisting of identification information of the worker and items indicating characteristics of the worker, In at least one of the worker systems, a large-scale language model operates as the worker and performs a language processing task of receiving a prompt, which is a text describing an instruction, and outputting a text as a response; The task allocation control method includes: a first step in which the processor receives a request to execute a task; a second step in which the processor generates, for each worker, task execution information relating to a plurality of tasks performed to achieve a desired result; a third step in which the processor identifies candidate workers based on the worker management information and the task execution information; a fourth step in which the processor selects the worker to which the task is to be assigned from among the candidate workers.
10. 10. The task allocation control method according to claim 9, The items indicating the characteristics of the worker include at least a cost involved in performing the task; the second step includes a step of the processor calculating, for each worker, the number of times a task needs to be executed to achieve a desired result; The fourth step includes: a fifth step in which the processor calculates an evaluation index for the candidate worker based on the cost and the number of executions of the task; A task allocation control method comprising: a sixth step in which the processor selects the worker to which the task is to be assigned from among the candidate workers based on the evaluation index.
11. 11. The task allocation control method according to claim 10, the task execution request includes conditions regarding the characteristics of the worker to be used; A task allocation control method characterized in that the third step includes a step in which the processor refers to the worker management information and the task execution information to identify the candidate worker that meets the conditions included in the task execution request.
12. 12. The task allocation control method according to claim 11, the computer system holds execution log information that stores execution logs of tasks executed by the workers; In the execution log information, the execution logs of a plurality of tasks executed until a desired result is obtained are associated and managed, The task allocation control method, wherein the second step includes a step in which the processor references the execution log information and generates the task execution information.
13. 13. The task allocation control method according to claim 12, the execution log of the last executed task among the plurality of tasks executed until a desired result is obtained includes a user evaluation of the worker to whom the task was assigned; The task allocation control method is characterized in that the fifth step includes a step in which the processor corrects the evaluation index based on the user evaluation.
14. 12. The task allocation control method according to claim 11, The second step includes: a step of the processor referring to the worker management information and determining a ranking of the processing performance of each of the workers for a task requested to be executed; and a step in which the processor calculates the number of times the task is executed by performing an operation using the ranking.
15. 12. The task allocation control method according to claim 11, A task allocation control method characterized in that the task execution request includes as the conditions at least one of the size of the data in the task, whether or not the worker uses external data, the type of the external data, and the processing performance of the worker.
Citation Information
Patent Citations
Task assignment server, task assignment method, and program
JP2015162109A
A multidimensional method for making agent assignments
JP2018527634A