Development support system and development support program

The development support system enables users to create and manage prompt nodes with selectable large-scale language models, facilitating collaborative development and refining output results, addressing the limitations of existing systems in managing prompt relationships and output results.

JP2025143731AActive Publication Date: 2025-10-02CHIPPER CO LTD

Patent Information

Application Number
JP2024043116
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-03-19
Publication Date
2025-10-02
Estimated Expiration
2044-03-19

AI Technical Summary

Technical Problem

Existing development support systems fail to allow users to freely create processing units (prompt nodes) and edges connecting them, select large-scale language models for each node, and display prompts and output results in a list, making it difficult to manage relationships between prompts and their corresponding output results effectively.

Method used

A development support system equipped with a workspace creation unit and a large-scale language model input/output unit, enabling users to create prompt nodes with a large-scale language model selection field, a prompt reception field, and an output result display field, allowing for the selection of language models, inputting prompts, and displaying output results.

Benefits of technology

Facilitates collaborative development using generative AI by allowing multiple users to share a workspace, easily find optimal prompts, and refine output results through fine-tuning, enhancing the management of prompt relationships and output results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025143731000001_ABST
    Figure 2025143731000001_ABST
Patent Text Reader

Abstract

To provide a development support system allowing users to freely create nodes and edges on a workspace, the development support system allowing selection of a large-scale language model for every prompt node, and enabling prompt provision (transmission) and acquisition of output results on a per-node basis.SOLUTION: A development support system 1 includes a workspace creation unit and a large-scale language model input / output unit, where a prompt node created on the workspace includes a large-scale language model selection field, a prompt reception field, and an output result display field for displaying an output to a prompt. Each prompt node also enables provision of prompts to the large-scale language model and acquisition of results, and the prompt node displays the output results.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a development support system and a development support program. [Background technology]

[0002] So-called generative AI technology is becoming widely used. It is not only used by experts, but also by the general public, as in ChatGPT (registered trademark).

[0003] The development of software that uses generative AI is also progressing. However, when developing software using generative AI, if there are many prompts and their corresponding output results, it is not easy to find the problematic prompts or the optimal prompts (or the corresponding output results). Therefore, there is a demand for development support tools that make it easy to see and manage the relationships between prompts.

[0004] Patent Document 1 discloses a program development support device that displays nodes indicating groups of processes as objects and creates a flow definition indicating the node configuration in a program based on user operations on the objects. Furthermore, Non-Patent Documents 1 and 2 disclose development tools designed to streamline the entire development cycle of AI applications that operate using large-scale language models (LLMs). Furthermore, Non-Patent Document 3 discloses an application that has an AI assistance function that executes various actions based on elements created by a user. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] Patent No. 6801086 [Non-patent literature]

[0006] [Non-Patent Document 1] Co-author, "Prompt Flow Overview", Flow Creation Page, [online], [Retrieved February 24, 2024], Internet <URL:https: / / learn.microsoft.com / ja-jp / azure / machine-learning / prompt-flow / get-started-prompt-flow> [Non-patent document 2] Co-author, “What is Azure Machine Learning Prompt Flow?”, [online], [Retrieved February 24, 2024], Internet <URL:https: / / learn.microsoft.com / ja-jp / azure / machine-learning / prompt-flow / overview-what-is-prompt-flow> [Non-patent document 3] Goodpatch Customer Success|Asako, “How to use Strap AI (Beta)”, [online], [Retrieved February 24, 2024], Internet <URL:https: / / goodpatch.zendesk.com / hc / ja / articles / 17210796403481-Strap-AI-Beta-%E3%81%AE%E3%81%94%E5%88%A9%E7%94%A8%E6%96%B9%E6%B3%95%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6>

[0007] However, Patent Document 1 does not relate to generative AI (large-scale language models), and Non-Patent Documents 1 and 2 visualize programs, but do not display prompts or output results in the visualized view. Furthermore, Non-Patent Document 3 also does not display a list of prompts or output results for prompts in tags or elements into which text has been input. Furthermore, none of the documents allows selecting a large-scale language model for each view or tag. Summary of the Invention [Problem to be solved by the invention]

[0008] The problem we aim to solve is the lack of a development support system that allows users to freely create processing units (prompt nodes) and the edges that connect them on a workspace, allows users to select the large-scale language model they want to use at each prompt node, and then provides prompts and obtains output results, and displays these prompts and output results in a list. [Means for solving the problem]

[0009] The development support system of the present invention is most characterized by being equipped with a workspace creation unit and a large-scale language model input / output unit. Here, the prompt node created in the workspace by the workspace creation unit includes a large-scale language model selection field for accepting the selection of a large-scale language model, a prompt reception field for accepting a prompt, and an output result display field for displaying an output result of the large-scale language model in response to the prompt. Also, the large-scale language model input / output unit provides the prompt as an input to the large-scale language model and obtains the resulting output.

[0010] The present invention has been made in view of the above problems, and employs the following means, for example. That is, a development support system comprising a workspace creation unit and a large-scale language model input / output unit, wherein the workspace creation unit: a workspace display section that displays a workspace; a node creation unit that creates a prompt node on the workspace in response to a user operation; an edge creating unit that creates an edge connecting one prompt node to another prompt node; The prompt node is a large-scale language model selection field for accepting selection of a large-scale language model; a prompt reception field for receiving a prompt; an output result display field that displays an output result of the large-scale language model in response to the prompt, The large-scale language model input / output unit a large-scale language model acquisition unit that acquires the selected large-scale language model; a prompt provider that provides the prompt as an input to the large-scale language model; and an output result acquisition unit that acquires an output result of the large-scale language model in response to the prompt. [Effects of the Invention]

[0011] The development support system 1 of the present invention allows multiple people to share a workspace, allowing multiple users to collaborate on development using generative AI, for example. It also has the advantage of helping users easily find the optimal prompt and allowing for fine tuning of the prompt. [Brief explanation of the drawings]

[0012] [Figure 1] 1 is a diagram showing a screen (workspace) that the development support system 1 displays on the user terminal 20. FIG. [Figure 2] FIG. 10 illustrates a prompt node. [Figure 3] FIG. 10 is a diagram showing a prompt (child node) new creation screen. [Figure 4] FIG. 10 is a diagram showing a new prompt (grandchild node) creation screen. [Figure 5] FIG. 10 is a diagram showing an edge creation screen. [Figure 6] FIG. 10 is a diagram showing a prompt duplication (duplication of first child node) screen. [Figure 7] FIG. 10 is a diagram showing a prompt duplication (duplication of second child node) screen. [Figure 8]This is a diagram showing the workspace after prompt new creation and duplication. [Figure 9] FIG. 10 is a diagram showing a workspace (part 1) including a comment display field. [Figure 10] FIG. 10 is a diagram showing a workspace (part 2) including a comment display field. [Figure 11] FIG. 10 is a diagram showing a workspace (part 3) including a comment display field. [Figure 12] FIG. 1 illustrates a workspace. [Figure 13] 10 is a flowchart showing a workspace creation process. [Figure 14] 10 is a flowchart showing a large-scale language model input / output process. [Figure 15] 10 is a flowchart showing a prompt execution process. [Figure 16] FIG. 1 is a diagram showing a network configuration of a development support system 1. [Figure 17] FIG. 2 is a hardware configuration diagram of the server 10. [Figure 18] FIG. 2 is a hardware configuration diagram of a user terminal 20. DETAILED DESCRIPTION OF THE INVENTION

[0013] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be described with reference to the accompanying drawings. In the following embodiments, the same or corresponding parts are designated by the same reference numerals, and the description thereof may be omitted as appropriate. The drawings used below are used to explain the present embodiment, and may differ from the actual device configuration, user interface (UI), data structure, etc.

[0014] (Outline of the embodiment) The outline of this embodiment will be explained with reference to FIG. FIG. 1 shows an example of a screen (workspace) displayed on a user terminal 20 by a system (hereinafter referred to as "development support system 1") that performs processing according to a development support program P1 of this embodiment.

[0015] The user can create a prompt node on the workspace. The prompt node includes a large-scale language model selection field for accepting the selection of a large-scale language model, a prompt reception field for accepting a prompt, and an output result display field for displaying the output result from the large-scale language model (in response to the prompt).

[0016] When a user selects a large-scale language model in the large-scale language model receiving section, enters a prompt in the prompt receiving field, and presses the execute button, the processor acquires the selected large-scale language model, provides the prompt as input to the large-scale language model, and performs processing to acquire the output result of the large-scale language model in response to the prompt (large-scale language model input / output processing).The processor also displays this output result in the output result display field.

[0017] Each prompt node is connected by an edge, and the processor grasps the relationship between prompt nodes (generational relationships). When the user presses the re-execute button for a prompt node in a later generation (for example, a child node of a parent node), the processor obtains the route (path) from the first prompt node to that prompt node (determined by the user or in advance), and performs the large-scale language model input / output processing described above for each prompt node on that route, starting from the first (sequential input / output processing).

