You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1. The first three messages are carried to the refine phase (system, query, and architecture design)
63
-
2. Building begins (in this case, npm install & npm run dev/build); error messages are incorporated into the process
64
-
3. The refiner distributes tasks to programmers to read files and collect information (these tasks do no coding)
65
-
4. The refiner creates a fix plan with the information collected from the tasks
66
-
5. The refiner distributes tasks to fix the problems
67
-
6. After all problems are resolved, users can input additional requirements, and the refiner will analyze and update the code accordingly
91
+
Each agent produces structured intermediate outputs, ensuring engineering rigor throughout the pipeline.
68
92
69
93
## Developer Guide
70
94
71
95
Function of each module:
72
96
73
-
-**workflow.yaml** - Entry configuration file used to describe the entire workflow's running process. You can add other processes
74
-
-**agent.yaml** - Configuration file for each Agent in the workflow. This file is loaded in the first Agent and passed to subsequent processes
75
-
-**config_handler.py** - Controls config modifications for each Agent in the workflow, for example, dynamically modifying callbacks and tools that need to be loaded for different scenarios like Architecture, Refiner, Worker, etc.
76
-
-**callbacks/artifact_callback.py** - Code storage callback. All code in this project uses the following format:
77
-
78
-
```js:js/index.js
79
-
... code ...
80
-
```
81
-
js/index.js is used for file storage. This callback parses all code blocks matching this format in a task and stores them as files.
82
-
In this project, a worker can write multiple files because code writing is divided into different clusters, allowing more closely related modules to be written together, resulting in fewer bugs.
83
-
-**callbacks/coding_callback.py**- This callback adds several necessary fields to each task's system before the `split_to_sub_task` tool is called:
84
-
* Complete project design
85
-
* Code standards (currently fixed to insert frontend standards)
86
-
* Code generation format
87
-
- **callbacks/eval_callback** - Automatically compiles npm (developers using other languages can also modify this to other compilation methods) and hands it to the Refiner for checking and fixing:
88
-
* The Refiner first analyzes files that might be affected based on errors and uses `split_to_sub_task` to assign tasks for information collection
89
-
* The Refiner redistributes fix tasks based on collected information, using `split_to_sub_task` for repairs
97
+
- **workflow.yaml** - Entry configuration file defining the 7-stage pipeline. You can customize the workflow sequence here
98
+
- **user_story.yaml / architect.yaml / file_design.yaml / file_order.yaml / install.yaml / coding.yaml / refine.yaml** - Configuration files for each agent in the workflow
99
+
- **workflow/*.py** - Python implementation for each agent's logic
90
100
91
101
## Human Evaluation
92
102
@@ -98,13 +108,5 @@ After all writing and compiling is finished, an input will be shown to enable hu
98
108
* The browser console
99
109
* Page errors
100
110
3. After the website runs normally, you can adjust the website, add new features, or refactor something
101
-
4. If you find the token cost is huge or there's an infinite loop, stop it at any time.The project serves as a cache in~/.cache/modelscope/hub/workflow_cache
111
+
4. If you find the token cost is huge or there's an infinite loop, stop it at any time.
102
112
5. Feel free to optimize the code and bring new ideas
103
-
104
-
## TODOs
105
-
106
-
1. Generation is unstable
107
-
2. Bug fixing cost long
108
-
3.A recall tool to help locate related files and errors, preload some file content can help reduce errors
109
-
* example:Error reported in scss file, but the error actually invite.config.js
0 commit comments