mirror of
https://github.com/OpenBMB/ChatDev.git
synced 2026-04-25 11:18:06 +00:00
1022 lines
37 KiB
YAML
Executable File
1022 lines
37 KiB
YAML
Executable File
graph:
|
|
id: ChatDev_v1
|
|
description: ChatDev multi-agent software development workflow with planning, coding, review, and testing loops.
|
|
log_level: DEBUG
|
|
is_majority_voting: false
|
|
nodes:
|
|
- id: Code Complete All Phase Loop Counter
|
|
type: loop_counter
|
|
description: ''
|
|
context_window: 0
|
|
config:
|
|
max_iterations: 5
|
|
reset_on_emit: true
|
|
message: ''
|
|
- id: Test Phase Loop Counter
|
|
type: loop_counter
|
|
description: ''
|
|
context_window: 0
|
|
config:
|
|
max_iterations: 3
|
|
reset_on_emit: true
|
|
message: ''
|
|
- id: FINAL
|
|
type: passthrough
|
|
description: ''
|
|
context_window: 0
|
|
config: {}
|
|
- id: USER
|
|
type: passthrough
|
|
description: ''
|
|
context_window: 0
|
|
config: {}
|
|
- id: PSEUDO
|
|
type: passthrough
|
|
config: {}
|
|
description: ''
|
|
context_window: 0
|
|
- id: Programmer Code Review
|
|
type: agent
|
|
config:
|
|
name: gpt-4o
|
|
role: |-
|
|
${COMMON_PROMPT}
|
|
You are Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer.
|
|
You can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,.
|
|
You will receive the task from user.
|
|
To complete the task, you must call the functions to save or edit the codes that appropriately solves the requested instruction based on your expertise and customer's needs.
|
|
provider: openai
|
|
base_url: ${BASE_URL}
|
|
api_key: ${API_KEY}
|
|
params: {}
|
|
tooling:
|
|
- type: function
|
|
config:
|
|
tools:
|
|
- name: uv_related:All
|
|
- name: apply_text_edits
|
|
- name: create_folder
|
|
- name: describe_available_files
|
|
- name: delete_path
|
|
- name: read_file_segment
|
|
- name: search_in_files
|
|
- name: save_file
|
|
- name: list_directory
|
|
timeout:
|
|
thinking:
|
|
memories: []
|
|
retry:
|
|
description: ''
|
|
context_window: -1
|
|
- id: Programmer Test Modification
|
|
type: agent
|
|
config:
|
|
name: gpt-4o
|
|
role: |-
|
|
${COMMON_PROMPT}
|
|
You are Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer.
|
|
You can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,.
|
|
You will receive the task from user.
|
|
To complete the task, you must call the functions to save or edit the codes that appropriately solves the requested instruction based on your expertise and customer's needs.
|
|
provider: openai
|
|
base_url: ${BASE_URL}
|
|
api_key: ${API_KEY}
|
|
params: {}
|
|
tooling:
|
|
- type: function
|
|
config:
|
|
tools:
|
|
- name: uv_related:All
|
|
- name: apply_text_edits
|
|
- name: create_folder
|
|
- name: describe_available_files
|
|
- name: delete_path
|
|
- name: read_file_segment
|
|
- name: search_in_files
|
|
- name: save_file
|
|
- name: list_directory
|
|
timeout:
|
|
thinking:
|
|
memories: []
|
|
retry:
|
|
description: ''
|
|
context_window: -1
|
|
- id: Chief Executive Officer
|
|
type: agent
|
|
config:
|
|
name: gpt-4o
|
|
provider: openai
|
|
role: |-
|
|
${COMMON_PROMPT}
|
|
You are Chief Executive Officer. Now, we are both working at ChatDev and we share a common interest in collaborating to successfully complete a task assigned by a new customer.
|
|
Your main responsibilities include being an active decision-maker on users' demands and other key policy issues, leader, manager, and executor. Your decision-making role involves high-level decisions about policy and strategy; and your communicator role can involve speaking to the organization's management and employees.
|
|
You will receive the task from user.
|
|
To complete the task, I will give you one or more instructions, and you must help me to write a specific solution that appropriately solves the requested instruction based on your expertise and my needs.
|
|
base_url: ${BASE_URL}
|
|
api_key: ${API_KEY}
|
|
params: {}
|
|
tooling:
|
|
- type: function
|
|
config:
|
|
tools:
|
|
- name: uv_related:All
|
|
- name: apply_text_edits
|
|
- name: create_folder
|
|
- name: describe_available_files
|
|
- name: delete_path
|
|
- name: read_file_segment
|
|
- name: search_in_files
|
|
- name: save_file
|
|
- name: list_directory
|
|
timeout:
|
|
thinking:
|
|
memories: []
|
|
retry:
|
|
description: ''
|
|
context_window: 0
|
|
- id: Code Review Comment Phase Prompt for Assistant
|
|
type: literal
|
|
config:
|
|
content: |-
|
|
According to the new user's task and our software designs:
|
|
Task: Please refer to the input from user.
|
|
Modality: Code.
|
|
Programming Language: Python.
|
|
Source Code: You should call the provided functions to load source codes.
|
|
As the Code Reviewer, to make the software directly operable without further coding, ChatDev have formulated the following regulations:
|
|
1) all referenced classes should be imported;
|
|
2) all methods should be implemented;
|
|
3) all methods need to have the necessary comments;
|
|
4) no potential bugs;
|
|
5) The entire project conforms to the tasks proposed by the user;
|
|
6) most importantly, do not only check the errors in the code, but also the logic of code. Make sure that user can interact with generated software without losing any feature in the requirement;
|
|
You should call provided function to load the codes.
|
|
Now, you should check the above regulations one by one and review the codes in detail, propose one comment with the highest priority about the codes, and give me instructions on how to fix. Tell me your comment with the highest priority and corresponding suggestions on revision. If the codes are perfect and you have no comment on them, return only one line like "<INFO> Finished"
|
|
role: user
|
|
description: ''
|
|
context_window: 0
|
|
- id: Test Modification Phase Loop Counter
|
|
type: loop_counter
|
|
config:
|
|
max_iterations: 5
|
|
reset_on_emit: true
|
|
message: ''
|
|
description: ''
|
|
context_window: 0
|
|
- id: Programmer Code Complete
|
|
type: agent
|
|
config:
|
|
name: gpt-4o
|
|
provider: openai
|
|
role: |-
|
|
${COMMON_PROMPT}
|
|
You are Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer.
|
|
You can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,.
|
|
You will receive the task from user.
|
|
To complete the task, you must call the functions to save or edit the codes that appropriately solves the requested instruction based on your expertise and customer's needs.
|
|
base_url: ${BASE_URL}
|
|
api_key: ${API_KEY}
|
|
params: {}
|
|
tooling:
|
|
- type: function
|
|
config:
|
|
tools:
|
|
- name: uv_related:All
|
|
- name: apply_text_edits
|
|
- name: create_folder
|
|
- name: describe_available_files
|
|
- name: delete_path
|
|
- name: read_file_segment
|
|
- name: search_in_files
|
|
- name: save_file
|
|
- name: list_directory
|
|
timeout:
|
|
thinking:
|
|
memories: []
|
|
retry:
|
|
description: ''
|
|
context_window: 0
|
|
- id: Code Complete Phase for Assistant
|
|
type: literal
|
|
config:
|
|
content: |-
|
|
According to the new user's task and our software designs listed below:
|
|
Modality: Code.
|
|
Programming Language: Python.
|
|
Task: Please refer to the input from user.
|
|
Source Code: Yous should call the provided functions to load the codes.
|
|
Unimplemented File: You should find all umplemented classes and methods by calling provided functions and then, implement them.
|
|
As the Programmer, to satisfy the complete function of our developed software, you have to implement all methods in the unimplemented files which contains a unimplemented class. Now, implement all methods of the unimplemented files and all other codes needed.
|
|
If you find all the files are fully implemented, output "<INFO> FINISHED"
|
|
role: user
|
|
description: ''
|
|
context_window: 0
|
|
- id: Programmer Coding
|
|
type: agent
|
|
config:
|
|
name: gpt-4o
|
|
provider: openai
|
|
role: |-
|
|
${COMMON_PROMPT}
|
|
You are Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer.
|
|
You can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,.
|
|
You will receive the task from user.
|
|
To complete the task, you must call the functions to save or edit the codes that appropriately solves the requested instruction based on your expertise and customer's needs.
|
|
base_url: ${BASE_URL}
|
|
api_key: ${API_KEY}
|
|
params: {}
|
|
tooling:
|
|
- type: function
|
|
config:
|
|
tools:
|
|
- name: uv_related:All
|
|
- name: apply_text_edits
|
|
- name: create_folder
|
|
- name: describe_available_files
|
|
- name: delete_path
|
|
- name: read_file_segment
|
|
- name: search_in_files
|
|
- name: save_file
|
|
- name: list_directory
|
|
timeout:
|
|
thinking:
|
|
memories: []
|
|
retry:
|
|
description: ''
|
|
context_window: 0
|
|
- id: Test Error Summary Phase Prompt for Assistant
|
|
type: literal
|
|
config:
|
|
content: |
|
|
Programming Language: Python
|
|
Source Codes: You should call provided the functions to load the codes.
|
|
Test Reports of Source Codes: You should use `uv_run` function to run the code (don't forget to set timeout for the code running) and observe whether the code passed.
|
|
|
|
[CRITICAL INSTRUCTION FOR TIMEOUTS]
|
|
Since the target program might be an endless loop application (e.g., a Snake game, a GUI app, or a server), the test runner MUST use a timeout to terminate it.
|
|
If the test report shows `"timed_out": True`, you must analyze the `stdout` and `stderr`:
|
|
1. **Pass**: If the logs indicate the application started successfully (e.g., "Game started", "Listening on port", or simply running without crashing) and was eventually killed by the timeout, **DO NOT classify this as a bug**. You should consider this a successful run.
|
|
2. **Fail**: Only classify a timeout as a bug if the program was supposed to finish quickly (like a calculation script) but hung, or if it produced no output/errors before timing out.
|
|
|
|
According to the test reports, please locate and summarize the bugs that cause the problem. You should NEVER write or edit the codes. You should ONLY "locate and summarize the bugs that cause the problem".
|
|
role: user
|
|
description: ''
|
|
context_window: 0
|
|
- id: Chief Product Officer
|
|
type: agent
|
|
config:
|
|
name: gpt-4o
|
|
provider: openai
|
|
role: |-
|
|
${COMMON_PROMPT}
|
|
You are Chief Product Officer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer.
|
|
You are responsible for all product-related matters in ChatDev. Usually includes product design, product strategy, product vision, product innovation, project management and product marketing.
|
|
You will receive the task from user.
|
|
base_url: ${BASE_URL}
|
|
api_key: ${API_KEY}
|
|
params: {}
|
|
tooling:
|
|
- type: function
|
|
config:
|
|
tools:
|
|
- name: uv_related:All
|
|
- name: apply_text_edits
|
|
- name: create_folder
|
|
- name: describe_available_files
|
|
- name: delete_path
|
|
- name: read_file_segment
|
|
- name: search_in_files
|
|
- name: save_file
|
|
- name: list_directory
|
|
timeout:
|
|
thinking:
|
|
memories: []
|
|
retry:
|
|
description: ''
|
|
context_window: -1
|
|
- id: Manual Phase Prompt for Assistant
|
|
type: literal
|
|
config:
|
|
content: |-
|
|
Modality: Code.
|
|
Programming Language: Python.
|
|
Task: Please refer to the input from user.
|
|
Source Code: You MUST call the provided functions to load source codes.
|
|
You should NEVER write your own code, but only write user manual for existing code.
|
|
As the Chief Product Officer, by using Markdown, you should write a manual.md file which is a detailed user manual to use the software, including introducing main functions of the software, how to install environment dependencies and how to use/play it.
|
|
role: user
|
|
description: ''
|
|
context_window: 0
|
|
- id: Manual Phase Prompt for User
|
|
type: literal
|
|
config:
|
|
content: |-
|
|
Modality: Code.
|
|
Programming Language: Python.
|
|
Task: Please refer to the input from user.
|
|
Source Code: You MUST call the provided functions to load source codes.
|
|
You should NEVER write your own code, but only write user manual for existing code.
|
|
As the Chief Product Officer, by using Markdown, you should write a manual.md file which is a detailed user manual to use the software, including introducing main functions of the software, how to install environment dependencies and how to use/play it.
|
|
role: assistant
|
|
description: ''
|
|
context_window: 0
|
|
- id: Programmer Test Error Summary
|
|
type: agent
|
|
config:
|
|
name: gpt-4o
|
|
provider: openai
|
|
role: |-
|
|
${COMMON_PROMPT}
|
|
You are Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer.
|
|
You can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,.
|
|
You will receive the task from user.
|
|
To complete the task, you must call the functions to save or edit the codes that appropriately solves the requested instruction based on your expertise and customer's needs.
|
|
base_url: ${BASE_URL}
|
|
api_key: ${API_KEY}
|
|
params: {}
|
|
tooling:
|
|
- type: function
|
|
config:
|
|
tools:
|
|
- name: uv_related:All
|
|
- name: describe_available_files
|
|
- name: read_file_segment
|
|
- name: search_in_files
|
|
- name: list_directory
|
|
timeout:
|
|
thinking:
|
|
memories: []
|
|
retry:
|
|
description: ''
|
|
context_window: -1
|
|
- id: Manual Phase Loop Counter
|
|
type: loop_counter
|
|
config:
|
|
max_iterations: 1
|
|
reset_on_emit: true
|
|
message: ''
|
|
description: ''
|
|
context_window: 0
|
|
- id: Code Reviewer
|
|
type: agent
|
|
config:
|
|
name: gpt-4o
|
|
provider: openai
|
|
role: |-
|
|
${COMMON_PROMPT}
|
|
You are Code Reviewer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer.
|
|
You can help programmers to assess source codes for software troubleshooting, fix bugs to increase code quality and robustness, and offer proposals to improve the source codes.
|
|
You will receive the task from user.
|
|
base_url: ${BASE_URL}
|
|
api_key: ${API_KEY}
|
|
params: {}
|
|
tooling:
|
|
- type: function
|
|
config:
|
|
tools:
|
|
- name: uv_related:All
|
|
- name: describe_available_files
|
|
- name: read_file_segment
|
|
- name: search_in_files
|
|
- name: list_directory
|
|
timeout:
|
|
thinking:
|
|
memories: []
|
|
retry:
|
|
description: ''
|
|
context_window: -1
|
|
- id: Code Review Modification Phase Prompt for Assistant
|
|
type: literal
|
|
config:
|
|
content: |-
|
|
Modality: Code.
|
|
Programming Language: Python.
|
|
Task: Please refer to the input from user.
|
|
Comments on Codes: Please refer to the input from Reviewer.
|
|
Source Code: You MUST firstly call the functions to load the source codes.
|
|
As the Programmer, to satisfy the new user's demand and make the software creative, executive and robust, you should modify corresponding codes according to the comments. Then, update the codes with all bugs fixed based on the comments. You should call the provided functions to save your modification. You should modify existing codes, rather than create your own codes.
|
|
role: user
|
|
description: ''
|
|
context_window: 0
|
|
- id: Test Modification Phase Prompt for Assistant
|
|
type: literal
|
|
config:
|
|
content: |-
|
|
Modality: Code.
|
|
Programming Language: Python.
|
|
Task: Please refer to the input from user.
|
|
Source Code: Yous MUST firstly call the provided functions to load the codes.
|
|
Error Summary of Test Reports: Please refer to the input
|
|
You MUST modify the existing codes. If you try to implement it from scratch yourself, you'll be fired!
|
|
As the Programmer, to satisfy the new user's demand and make the software execute smoothly and robustly, you should modify the source codes based on the error summary. If no bugs are reported, please return only one line like "<INFO> Finished".
|
|
role: user
|
|
description: ''
|
|
context_window: 0
|
|
- id: Test Modification Phase Prompt for User
|
|
type: literal
|
|
config:
|
|
content: |-
|
|
Modality: Code.
|
|
Programming Language: Python.
|
|
Task: Please refer to the input from user.
|
|
Source Code: Yous MUST firstly call the provided functions to load the codes.
|
|
Error Summary of Test Reports: Please refer to the input
|
|
You MUST modify the existing codes. If you try to implement it from scratch yourself, you'll be fired!
|
|
As the Programmer, to satisfy the new user's demand and make the software execute smoothly and robustly, you should modify the source codes based on the error summary. If no bugs are reported, please return only one line like "<INFO> Finished".
|
|
role: assistant
|
|
description: ''
|
|
context_window: 0
|
|
- id: Coding Phase Prompt for Assistant
|
|
type: literal
|
|
config:
|
|
content: |-
|
|
According to the new user's task and our software designs listed below:
|
|
Modality: Code.
|
|
Programming Language: Python.
|
|
Task: Please refer to the input from user.
|
|
We have decided to complete the task through a executable software with multiple files implemented via Python. As the Programmer, to satisfy the new user's demands, you should write one or multiple files and make sure that every detail of the architecture is, in the end, implemented as code.
|
|
Think step by step and reason yourself to the right decisions to make sure we get it right.
|
|
You will first lay out the names of the core classes, functions, methods that will be necessary, as well as a quick comment on their purpose.
|
|
Then you will call the functions provided to firstly create Python venv, and then install packages. After that, you should implement the codes and call the functions to save them.
|
|
Note: the code should be equipped with doc, such as:
|
|
|
|
|
|
"""
|
|
This is the main module to launch the program
|
|
"""
|
|
from server import run
|
|
|
|
if __name__ == "__main__":
|
|
run()
|
|
|
|
|
|
Please note that the code should be fully functional. Ensure to implement all functions. No placeholders (such as 'pass' in Python).
|
|
You should call the provided functions to save your code.
|
|
role: user
|
|
description: ''
|
|
context_window: 0
|
|
- id: Software Test Engineer
|
|
type: agent
|
|
config:
|
|
name: gpt-4o
|
|
provider: openai
|
|
role: |-
|
|
${COMMON_PROMPT}
|
|
You are Software Test Engineer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer.
|
|
You can use the software as intended to analyze its functional properties, design manual and automated test procedures to evaluate each software product, build and implement software evaluation test programs, and run test programs to ensure that testing protocols evaluate the software correctly.
|
|
You will receive the task from user.
|
|
|
|
If you need to run the code, don't forget to set timeout.
|
|
[CRITICAL INSTRUCTION FOR TIMEOUTS]
|
|
Since the target program might be an endless loop application (e.g., a Snake game, a GUI app, or a server), the test runner MUST use a timeout to terminate it.
|
|
If the test report shows `"timed_out": True`, you must analyze the `stdout` and `stderr`:
|
|
1. **Pass**: If the logs indicate the application started successfully (e.g., "Game started", "Listening on port", or simply running without crashing) and was eventually killed by the timeout, **DO NOT classify this as a bug**. You should consider this a successful run.
|
|
2. **Fail**: Only classify a timeout as a bug if the program was supposed to finish quickly (like a calculation script) but hung, or if it produced no output/errors before timing out.
|
|
base_url: ${BASE_URL}
|
|
api_key: ${API_KEY}
|
|
params: {}
|
|
tooling:
|
|
- type: function
|
|
config:
|
|
tools:
|
|
- name: uv_related:All
|
|
- name: apply_text_edits
|
|
- name: create_folder
|
|
- name: describe_available_files
|
|
- name: delete_path
|
|
- name: read_file_segment
|
|
- name: search_in_files
|
|
- name: save_file
|
|
- name: list_directory
|
|
timeout:
|
|
thinking:
|
|
memories: []
|
|
retry:
|
|
description: ''
|
|
context_window: -1
|
|
- id: Code Review Phase Loop Counter
|
|
type: loop_counter
|
|
config:
|
|
max_iterations: 10
|
|
reset_on_emit: true
|
|
message: ''
|
|
description: ''
|
|
context_window: 0
|
|
edges:
|
|
- from: Coding Phase Prompt for Assistant
|
|
to: Programmer Coding
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
process:
|
|
- from: Programmer Coding
|
|
to: Code Complete Phase for Assistant
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: false
|
|
keep_message: false
|
|
process:
|
|
- from: Programmer Code Complete
|
|
to: Code Complete All Phase Loop Counter
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: false
|
|
keep_message: false
|
|
process:
|
|
- from: Code Complete All Phase Loop Counter
|
|
to: Code Complete Phase for Assistant
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: false
|
|
keep_message: false
|
|
process:
|
|
- from: Programmer Code Complete
|
|
to: Code Complete Phase for Assistant
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: false
|
|
keep_message: false
|
|
process:
|
|
- from: Code Complete All Phase Loop Counter
|
|
to: Code Review Comment Phase Prompt for Assistant
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Code Reviewer
|
|
to: Code Review Modification Phase Prompt for Assistant
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Code Reviewer
|
|
to: Programmer Code Review
|
|
trigger: false
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Programmer Code Review
|
|
to: Code Review Comment Phase Prompt for Assistant
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Programmer Code Review
|
|
to: Code Review Phase Loop Counter
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Code Review Phase Loop Counter
|
|
to: Code Review Comment Phase Prompt for Assistant
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Code Review Comment Phase Prompt for Assistant
|
|
to: Programmer Code Review
|
|
trigger: false
|
|
condition: 'true'
|
|
carry_data: false
|
|
keep_message: false
|
|
clear_context: true
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Test Error Summary Phase Prompt for Assistant
|
|
to: Programmer Test Error Summary
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: true
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Test Error Summary Phase Prompt for Assistant
|
|
to: Programmer Test Modification
|
|
trigger: false
|
|
condition: 'true'
|
|
carry_data: false
|
|
keep_message: false
|
|
clear_context: true
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Programmer Test Error Summary
|
|
to: Programmer Test Modification
|
|
trigger: false
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Code Review Phase Loop Counter
|
|
to: Test Error Summary Phase Prompt for Assistant
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Programmer Test Error Summary
|
|
to: Test Modification Phase Prompt for Assistant
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Code Review Modification Phase Prompt for Assistant
|
|
to: Programmer Code Review
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Test Phase Loop Counter
|
|
to: Test Error Summary Phase Prompt for Assistant
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Programmer Test Modification
|
|
to: Software Test Engineer
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Software Test Engineer
|
|
to: Test Modification Phase Loop Counter
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Software Test Engineer
|
|
to: Programmer Test Modification
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Test Modification Phase Loop Counter
|
|
to: Programmer Test Modification
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Test Modification Phase Loop Counter
|
|
to: PSEUDO
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Programmer Test Modification
|
|
to: PSEUDO
|
|
trigger: true
|
|
condition:
|
|
type: keyword
|
|
config:
|
|
any:
|
|
- <INFO>
|
|
none: []
|
|
regex: []
|
|
case_sensitive: true
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Software Test Engineer
|
|
to: PSEUDO
|
|
trigger: true
|
|
condition:
|
|
type: keyword
|
|
config:
|
|
any:
|
|
- <INFO>
|
|
none: []
|
|
regex: []
|
|
case_sensitive: true
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: USER
|
|
to: Programmer Coding
|
|
trigger: false
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: true
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: USER
|
|
to: Programmer Code Complete
|
|
trigger: false
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: true
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: USER
|
|
to: Code Reviewer
|
|
trigger: false
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: true
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: USER
|
|
to: Programmer Code Review
|
|
trigger: false
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: true
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: USER
|
|
to: Programmer Test Error Summary
|
|
trigger: false
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: true
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: USER
|
|
to: Software Test Engineer
|
|
trigger: false
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: true
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: USER
|
|
to: Programmer Test Modification
|
|
trigger: false
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: true
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Code Complete Phase for Assistant
|
|
to: Programmer Code Complete
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: true
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Code Review Comment Phase Prompt for Assistant
|
|
to: Code Reviewer
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: true
|
|
clear_kept_context: false
|
|
process:
|
|
- from: PSEUDO
|
|
to: Test Error Summary Phase Prompt for Assistant
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: PSEUDO
|
|
to: Test Phase Loop Counter
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Programmer Test Error Summary
|
|
to: Test Modification Phase Prompt for User
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Manual Phase Prompt for User
|
|
to: Chief Executive Officer
|
|
trigger: false
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: true
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Manual Phase Prompt for Assistant
|
|
to: Chief Product Officer
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: true
|
|
clear_kept_context: false
|
|
process:
|
|
- from: USER
|
|
to: Chief Executive Officer
|
|
trigger: false
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: true
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: USER
|
|
to: Chief Product Officer
|
|
trigger: false
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: true
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Chief Product Officer
|
|
to: Chief Executive Officer
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Manual Phase Loop Counter
|
|
to: FINAL
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: PSEUDO
|
|
to: Manual Phase Prompt for User
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: PSEUDO
|
|
to: Manual Phase Prompt for Assistant
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Code Reviewer
|
|
to: Test Error Summary Phase Prompt for Assistant
|
|
trigger: true
|
|
condition:
|
|
type: keyword
|
|
config:
|
|
any:
|
|
- <INFO> Finished
|
|
none: []
|
|
regex: []
|
|
case_sensitive: true
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Programmer Code Complete
|
|
to: Code Review Comment Phase Prompt for Assistant
|
|
trigger: true
|
|
condition:
|
|
type: keyword
|
|
config:
|
|
any:
|
|
- <INFO> FINISHED
|
|
none: []
|
|
regex: []
|
|
case_sensitive: true
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Chief Executive Officer
|
|
to: Manual Phase Loop Counter
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Chief Executive Officer
|
|
to: Chief Product Officer
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Manual Phase Loop Counter
|
|
to: Chief Product Officer
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Test Modification Phase Prompt for Assistant
|
|
to: Programmer Test Modification
|
|
trigger: true
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Test Modification Phase Prompt for User
|
|
to: Software Test Engineer
|
|
trigger: false
|
|
condition: 'true'
|
|
carry_data: true
|
|
keep_message: false
|
|
clear_context: false
|
|
clear_kept_context: false
|
|
process:
|
|
- from: Test Error Summary Phase Prompt for Assistant
|
|
to: Software Test Engineer
|
|
trigger: false
|
|
condition: 'true'
|
|
carry_data: false
|
|
keep_message: false
|
|
clear_context: true
|
|
clear_kept_context: false
|
|
process:
|
|
memory: []
|
|
initial_instruction: ''
|
|
start:
|
|
- USER
|
|
- Coding Phase Prompt for Assistant
|
|
end: []
|
|
vars:
|
|
COMMON_PROMPT: ChatDev is a software company powered by multiple intelligent
|
|
agents, such as chief executive officer, chief human resources officer,
|
|
chief product officer, chief technology officer, etc, with a multi-agent
|
|
organizational structure and the mission of \"changing the digital world
|
|
through programming\".
|