[0018] In addition, users can leave comments on any prompt node.

[0019] (Details of the embodiment) The development support system 1 according to this embodiment will be described in detail below. The development support system 1 includes a computer having a development support program P1, and provides users with an online system that allows them to manage development using a generative AI. That is, in the development support system 1, information processing by the development support program P1 is specifically realized using hardware resources. The following describes the components that make up the development support system 1: 1. user interface, 2. program processing, 3. data, and 4. hardware configuration.

[0020] (Definition of terms) Here we define some terms. "Generative AI" is artificial intelligence (AI) that can generate text, images, etc. based on given information. Generative AI includes large-scale language models. A "large-scale language model" is a natural language model that is constructed with large amounts of computation, data, and parameters. For simplicity, a large-scale language model is sometimes referred to as an LLM (Large Language Model). In this embodiment, the large-scale language model may input or output files other than text, such as various files such as document files, image files, or audio files. There are no particular restrictions as long as the following objectives can be achieved, but large-scale language models that handle data volumes exceeding 1 billion words are known (e.g., BERT). Many large-scale language models with more than 100 million parameters are also known, and some have more than 100 billion parameters (e.g., GPT-3). Specific examples of large-scale language models include BERT, GPT (Generative Pretrained Transformer)-3 (registered trademark), GPT-4 (registered trademark), PaLM (Pathways Language Model) (registered trademark), LLaMA (Large Language Model Meta AI), and NEMO LLM. A "workspace" is the computer space where a processor creates and draws the nodes and edges described below. It is also called a whiteboard or canvas. The workspace includes space for drawing prompt nodes and edges, as well as a comment section. A "node" is a functional unit displayed on the workspace. It may also be called a block or an object. In this embodiment, a prompt node has a box-like shape on the workspace. An "edge" is a functional unit that connects prompt nodes on a workspace. In this embodiment, an edge has a line shape on the workspace.

[0021] "Providing a prompt (providing a prompt as input to a large-scale language model)" means providing a prompt entered in a prompt reception field as input to a large-scale language model, and includes sending the prompt to the API of the large-scale language model. Furthermore, providing a prompt is not limited to providing the prompt entered in the prompt reception field as is, but may be provided after the processor 122 or the like processes the prompt entered in the prompt reception field (for example, preprocessing). The "output result" is a result that includes all or part of the output from a large-scale language model. It does not have to be the output from the large-scale language model itself, and may be processed by the server 10 or the generation AI server 30. The "large-scale language model input / output process" is a process of obtaining a selected large-scale language model, providing a prompt as input to the large-scale language model, and obtaining the output result of the large-scale language model in response to the prompt.

[0022] In addition to the above, terms such as "parent node," "child node," and "grandchild node" are sometimes used to represent node generations. If a node of a certain generation (first generation) is called a parent node, the node of the next generation (second generation) is called a child node, and the node of the generation after that (third generation) is called a grandchild node. Also, for example, when there are first-generation, second-generation, and third-generation nodes, the first-generation nodes may be referred to as old nodes or upper-level nodes, and the third-generation nodes may be referred to as new nodes or lower-level nodes.

[0023] In the following, when "XX processing" is mentioned, it means that the computer processor executes processing based on the "XX" program stored in the program storage unit. In this paragraph, the same word will be substituted for "XX". In other words, the "XX" program is a program that causes a computer to function as "XX" means by executing "XX" processing. In this case, the control unit (computer) equipped with the processor also functions as the "XX" unit (or "XX" device). In this case, the "XX" part means that "XX" processing is executed based on the "XX" program.

[0024] For example, the development support program P1 is a program that causes a computer to function as a development support means by executing a development support process. At this time, the control unit 12 of the computer including the processor 122 functions as a development support unit 130 (or a development support device).

[0025] In the development support system 1, each terminal (computer) such as the user terminal 20 has a processor, but when simply referring to a processor, it refers to the processor that performs processing by the development support program P1, which in this embodiment is the processor 122 of the server 10.

[0026] When the server 10 executes the development support processing, the processor refers to the processor 122 of the server 10, but when the development support system 1 does not use a network and is completed in the user terminal 20, the processor refers to the processor 222 of the user terminal 20.

[0027] 1. User Interface (UI) First, the interface that the development support system 1 of this embodiment displays on the user terminal 20 will be described with reference to the drawings. The interface described below is a simplified version of what the processor 122 causes the browser of the user terminal 20 to display.

[0028] In addition, only icons related to functions necessary for the explanation will be displayed, and other well-known icons will be omitted.

[0029] In the following, for simplicity, "the processor 122 of the server 10 receives a request from the user terminal 20 and returns data to be displayed on the browser of the terminal" may be described as "the processor 122 displays (or makes the processor 122 display) on the browser of the terminal" or "the processor 122 displays (or makes the processor 122 display)." Similarly, "the processor 122 of the server 10 causes the data storage unit 14b of the storage unit 14 to store the data" may be expressed as "the processor stores (the data)."

[0030] FIG. 2 is a diagram illustrating a prompt node. The prompt node UI-10P of this embodiment has a prompt input form as shown in FIG.

[0031] As shown in FIG. 2, the processor 122 displays a prompt name input field UI-101, a large-scale language model selection field UI-102, a prompt reception field UI-103, a processing button UI-104, a variable button UI-105, an add variable button UI-106, an output result display field UI-107, a new button UI-108, and a duplicate button UI-109 in the prompt node UI-10P.

[0032] The prompt name input field UI-101 is a text box where the user can enter the prompt name (node ​​name) of the prompt node. Examples of prompt names that are convenient for management include "Prompt 1," "Prompt 2-1," and "Prompt 2-2."

[0033] The large-scale language model selection field UI-102 allows the user to select a large-scale language model to be selected at the prompt node. In this embodiment, the processor 122 displays large-scale language models such as GPT-3 (registered trademark), GPT-4 (registered trademark), and PaLM (registered trademark) in a pull-down menu.

[0034] Here, by providing each prompt node with a large-scale language model selection field UI-102, it is possible to use and consider a different large-scale language model for each prompt node. In other words, the optimal large-scale language model can be selected for each prompt node, enabling flexible prompt creation, which allows the output results at each prompt node to be refined. As a result, the final results obtained through processing by a series of prompt nodes can be more easily improved.

[0035] The prompt reception field UI-103 is a text box in which the user inputs a prompt for the generated AI.

[0036] The process button UI-104 is a button for executing the process at the prompt node. As shown in FIG. 2, the processor 122 displays a comment button, an execute button, a re-execute button, and a delete button (from the left in FIG. 2) as the processing buttons UI-104.

[0037] The comment button is a button for users to create comments. Users can write their comments in the comment display field UI-30, which will be described later.

[0038] Both the Run button and the Rerun button are buttons for sending the prompt entered in the prompt reception field UI-103 to the (selected) large-scale language model. That is, the processor 122 of this embodiment accepts a user's press of the execute button or re-execute button, and transmits the prompt entered in the prompt reception field UI-103 to the API of the large-scale language model selected in the large-scale language model selection field UI-102. The processor 122 displays the output result from the large-scale language model in response to the prompt in an output result display field UI-107, which will be described later.

[0039] The difference between the Execute button and the Re-Execute button is whether or not the upper prompt node is changed when multiple prompt nodes are connected. For example, the execute button sends a prompt and receives output results only from the prompt node where the execute button is pressed. The retry button sends prompts and receives output results at each prompt node from the first prompt node to the prompt node where the retry button was pressed. The retry button is involved in the prompt execution process, which will be described later.

[0040] A delete button is a button that deletes the prompt node that contains the delete button.

[0041] The variable button UI-105 is a button for setting variables. Here, the variables will be explained.

[0042] If the prompt acceptor UI-103 contains a phrase enclosed in curly braces ("{" and "}"), the processor 122 retrieves and stores the phrase as a variable in that prompt node. For example, suppose the prompt written in the prompt reception field UI-103 is "Please tell us the Western dish that uses {ingredient name 1} and {ingredient name 2} as ingredients. Also, please tell us the pre-processing method for {ingredient name 1}." The user can also input "chickpeas" as the phrase corresponding to variable 1 and "lentils" as the phrase corresponding to variable 2 (not shown). At this time, processor 122 sets the first character string enclosed in curly brackets as variable 1 and stores it as variable 1 (ingredient name 1) = "chickpeas". Similarly, processor 122 sets the second character string enclosed in curly brackets as variable 2 and stores it as variable 2 (ingredient name 2) = "lentils". The processor 122 recognizes that if the character strings enclosed in curly braces are the same, they are the same variable.

[0043] Also in this example, when the user presses the variable 1 button shown in FIG. 2, processor 122 displays a text box in which "chickpea" is entered. The user can edit this text box. If the text content is changed from "chickpeas" to "rice", the content of variable 1 will become "rice". So the above prompt would be "What Western dish uses {rice} and {lentils} as ingredients? Also, what is the method for preparing the {rice}?"

[0044] The variable addition button UI-106 is a button for adding missing variable buttons UI-105 when a predetermined number of variables (four in FIG. 2) or more have been set.

[0045] The output result display field UI-107 is a display unit that displays the output result from the large-scale language model in response to the prompt entered in the prompt reception field UI-103.

[0046] The New button UI-108 is a button that adds a new prompt node below (on the workspace display) the current prompt node. In other words, if the current prompt node is the parent node and the new prompt node is the child node, upon receiving a user input of the New button UI-108, the processor 122 displays a new prompt node (child node) in the workspace and connects the current prompt node (parent node) to the newly created prompt node (child node) with an edge UI-20. A specific example will be described later. Here, the processor 122 creates a new prompt node (child node) that inherits only the large-scale language model selected in the large-scale language model selection field UI-102. However, this large-scale language model can be changed (the same applies below to the fact that it can be changed when information is inherited).

[0047] The duplicate button UI-109 is a button for duplicating the current prompt node. In other words, if the current prompt node is the first child node (first child node) and the new prompt node is the second child node (second child node), upon receiving an input from the user using the duplicate button UI-109, the processor 122 displays a new prompt node (second child node) connected to the same parent node in the workspace, and connects the parent node and the newly created prompt node (second child node) with an edge UI-20. A specific example will be described later. Here, the processor 122 creates a new prompt node that inherits the large-scale language model selected in the large-scale language model selection field UI-102 and the prompt entered in the prompt reception field UI-103 (the output result display field UI-107 becomes blank).

[0048] Although FIG. 2 illustrates text boxes as the prompt reception field UI-103 and the output result display field UI-107, the present invention is not limited to this. For example, the prompt reception field UI-103 may be configured to accept input other than text, such as image files, audio files, etc. Similarly, the output result display field UI-107 may be configured to display other than text, such as image files, audio files, etc.

[0049] FIG. 3 is a diagram showing a prompt (child node) new creation screen. As shown in Figure 3, when the user presses the New button on the parent node UI-11, the processor creates a child node UI-12 below the parent node UI-11 on the workspace and connects the parent node UI-11 and the child node UI-12 with an edge UI-20.

[0050] Here, the positional relationship of nodes on the workspace will be described. In principle, when there are two nodes that are not directly connected by an edge, the processor 122 recognizes the node on the upper side of the workspace as the upper node and the node on the lower side as the lower node.

[0051] FIG. 4 shows a screen for creating a new prompt (grandchild prompt node). As in the case of Figure 3, when the user presses the New button on child node UI-12, processor 122 creates grandchild node UI-13 below child node UI-12 on the workspace and connects child node UI-12 and grandchild node UI-13 with edge UI-20.

[0052] The names parent node, child node, and grandchild node are used for convenience of explanation, and it does not necessarily mean that a certain node will always be a parent node. For example, in FIG. 3, the node of UI-12 is a child node of the node of UI-11, but at the same time, the node of UI-12 is a parent node of the node of UI-13.

[0053] FIG. 5 is a diagram showing the edge creation screen. The user can create an edge UI-20 connecting a node UI-10 to another node UI-10 not only when pressing the new button UI-108 or the copy button UI-109 described later. For example, in FIG. 5, the user connects the grandchild node UI-13 and the parent node UI-11 with an edge UI-20 by using a mouse operation or a touch operation.

[0054] In this embodiment, more specifically, in a drag-and-drop-like operation, the node at the location where the cursor is first pressed is the parent node, and the node at the location where the pressed state is released while the cursor is moved while maintaining the pressed state is the child node.

[0055] Here, by connecting the node UI-10 and the node UI-10 with the edge UI-20, the processor 122 is related to these nodes and recognizes the upper and lower nodes. For example, the edge table D20 described later in section 3. Data stores information about nodes to which edges connect.

[0056] FIG. 6 shows the prompt duplication (duplication of the first child node) screen. As shown in Figure 6, when the user presses the duplicate button for child node UI-12a, the processor creates a new child node UI-12b below the parent node UI-11 in the workspace and connects the parent node UI-11 and child node UI-12b with an edge UI-20.

[0057] FIG. 7 is a diagram showing a prompt duplication (duplication of second child node) screen. As in the case of Figure 6, when the user presses the duplicate button for child node (second child node) UI-12b, the processor creates a new child node (third child node) UI-12c below the parent node UI-11 in the workspace, and connects the parent node UI-11 and child node (third child node) UI-12c with an edge UI-20.

[0058] The ability to duplicate prompt nodes has the advantage that, for example, if you want to consider multiple prompts in response to the output results obtained in response to the prompt of the parent node, you can display the multiple prompts and their results side by side, making it easier to compare and consider which of the multiple prompts were particularly effective.

[0059] Figure 8 shows the workspace after creating and duplicating a new prompt. By operating the above-mentioned New button UI-108 or Duplicate button UI-109, the user can display a list of multiple prompts and the output results for those prompts on the workspace. By comparing and examining these prompt nodes formed in a tree, the user can search for a better prompt. In particular, since multiple users can share a single workspace, it has the advantage of being able to confirm the direction of development from the perspective of multiple developers.

[0060] FIG. 9 is a diagram showing a workspace (part 1) including a comment display field. As shown in FIG. 9, the processor 122 can display a comment display field UI-30 on the workspace. The user can leave a comment in the comment display field UI-30 by pressing the comment button of any of the prompt nodes 10P.

[0061] In the example of FIG. 9, a first user (user name 1) presses the comment button in prompt 1 and leaves a comment UI-31. The Comment UI-31 displays the comment, as well as the node name (prompt name) on which the comment was made, the date the comment was made, and the name of the user who made the comment.

[0062] FIG. 10 is a diagram showing a workspace (part 2) including a comment display field. Here, a second user (user name 2) presses the comment button in prompt 2 and leaves a comment. As shown in this example, the comment display field UI-30 can be viewed by multiple users on their respective devices and comments can be left.

[0063] FIG. 11 is a diagram showing a workspace (part 3) including a comment display field. Here, following the example of FIG. 10, the first user (user name 1) presses the comment button in prompt 2 and leaves a comment. For example, in FIG. 10, a second user asks a question about prompt 2, and in FIG. 11, the first user answers that question.

[0064] Each user can freely write to the workspace (add nodes and edges, execute prompts, add comments, etc.). Regarding locking (shared lock or exclusive lock) when another user is writing and related techniques (update, etc.), well-known methods can be suitably used.

[0065] (Run the flow) FIG. 12 is a diagram showing a workspace. Here, an application example of the development support system 1 of this embodiment will be shown.

[0066] When the user selects a given prompt node and presses the re-execute button for that prompt node, the processor 122 executes processing (large-scale language model input / output processing) for each prompt node from the first prompt node to the selected prompt node. In large-scale language model input / output processing, the processor 122 provides the prompt entered in the prompt reception field UI-103 to the large-scale language model selected in the large-scale language model selection field UI-102, and displays the obtained output result in the output result display field UI-107. Furthermore, a series of processes (a set of processes) that executes large-scale language model input / output processes at each prompt node from the first prompt node to the current prompt node is referred to as sequential input / output processing.

[0067] 12, the user presses the replay button on UI-14a, which causes the processor 122 to obtain a route from the first prompt node (UI-11) to the selected prompt node (UI-14a). In this embodiment, the prompt nodes on the route are UI-11, UI-12a, UI-13a, and UI-14a, and the processor 122 executes large-scale language model input / output processing for each prompt node on the route in turn.

[0068] In the example of FIG. 12, there are two routes from UI-11 to UI-14b (UI-11 → UI-12a → UI-13a → UI-14b and UI-11 → UI-12b → UI-14b). If the user presses the retry button on UI-14b (not UI-14a), the processor 122 of this embodiment calculates the route to UI-14b and finds two routes. The processor 122 then displays the two routes, for example, as colored lines. When the user selects one of the routes, the processor 122 executes large-scale language model input / output processing for each prompt node on the selected route.

[0069] The prompts at each prompt node in FIG. 12 and specific examples of the output results for those prompts will be described below. Note that the output results for the following prompts are examples and may differ from the actual results. In the following, the variable part (curly brackets) indicates the string that will be replaced by the variable. For example, "oligosaccharide" is written instead of "raw material 1."

[0070] The UI-11 prompt is: "Imagine a beauty food product sold exclusively online in Japan that contains oligosaccharides as an ingredient. Print it out step by step as instructed and do nothing more than that. STEP 1 You are a professional research and development professional. Conduct an internet search to find the latest information on the effects and benefits of {oligosaccharides}. #rule -The efficacy and effectiveness of the product can be advertised in Japan. - The product has the effect of solving the problems of consumers.

[0071] For example, the output for a UI-11 prompt might look something like this: "The main effects of oligosaccharides include improving the intestinal environment, alleviating constipation, suppressing blood sugar levels, boosting the immune system, and preventing tooth decay. Specifically, oligosaccharides such as xylobiose and xylotriose are believed to improve the intestinal environment by stimulating the growth of bifidobacteria.Lactulose oligosaccharides and galactooligosaccharides are also low in calories compared to sugar, and can provide sweetness without altering the taste, making them suitable for people on diets or those concerned about their health. Examples of mail-order products using oligosaccharides in Japan include health foods that improve the intestinal environment, low-calorie sweets and drinks, and candies and gums that prevent tooth decay.

[0072] The prompt for UI-12a is: "STEP2-1 · You are a professional marketer. Think about the target audience to whom you can appeal the effects and benefits derived in STEP 1. · Come up with three product concepts. #rule - A market with relatively large needs, considering the size of the Japanese market · It is desirable to have a different approach from competitors #Output format Product concept: ·target: Target Insights:

[0073] For example, the output for UI-12a prompts might look something like this: Product Concept 1: Healthy Sweets - Oligo Smart Target: Health-conscious men and women in their 20s to 40s who like sweet things but are concerned about calories and the impact on their health. Insights into target market: People who want to enjoy sweets but are concerned about sugar intake. Also, they are interested in improving their intestinal environment and immunity, and are looking for sweets that are both healthy and delicious. Product Concept 2: Intestinal Health Support Drink - Bifido Blend Target: Men and women of all ages who are troubled by their intestinal environment. People who are concerned about constipation and intestinal health. Insights into the target market: People who want to improve their intestinal environment on a daily basis, but are unable to eat a proper diet due to their busy schedules. They are looking for a delicious beverage that can easily improve their intestinal health. Product Concept 3: "Immuno Oligo - Oligosaccharide Supplement for Immunity Boost" Target: Middle-aged and elderly men and women who are interested in strengthening their immune system, especially those who want to prevent colds and flu. Insights into target market: Concerned about the weakening of the immune system with age, they are looking for healthy foods that can be taken daily, with a particular interest in natural ingredients. These concepts are aimed at a market where demand is thought to be relatively large, given the current trend of increasing health consciousness in the Japanese market.

[0074] The prompt for UI-12b is as follows. The output for the prompt is omitted. "STEP 2-2 · You are a professional marketer. Please answer the target age group to which the effects and benefits derived in STEP 1 can be applied. Come up with one product concept. #rule - A market with relatively large needs, considering the size of the Japanese market · Browse products that are popular among health-conscious users in Europe #Output format Product concept: Target age group: Target insights: -Popular products among health-conscious users in Europe and the names of the countries where they are produced

[0075] The prompt for UI-13a is: STEP 3 · You are a professional researcher. · Search the internet and do a competitive analysis for each concept. #rule · Products that appear at the top of the search results for related keywords are competitors The goal is to discover your value proposition relative to your competitors. List at least three competitors for each concept #Output format ·Product name ·price

[0076] For example, the output for UI-13a prompts might look something like this: "1. Product Concept 1 (Health-oriented Sweets - Oligo Smart) (1) Competitive analysis: Competitor 1: ○○○ Canelé (3 pieces) Price: ○○ yen Competitor 2: ○○ Chocolate Cake Price: ○○ yen Competitor 3: Diet sweets ○○ Price: ○○ yen (2) Analysis results: Value proposition: OligoSmart clearly highlights specific health benefits (for example, the effect of oligosaccharides on improving the intestinal environment), allowing it to be differentiated from other low-sugar sweets. 2. Product Concept 2 (Intestinal Health Support Drink - Bifiz Blend) (omitted)”

[0077] The UI-14a prompt is as follows: The output results for the prompt are omitted, but the large-scale language model outputs a landing page (such as an HTML file) as output. STEP 4-1 You are a professional web marketer. · Create a landing page (LP) taking into consideration the information up to STEP 3. #rule · Design and copy that grabs the visitor's attention is required An approach that emphasizes storytelling and value propositions is desirable #Output format 1. Above-the-fold to grab visitors' attention and encourage them to scroll down Be sure to include an image, a tagline, a buy button, and authoritative content 2. Speak for the target's worries and feelings Create words that empathize with the user's concerns 3. Specific benefits for the target List some of the product's features and make it as clear as possible 4. Purchase Button (Call to Action Button) Include a specific offer that will motivate consumers to make a purchase (e.g., "X yen off for a limited time only")

[0078] The output result of the UI-14a prompt is, for example, a specific web page, which is created from the top to bottom with the contents from 1. First View to 5. Purchase Button.

[0079] The prompt for UI-14b is as follows. The output for the prompt is omitted. STEP 4-2 · You are a professional SEO writer. · Create a landing page (LP) taking into consideration the information up to STEP 3. #rule · Design and copy that grabs users' attention is required An approach that emphasizes storytelling and value propositions is desirable #Output format In addition to the first view to attract the visitor's interest, content including the following will be displayed in an order that is deemed effective in attracting the visitor's interest. · Representing the concerns and feelings of the target Specific benefits for the target ·Effectiveness derived in STEP 1 Customer testimonials ·Purchase button (Call to action button)

[0080] As described above, the user can freely create prompt nodes and edges on the workspace, and can also branch a prompt node into multiple prompt nodes and examine each of them. Each prompt node can hold and display a prompt for a large-scale language model and its output results, allowing the user to easily check the details of each prompt node. In addition, a prompt node can obtain information from a prompt node of a previous generation connected by an edge and reflect this information in the prompt. This allows users to verify the entire prompt flow without having to create a long series of prompts, by verifying each prompt node and changing or updating only the prompts in the prompt nodes that require changes. This allows the user to easily understand which prompt node has the key prompt, and to obtain the desired output result.

[0081] With the above configuration, the user can create nodes and edges through intuitive operations using a GUI (Graphical User Interface), and can create a tree diagram of prompt nodes, etc. For each prompt node, users can check the large-scale language model used, the prompt, and its output results. In addition, all prompt nodes can be displayed in a list, making it possible to check and compare the relationships between prompt nodes. The user interface can be shared by multiple users, allowing development to be carried out collaboratively by multiple people, making it easy to find the optimal prompt, and allowing each developer to fine-tune the prompt.

[0082] 2. Program processing <Development support processing> The program processing performed in the development support system 1 of this embodiment will be described.

[0083] In this embodiment, the processor 122 performs development support processing based on the development support program P1. The development support program P1 includes at least a workspace creation program P12, a large-scale language model input / output program P14, a prompt execution program P16, and a comment creation program P18, and the processor 122 executes workspace creation processing, large-scale language model input / output processing, prompt execution processing, and comment creation processing based on each of these programs.

[0084] <2-1. Workspace creation process> In the workspace creation process, the processor 122 creates a workspace, and also creates (draws) nodes or edges in the workspace in response to a user operation.

[0085] The processor 122 performs workspace creation processing based on the workspace creation program P12. That is, the workspace creation program P12 causes the computer to function as workspace creation means by the processor 122 executing the workspace creation process (the control unit 12 functions as a workspace creation unit 131).

[0086] FIG. 13 is a flowchart showing the workspace creation process. The processor 122 starts the workspace creation process by starting up application software including the development support program P1.

[0087] First, the processor 122 displays the workspace (step 1). Next, the processor 122 waits for the user to create a screen element (step 2), where the screen element is a node, an edge, or a comment.

[0088] This section explains step 3: creating screen elements. If the screen element is a prompt node, the creation of the screen element is the creation of a new prompt node or the duplication of a prompt node. In response to a prompt node creation operation, the processor 122 creates a prompt node on the workspace (prompt node creation process). It should be noted that any known method may be used as appropriate for the process of creating and drawing prompt nodes.

[0089] Here, when the user performs a predetermined operation on the workspace (for example, double-clicking or right-clicking to select "Create new prompt node"), the processor 122 creates a new prompt node on the workspace. If a prompt node already exists, the processor 122 also creates a new prompt node when the user presses the New button UI-108 or the Duplicate button UI-109.

[0090] In the prompt node creation process of this embodiment, the processor 122 creates and displays a prompt name input field UI-101, a large-scale language model selection field UI-102, a prompt reception field UI-103, a process button UI-104, a variable button UI-105, an add variable button UI-106, an output result display field UI-107, a new button UI-108, and a duplicate button UI-109 in the prompt node UI-10P. The processor 122 also saves information about the created prompt node.

[0091] In other words, the prompt node creation method is A prompt name input field creation means for creating and displaying the prompt name input field UI-101; A large-scale language model selection field creation means for creating and displaying a large-scale language model selection field UI-102; A prompt reception column creation means for creating and displaying a prompt reception column UI-103; and - An output result display field creation means for creating and displaying the output result display field UI-107; Equipped with. At this time, the control unit 12 that executes the prompt node creation process also functions as a prompt name input field creation unit, a large-scale language model selection field creation unit, a prompt reception field creation unit, and an output result display field creation unit, in accordance with the above.

[0092] 13, if the screen element is an edge, the screen element creation is the creation of an edge. In response to the edge creation operation, the processor 122 creates an edge on the workspace (edge ​​creation process). It should be noted that any known method may be used appropriately for the process of creating and drawing edges.

[0093] Here, when the user performs a predetermined operation on the workspace (for example, right-clicks and selects "Create new edge") and selects a parent node and a child node, the processor 122 creates a new edge on the workspace. For example, as mentioned above, in a drag-and-drop operation, the point where a selection operation (such as a left click) is performed becomes the parent node, and the point where the selection state is maintained and the selection state is released (such as when the left click is released) becomes the child node. The processor 122 also creates a new edge when the user presses the New button UI-108 or the Duplicate button UI-109 of a prompt node.

[0094] The user can only create an edge if the prompt node is already on the workspace. The processor 122 also stores information about which prompt nodes are parent nodes and which prompt nodes are child nodes (see section 3. Data).

[0095] If the screen element is a comment, the creation of the screen element is the posting of a comment UI-31 to the comment display field UI-30 (comment creation process). Details will be described later.

[0096] Returning to FIG. 13, if the user performs an operation to end the workspace creation process (Yes in step 4), processor 122 saves data as necessary and ends the workspace creation process. If the user continues to perform operations on the workspace (No in step 4), processor 122 waits for an operation to create a screen element (step 2).

[0097] To summarize, the control unit 12 functions as a workspace creation unit 131, which includes a workspace display unit that displays a workspace (step 1), a prompt node creation unit that creates a prompt node on the workspace in response to user operation (step 4), and an edge creation unit that creates an edge connecting one prompt node to another prompt node (step 5). In addition, the prompt node UI-10 includes a large-scale language model selection field (UI-102) that accepts the selection of a large-scale language model, a prompt reception field (UI-103) that accepts a prompt, and an output result display field (UI-107) that displays the output result of the large-scale language model in response to the prompt.

[0098] Here, the prompt node creation unit creates at least two prompt nodes UI-10P on the workspace. The processor 122 displays a list of multiple prompt nodes UI-10P connected to each other by edges on the workspace, which has the advantage of allowing the user to easily check what each prompt is, what the results were, and so on.

[0099] In particular, when the prompt node creation unit creates at least three prompt nodes UI-10P in the workspace and includes at least one branch from one prompt node to two different prompt nodes (in the smallest example, when there are two child nodes under a parent node (see Figure 6)), there is an advantage that the user can examine the prompts and their output results side by side in the two child nodes.

[0100] The workspace creation unit 131 (prompt node creation unit) further includes a variable acquisition unit that acquires and saves variables (in this embodiment, character strings written in curly brackets) based on specific descriptions included in the prompt reception field, and a variable replacement unit that accepts changes to variables and replaces the variables (see the user interface section (Figure 2)).

[0101] <2-2. Large-scale language model input / output processing> As described above, the large-scale language model input / output process is a process of obtaining a selected large-scale language model, providing a prompt as input to the large-scale language model, and obtaining the output result of the large-scale language model in response to the prompt. In large-scale language model input / output processing, the processor 122 provides the prompt entered in the prompt reception field UI-103 to the large-scale language model selected (by the user) in the large-scale language model selection field UI-102, and displays the obtained output result in the output result display field UI-107. For example, send a prompt to the API of a large-scale language model and obtain the output result.

[0102] The processor 122 performs large-scale language model input / output processing based on the large-scale language model input / output program P14. That is, the large-scale language model input / output program P14 causes the computer to function as large-scale language model input / output means by executing large-scale language model input / output processing by the processor 122 (the control unit 12 functions as the large-scale language model input / output unit 132).

[0103] FIG. 14 is a flowchart showing large-scale language model input / output processing. The processor 122 starts large-scale language model input / output processing when the user presses the execute button or re-execute button of the prompt node UI-10.

[0104] The processor 122 acquires the large-scale language model selected in the large-scale language model selection field UI-102 (step 11). The processor 122 also acquires the prompt entered in the prompt reception field (step 12).

[0105] If the prompt contains curly braces, the processor 122 saves the character string (including numbers and symbols) contained within the curly braces as a variable. If a single prompt contains multiple curly braces, the processor 122 assigns a unique number to each variable and saves them. The user can press the variable button UI-105 to

[0106] Processor 122 provides the prompt of step 12 as input to the large scale language model of step 11 (step 13). In this embodiment, the processor 122 sends the prompt to the API of the large-scale language model.

[0107] Next, the processor 122 obtains the output results from the large-scale language model (step 14) and displays them in the output result display field UI-107 (step 15). The processor 122 also stores various data such as the output results. After obtaining the output result from the large-scale language model, the processor 122 may process the output result and then display it in the output result display field UI-107.

[0108] To summarize, the control unit 12 functions as a large-scale language model input / output unit 132, which includes a large-scale language model acquisition unit that acquires a selected large-scale language model (step 11), a prompt providing unit that provides a prompt as input to the large-scale language model (step 13), and an output result acquisition unit that acquires an output result of the large-scale language model in response to the prompt (step 14).

[0109] <2-3. Prompt execution process> In the prompt execution process, the processor 122 acquires information about the prompt node selected by the user, acquires the route from the first prompt node to the prompt node in question, and then performs sequential input / output processing. In the sequential input / output process, large-scale language model input / output processing is performed at each prompt node from the first prompt node to the prompt node selected by the user.

[0110] The processor 122 performs prompt execution processing based on the prompt execution program P16. That is, the prompt execution program P16 causes the computer to function as a prompt execution unit by the processor 122 executing a prompt execution process (the control unit 12 functions as a prompt execution unit 133).

[0111] FIG. 15 is a flowchart showing the prompt execution process. As shown in FIG. 15, the prompt execution process includes sequential input / output processing, which is a repetition of large-scale language model input / output processing at each prompt node. The processor 122 accepts the user's pressing of the retry button and starts the prompt execution process.

[0112] Processor 122 acquires the prompt node selected by the user, that is, the prompt node for which the replay button was pressed, and searches for a route from the first prompt node to that prompt node (step 21). In this embodiment, the first prompt node is the topmost prompt node (a predetermined prompt node), and is determined as UI-11 in Fig. 12, for example. Other examples will be described in modified examples.

[0113] When searching for a route, the processor 122 refers to the edge table D20 and refers to generation information of upper and lower nodes. The processor 122 also acquires all routes up to all terminal prompt nodes. For example, in the case of Fig. 12, the processor 122 acquires the routes up to UI-14a and UI-14b.

[0114] If there are multiple routes to the prompt node selected by the user, the processor will display the multiple options, for example by color-coding each route if there are two routes. If there are multiple routes, the user can select one of them. In this embodiment, when the mouse is placed over a selectable route, the processor highlights the route. The user can then select the highlighted route. Upon receiving the user's route selection, the processor 122 confirms the route.

[0115] Once the route is determined, the processor 122 performs sequential input / output processing (step 22). That is, it executes large-scale language model input / output processing in order, starting from the first prompt node (step 23). This is repeated until the large-scale language model input / output processing for the prompt node for which the user pressed the execute (reexecute) button is completed. After the loop ends, the processor 122 saves the data, etc., and terminates the prompt execution processing.

[0116] To summarize, the control unit 12 functions as a prompt execution unit 133, which includes a selected node acquisition unit that acquires (information about) the prompt node selected by the user (step 21), a route acquisition unit that acquires the route from the first prompt node to the prompt node selected by the user (step 21), and a sequential input / output unit that performs large-scale language model input / output processing for each prompt node on the route, starting from the first prompt node (steps 22 and 23). <2-4. Comment creation process> In the comment creation process, the processor 122 acquires the user's comment and displays the comment in the comment display field UI- 30. Each user who uses the development support system 1 can exchange comments.

[0117] The processor 122 performs comment creation processing based on the comment creation program P18. That is, the comment creation program P18 causes the computer to function as a comment creation means by the processor 122 executing the comment creation process (the control unit 12 functions as the comment creation unit 134).

[0118] The processor 122 starts the comment creation process when the user presses the comment button.

[0119] The processor 122 acquires information (hereinafter referred to as "comment-related information") such as the node on which the comment button was pressed, the content of the comment, the date and time the comment button was pressed, and the name of the user who pressed the comment button. The processor 122 then displays the comment-related information in the comment display field UI-30.

[0120] To summarize, the control unit 12 functions as a comment creation unit 134, which includes a comment acquisition unit that acquires user comments and a comment display unit that displays the acquired comments (in the comment display field of the workspace). 3. Data The data handled by the development support system 1 of this embodiment will be described below with reference to the drawings. The development support system 1 of this embodiment includes a node table D10, an edge table D20, and a comment table D30 in the memory unit 14 (data storage unit 14b) of the server 10. Both tables store the creation date and time (minutes and seconds can be saved) as data, but this will not be shown below.

[0121] The node table D10 is a table that includes, for example, data relating to prompt nodes (prompt node data).

[0122] [Table 1]

[0123] Table 1 shows an example of data stored in the node table D10. This is an example when the node is a prompt node. As shown in Table 1, the node table D10 of this embodiment includes information such as a unique node ID, the creation date and time (timestamp), the prompt name (node ​​name) entered in the prompt name input field UI-101, the large-scale language model (LLM model) selected by the user in the large-scale language model selection field UI-102, the prompt entered in the prompt reception field UI-103, the output result displayed in the output result display field UI-107, and variables.

[0124] The creation date and time is the date and time when the data was created, and is a timestamp. The data is not limited to days and hours, and may also include minutes and seconds. The creation date and time is the same in the following tables, so explanations will be omitted.

[0125] The edge table D20 is a table that includes data relating to edges (edge ​​data).

[0126] [Table 2]

[0127] Table 2 shows an example of data stored in the edge table D20. As shown in Table 2, the edge table D20 includes the creation date and time and the IDs of the nodes (upper and lower nodes) to which it is connected.

[0128] The comment table D30 is a table that includes data related to comments (comment data).

[0129] [Table 3]

[0130] Table 3 shows an example of data included in the comment table D30. As shown in Table 3, the comment table D30 includes the creation date and time, the node ID of the node on which the comment is made (the comment button is pressed), the user ID of the user who made the comment, and the content of the comment (such as text).

[0131] As described above, the node table D10 and edge table D20 enable the processor 122 to determine which of a plurality of nodes is an upper node and which is a lower node, and to perform a route search. In addition, by managing and storing the information in these tables, the processor 122 can display information that will help the user make decisions (such as large-scale language models, prompts, and output results for prompts) on all prompt nodes in the workspace. Additionally, the comment table D30 allows the processor 122 to manage the contents of the comments to be displayed in the comment display field UI-30.

[0132] 4. Hardware Configuration FIG. 16 is a diagram showing a network configuration of the development support system 1. As shown in FIG. 16, the development support system 1 in this embodiment includes a server 10, a user terminal 20, and a generation AI server 30. These devices are connected via a network N. The network N is, for example, the Internet. The server 10 has installed thereon software (application software) including a development support program P1 for operating the development support system 1 according to this embodiment, and various processes are executed by the functions of the software. Each piece of hardware will be explained below.

[0133] FIG. 16 is a configuration diagram in which the server 10 is provided with the development support program P1 and the development support system 1 is provided in the form of a web application. In contrast to this, there may be a case where the user terminal 20 is provided with the development support program P1, and the development support system 1 is completed within the user terminal 20, and is not connected to the network N. However, in this case, the unique functions that are obtained by connecting to network N, such as RAG (Retrieval-based Language Model), a technology that retrieves data in real time from external databases and information sources, cannot be used.

[0134] <Server 10> The server 10 is a computer for executing the development support program P1. Although only one server 10 is shown in FIG. 16, the number is not limited to one, and may be realized by a plurality of servers. For example, from the viewpoint of load balancing and availability, it is possible to use multiple servers. The server 10 may be a computer of a cloud service provider, or a computer provided by the user.

[0135] FIG. 17 is a diagram showing the hardware configuration of the server 10. As shown in FIG. 17, the server 10 includes a control unit 12, a storage unit 14, and a communication control unit 16. The control unit 12 also includes a processor 122, a ROM 124, a RAM 126, and a clock unit 128. The basic functions of each will be explained below.

[0136] The processor 122 is a CPU (Central Processing Unit) in this embodiment, and the control unit 12 including the processor 122 also functions as a development support unit 130 (not shown). The development support unit 130 executes a development support program P1 to perform development support processing. The development support unit 130 includes a workspace creation unit 131, a large-scale language model input / output unit 132, a prompt execution unit 133, and a comment creation unit 134.

[0137] Furthermore, one program may include other programs. For example, in this embodiment, the development support program P1 includes a workspace creation program P12 and a large-scale language model input / output program P14.

[0138] As shown in FIG. 17, the storage unit 14 includes a program storage unit 14a and a data storage unit 14b, and stores programs and data required for various processes. For example, the program storage unit 14a stores (installs) not only the development support program P1 according to this embodiment, but also control programs for controlling devices connected to the server 10, such as a communication control program for controlling the communication control unit 16.

[0139] The communication control unit 16 is a device that performs communication between the server 10 and an external terminal, such as a user terminal 20 described later. The communication control unit 16 connects the server 10 to a network N, as shown in FIG.

[0140] In addition to the above, the server 10 may also include an input unit (e.g., a keyboard) for inputting commands and data, an output unit (e.g., a voice output device) for outputting information in some form (not shown), etc. Furthermore, the server 10 may also include additional devices required for the use of this embodiment, or devices for improving the convenience of the use of this embodiment.

[0141] <User terminal 20> The user terminal 20 is an information processing device that enables a user to use the development support system 1. The user uses the development support system 1 by accessing the server 10 using the user terminal 20. For simplicity, FIG. 16 depicts only one computer as the user terminal 20, but since development can be carried out by multiple people in the development support system 1, multiple user terminals 20 may exist.

[0142] Fig. 18 is a hardware configuration diagram of the user terminal 20. As shown in Fig. 18, the user terminal 20 includes a control unit 22, a storage unit 24, a communication control unit 26, and an input / output unit (input unit and output unit) 28. The control unit 22 also includes a processor 222, a ROM, a RAM, and a timer unit. The input / output unit 28 includes a display unit as an output unit. Explanations of the contents that have already been explained and the basic functions that will be described later will be omitted.

[0143] A user uses the development support system 1 of this embodiment by viewing or manipulating the workspace displayed on the display unit.

[0144] In this embodiment, the user terminal 20 is a desktop PC. However, the user terminal 20 is not limited to this, and may be a mobile terminal such as a smartphone or tablet.

[0145] The program storage unit 24a of the user terminal 20 stores a user terminal application program (user application) according to this embodiment, and the processor 222 executes various processes using the functions of the software. However, this is merely an example, and for example, the user terminal 20 may be operable only by operating the browser, and no user application may be required.

[0146] The various processes include output (screen display, audio output) based on information acquired from the server 10, reception of user input, and various communications. For example, when a user starts a user application, the processor 222 of the user terminal 20 communicates with the server 10 via the network N and executes various processes.

[0147] In this embodiment, the user application is installed in the user terminal 20 via the network N or via a storage medium storing the user application.

[0148] <Generation AI Server 30> The generation AI server 30 is a computer equipped with a large-scale language model, and is capable of accepting prompt inputs for the large-scale language model and returning outputs of the large-scale language model. For convenience, only one computer is depicted in Figure 16, but the number of computers that make up the generation AI server 30 is not limited to one. For example, the computer that accepts prompt input and the computer that performs processing using the large-scale language model may be separate.

[0149] In this embodiment, the generation AI server 30 is a computer that is used to utilize a large-scale language model (e.g., GPT-4 (registered trademark)). That is, the development support system 1 of this embodiment sends a prompt acquired from a user to the API of the large-scale language model (GPT-4) and acquires an output result in response to the prompt.

[0150] (Explanation of the basic functions of a computer) The control unit (processor, ROM, RAM, and clock unit), storage unit, communication control unit, input unit, and output unit will be described below. In any of the terminals of this embodiment, the connection mode (network topology) between the functional units is not particularly limited, and may be, for example, a bus type, a star type, a mesh type, or the like.

[0151] The processor processes information and controls various devices according to programs stored in a ROM, a storage unit, etc. In this embodiment, the processor is a CPU.

[0152] However, the processor is not limited to this. Various processors, such as a CPU, a DSP (Digital Signal Unit), a GPU (Graphics Processing Unit), a GPGPU (General Purpose Computing on GPU), an ASIC (Application Specific Integrated Circuit), or an FPGA (Field Programmable Gate Array), may be used alone or in combination. For example, a processor that integrates a CPU and a GPU is called an APU (Accelerated Processing Unit), and such a processor may also be used.

[0153] ROM is a read-only memory that stores various programs and data that the processor uses to perform various controls and calculations.

[0154] The RAM is a random access memory used by the processor as a working memory, and various areas can be allocated in the RAM to perform various processes in this embodiment.

[0155] The timekeeping unit performs timekeeping processes related to obtaining time information, etc. If the computer has a communication control unit, it may obtain time information from an external source using NTP (Network Time Protocol).

[0156] A memory unit is a device for storing information such as programs and data. A memory unit is also called storage. It does not matter whether the memory unit is built-in or external.

[0157] The storage unit includes a storage medium that can read and write data, and a drive that reads and writes data from and to the storage medium. Examples of storage media include internal and external types, such as HD (hard disk), CD-ROM, and flash memory. Examples of drives include HDDs (hard disk drives) and SSDs (solid state drives).

[0158] The storage unit includes a program storage unit and a data storage unit as functional units. The program storage unit stores control programs for controlling various devices, such as a communication control program for controlling communication.

[0159] The communication control unit is a device for performing communication between terminals, etc. The communication control unit connects the terminal equipped with the communication control unit to the network N.

[0160] The communication method of the communication control unit is a known method, and a wired method or a wireless method is applied depending on the device. For example, if the terminal is a desktop PC, both wired and wireless communication methods are possible, and if the terminal is a smartphone, a wireless communication method is possible.

[0161] If it is wired, a communication method specified by IEEE802.3 (for example, a bus-type or star-type wired LAN) can be preferably used, but other communication methods such as those specified by IEEE802.5 (for example, a ring-type wired LAN) can also be used.

[0162] For wireless communication, a communication method defined by IEEE802.11 (e.g., Wi-Fi) can be suitably used, but other methods such as IEEE802.15 (e.g., Bluetooth (registered trademark), BLE (Bluetooth (registered trademark)), etc.), IEEE802.16 (e.g., WiMAX), or a communication method defined for optical communication such as infrared communication can also be used.

[0163] The input unit and output unit are devices that handle input and output to and from the terminal, respectively. The input unit and output unit may be collectively referred to as the input / output unit. The input unit is a device that accepts input from a user, and examples of such an input unit include a keyboard, a mouse as a pointing device, a trackpad, a tablet, and a touch panel.

[0164] When the terminal is a tablet, smartphone, or the like, and the input unit is a touch panel, the input unit is disposed on the surface of a display unit, such as a touch screen, that displays images, etc. In this case, the input unit identifies the user's touch position corresponding to various operation icons displayed on the display unit, and accepts input from the user.

[0165] The output unit is, for example, a device for outputting images, sounds, forms, and the like. Examples of the output unit include display devices (display units) such as touch screens and displays (liquid crystal displays and organic EL displays), audio output devices such as speakers, and form output devices such as printers.

[0166] (Other embodiments)

[0167] The development support system 1 further includes a RAG (Retrieval-Augmented Generation) function (data import function). For example, the node may further include an information providing node storing various files, and the processor 122 may acquire information from the information providing node 10R that is connected to a certain prompt node 10P by an edge 20. Although the information providing node in this modification does not have a large-scale language model selection field UI-102, a prompt reception field UI-103, or an output result display field UI-107, it can provide document (text) data, image data, video data, or audio data. For example, it can attach files such as document files, image files, video files, or audio files. As a specific example, a PDF file is attached to an information providing node 10R, and a prompt such as "Please refer to the information provided by the information providing node" is entered in the prompt reception field UI-103 of the prompt node 10P connected to the information providing node. This allows the prompt node 10P to send information about the PDF together with the prompt when sending it to the large-scale language model. In other words, the prompt node in this embodiment includes "a large-scale language model selection field that accepts the selection of a large-scale language model, a prompt reception field that accepts a prompt, and an output result display field that displays the output result of the large-scale language model in response to the prompt," but the information provision node is not limited to this. The information providing node is a node that provides information to the prompt node, and may include at least any one of document data, image data, video data, and audio data. The above is just an example, and any known method can be used as the data import method. In summary, the node creation unit creates a prompt node and an information provision node on the workspace, and the information provision node includes at least one of document data, image data, video data, and audio data.

[0168] The development support system 1 of this embodiment can define user privileges and limit the scope of workspace disclosure for each privilege. For example, the processor 122 can set the user authority for each user to "Owner," "Admin," "Member," or "Non-Member." In this case, the "Owner" user has all permissions and can operate all workspaces and grant permissions to other users. The "Admin" user can grant permissions to other users. The "Member" user can operate on the workspaces for which they are authorized, and the "Non-Member" user can perform some operations on the workspaces for which they are authorized. Examples of workspace operations include creating a new workspace, duplicating, deleting, viewing, editing, and posting a comment. In the above example, it is conceivable that "Member" users can perform any operation, while "non-Member" users can only view the workspace, but this scope of operation authority can also be changed as appropriate. Also, if there are multiple workspaces, a user can be granted "Member" privileges in workspace 1 and "Non-Member" privileges in workspace 2. For such management, the data storage unit 14b may include a user database, which is a database for each user. This function allows you to, for example, change user permissions for each project and clarify project members. It also prevents users from accidentally deleting workspaces and other erroneous operations. In this way, the process of granting access rights to a workspace for each user is called authorization processing, and the control unit 12 that executes the authorization processing functions as an authorization unit. In summary, the workspace creating section further includes an authority granting section that grants access authority to the workspace to each user.

[0169] The development support system 1 of this embodiment can set a tag for each workspace. For example, you can assign tags such as sales and marketing. Specifically, if you have multiple workspaces (for example, workspaces 1 to 10), you can assign workspaces 1 to 6 to sales, workspaces 7 to 9 to marketing, and workspace 10 to public relations. This has the advantage of making it easier to manage the identification of business issues using on-site generation AI. In this way, the process of attaching tags to workspaces and managing them is called tag management process, and the control unit 12 that executes the tag management process functions as a tag management unit. In summary, the workspace creation unit further includes a tag management unit that manages workspaces by attaching tags to them.

[0170] (Variation) The present invention is not limited to the above-described embodiment, and includes various modifications to the above-described embodiment without departing from the spirit of the present invention.

[0171] For example, as described above, the development support system 1 may be provided in the form of a web application, or the development support system 1 may be provided in the form of an application that does not require a network.

[0172] In the above embodiment, the upper side of the workspace is the upper node and the lower side is the lower node. However, the determination (by the processor 122) of the upper node and the lower node based on the position on the workspace is not limited to this. For example, a node located relatively to the left of a workspace may be a higher-level node, and a node located relatively to the right of the workspace may be a lower-level node.

[0173] In the above embodiment, an example was described in which mainly text data was obtained as the output result from the large-scale language model, but this is not limited to this. For example, image data, video data, audio data, and other data may also be included. Furthermore, if the output result is program code, the processor of the development support system 1 may be configured to execute a series of programs through a prompt execution process. Similarly, input to a large-scale language model is not limited to text, and may be image data, video data, audio data, etc. Also, program code may be input.

[0174] In the above embodiment, the large-scale language model selection field UI-102 allows the user to select a large-scale language model for the prompt node using a pull-down menu, but the method of accepting the selection is not limited to this. This is because the key point is that the user can select a large-scale language model for each prompt node UI-10P. For example, the user may input the name of a large-scale language model as text, etc., and the processor 122 may acquire information about the large-scale language model. In this case, the processor 122 may return an error if the API of the input large-scale language model does not exist or cannot be used.

[0175] In the above embodiment, if there are multiple routes to the prompt node for which the execute button was pressed, the user is allowed to select a route. However, this is not limited to this, and the processor 122 may automatically calculate a route with the lowest cost and display the optimal route. For example, the user may determine a cost for each prompt node and / or each edge, and when searching for a route to a given prompt node selected by the user, processor 122 performs a cost calculation for each route from the initial prompt node to the destination prompt node and displays the route with the lowest cost. That is, in this case, the development support system 1 includes a cost setting unit that sets a cost determined by the user to the prompt node and / or edge. In this case, the processor 122 stores the costs in the node table D10 or the edge table D20. Furthermore, in the route search of the prompt execution process (step 21), the processor performs the cost calculation described above. This has the advantage that the user can easily find the optimal route even when there are many prompt nodes and edges on the workspace.

[0176] In the above-described prompt execution process, the first prompt node is the top-level prompt node. However, the first prompt node is not limited to this, and can be determined by the user or predetermined. In other words, the user may be allowed to specify the first prompt node (not just the last prompt node for which the prompt execution process is performed). Also, the user may be allowed to specify any prompt node among the prompt nodes between the first prompt node and the last prompt node (on the route) as a passing node. The first half of the process is a first node designation process, and the control unit 12 that performs this process functions as a first node designation unit. The second half of the process is a passing node designation process, and the control unit 12 that performs this process functions as a passing node designation unit.

[0177] In other words, aspects of the present invention, including this embodiment, have the following features. The following corresponds to the claims at the time of filing of this application. However, due to amendments to the claims after filing, the claims may differ from the description of the amended claims. (1) In a first aspect, a development support system includes a workspace creation unit and a large-scale language model input / output unit, wherein the workspace creation unit includes a workspace display unit that displays a workspace, a node creation unit that creates a prompt node on the workspace in response to a user operation, and an edge creation unit that creates an edge connecting one prompt node to another prompt node; the prompt node includes a large-scale language model selection field for accepting a selection of a large-scale language model, a prompt acceptance field for accepting a prompt, and an output result display field for displaying an output result of the large-scale language model in response to the prompt; The large-scale language model input / output unit includes a large-scale language model acquisition unit that acquires the selected large-scale language model, a prompt providing unit that provides the prompt as input to the large-scale language model, and an output result acquisition unit that acquires the output result of the large-scale language model in response to the prompt. (2) A second aspect provides a development support system according to the first aspect, further comprising a prompt execution unit, the prompt execution unit comprising: a selected node acquisition unit that acquires a prompt node selected by a user; a route acquisition unit that acquires a route from a first prompt node to the prompt node selected by the user; and a sequential input / output unit that executes large-scale language model input / output processing by the large-scale language model input / output unit for each prompt node on the route, starting from the first prompt node. In this case, when multiple prompt nodes are connected and related to each other, it is possible to check and consider how the output results from the large-scale language model will change at the prompt node selected by the user when changes are made to some of the prompt nodes. (3) In a third aspect, there is provided a development support system according to the first aspect, further comprising a comment creation unit, characterized in that the comment creation unit comprises a comment acquisition unit that acquires user comments and a comment display unit that displays the acquired comments. In this case, by leaving a comment to note when the prompt is changed, the person who made the comment and other users who see the comment can confirm the intention behind the prompt change, improving development efficiency. (4) In a fourth aspect, there is provided a development support system according to the first aspect, characterized in that the workspace creation unit further comprises a variable acquisition unit that acquires and saves variables based on specific descriptions included in the prompt reception field, and a variable replacement unit that accepts changes to variables and replaces the variables. In this case, the contents of the variables can be changed and examined, improving development efficiency. (5) In a fifth aspect, there is provided a development support system according to the first aspect, characterized in that the node creation unit that creates a prompt node on the workspace is a prompt node creation unit that creates a prompt node and an information provision node on the workspace, and the information provision node comprises at least one of document data, image data, video data, or audio data. In this case, the RAG (Retrieval-Augmented Generation) function (data import function) can provide high-quality information as input to a large-scale language model. (6) In a sixth aspect, there is provided a development support system according to the first aspect, characterized in that the workspace creation unit further includes an authority granting unit that grants access authority to the workspace to each user. In this case, for example, by granting editing privileges only to workspaces related to the projects a user participates in, it becomes easier to manage which projects a user is participating in and which users are participating in a particular project. It also prevents erroneous operations such as editing workspaces that are not related to the user's own projects. (7) In a seventh aspect, there is provided a development support system according to the first aspect, characterized in that the workspace creation unit further comprises a tag management unit that attaches tags to the workspace and manages it. In this case, even if a plurality of workspaces coexist, the user can extract only workspaces with related tags, improving convenience. (8) In an eighth aspect, there is provided a development support system according to the first aspect, characterized in that the workspace creation unit further includes a cost setting unit that sets a user-determined cost for a prompt node and / or edge. In this case, there is an advantage that when the number of prompt nodes and edges increases and it becomes difficult to select a route, the user can be assisted in determining the route. (9) In a ninth aspect, there is provided a development support program for causing a computer to function as a workspace creation means and a large-scale language model input / output means, the program comprising: the workspace creation means comprises workspace display means for displaying a workspace, node creation means for creating a prompt node on the workspace in response to a user operation, and edge creation means for creating an edge connecting one prompt node to another prompt node; the prompt node includes a large-scale language model selection field for accepting a selection of a large-scale language model, a prompt acceptance field for accepting a prompt, and an output result display field for displaying an output result of the large-scale language model in response to the prompt; The large-scale language model input / output means includes a large-scale language model acquisition means for acquiring the selected large-scale language model, a prompt providing means for providing the prompt as input to the large-scale language model, and an output result acquisition means for acquiring the output result of the large-scale language model in response to the prompt. [Industrial Applicability]

[0178] It can be applied to general development using generative AI. For example, by including program output in the prompt, it can also be applied to program development using generative AI. [Explanation of symbols]

[0179] 1. Development Support System 10 Servers 12 Control Unit 122 processors 124 ROM 126 RAM 128 Timing section 130 Development Support Department 131 Workspace Creation Department 132 Large-scale language model input / output unit 133 Prompt Execution Unit 134 Comment Creation Department 14 Storage section 14a Program storage section 14b Data storage section 16 Communication control section 20 User terminal 22 Control Unit 222 processors 24 Memory section 26 Communication control section 28 Input / output section 30 Generative AI Server UI-1 Workspace UI-10 Node UI-10P Prompt Node UI-10R Information Provider Node UI-101 Prompt name input field UI-102 Large Language Model Selection Field UI-103 Prompt Reception Column UI-104 Processing Button UI-105 Variable Button UI-106 Add Variable Button UI-107 Output result display field UI-108 New Button UI-109 Duplicate Button UI-11 Parent node (first generation node) UI-12 child node (second generation node) UI-12a First child node (first second generation node) UI-12b Second child node (second second generation node) UI-12c third child node (third second generation node) UI-13 Grandchild node (third generation node) UI-14 Great-grandchild node (fourth generation node) UI-20 Edge UI-30 Comment display field UI-31 Comments P1 Development Support Program P12 Workspace Creation Program P14 Large-scale language model input / output program P16 Prompt execution program P18 Comment creation program D10 Node Table D20 Edge Table D30 Comment Table

Claims

1. A development support system comprising a workspace creation unit and a large-scale language model input / output unit, The workspace creation unit a workspace display section that displays a workspace; a node creation unit that creates a prompt node on the workspace in response to a user operation; an edge creating unit that creates an edge connecting one prompt node to another prompt node; The prompt node is a large-scale language model selection field for accepting selection of a large-scale language model; a prompt reception field for receiving a prompt; an output result display field that displays an output result of the large-scale language model in response to the prompt, The large-scale language model input / output unit a large-scale language model acquisition unit that acquires the selected large-scale language model; a prompt provider that provides the prompt as an input to the large-scale language model; an output result acquisition unit that acquires an output result of the large-scale language model in response to the prompt; A development support system comprising:

2. Further, a prompt execution unit is provided, The prompt execution unit a selected node acquisition unit that acquires a prompt node selected by a user; a route acquisition unit that acquires a route from a first prompt node to a prompt node selected by the user; a sequential input / output unit that executes large-scale language model input / output processing by the large-scale language model input / output unit for each prompt node on the route, in order from the first prompt node; 2. The development support system according to claim 1, comprising:

3. Furthermore, it has a comment creation section, The comment creation unit includes a comment acquisition unit that acquires comments from users; a comment display section that displays the acquired comments; 2. The development support system according to claim 1, comprising:

4. The workspace creation unit further a variable acquisition unit that acquires and stores variables based on a specific description included in the prompt acceptance field; a variable substitution unit that accepts a change to a variable and substitutes the variable; 2. The development support system according to claim 1, comprising:

5. a node creation unit that creates a prompt node on the workspace, a prompt node creation unit that creates a prompt node and an information provision node on the workspace; 2. The development support system according to claim 1, wherein the information providing node includes at least one of document data, image data, video data, and audio data.

6. 2. The development support system according to claim 1, wherein said workspace creating section further comprises an authority granting section for granting access authority to the workspace to each user.

7. 2. The development support system according to claim 1, wherein said workspace creating section further comprises a tag management section for managing said workspace by attaching a tag to said workspace.

8. 2. The development support system according to claim 1, wherein said workspace creating section further comprises a cost setting section for setting a cost determined by a user to a prompt node and / or an edge.

9. Computer A development support program that functions as a workspace creation means and a large-scale language model input / output means, The workspace creation means a workspace display means for displaying a workspace; a node creating means for creating a prompt node on the workspace in response to a user operation; edge creation means for creating an edge connecting one prompt node to another prompt node; The prompt node is a large-scale language model selection field for accepting selection of a large-scale language model; a prompt reception field for receiving a prompt; an output result display field that displays an output result of the large-scale language model in response to the prompt, The large-scale language model input / output means a large-scale language model acquisition means for acquiring the selected large-scale language model; a prompt providing means for providing the prompt as an input to the large scale language model; and an output result acquisition means for acquiring an output result of the large-scale language model in response to the prompt; A development support program comprising:

Citation Information

Patent Citations

  • JP1721796403A

  • Program development support device, program development support method, and program development support program

    JP6801086B2

Cited By

  • Program, information processing method, and information processing apparatus

    JP2025176169A

  • Information processing system, information processing method, and browser extension program

    JP7889934B1

  • Program, information processing method, and information processing apparatus.

    JP7895662B2