geekan / MetaGPT

🌟 The Multi-Agent Framework: First AI Software Company, Towards Natural Language Programming
https://deepwisdom.ai/
MIT License
45.41k stars 5.4k forks source link

Group related issues: solutions about incremental development in MetaGPT #1498

Open iorisa opened 1 month ago

iorisa commented 1 month ago

Issues

Bug solved method The previous incremental software development method based on SOP has several issues:

To address this, we propose a more practical solution. It is an upgraded version of DI (Data Interpreter) called RoleZero, which will be released soon. It adopts the following methods to handle software development issues with real-time human-computer interaction:

  1. Generate sequence diagrams from requirements. This compresses the content size of requirement descriptions and supports flexible changes in requirements and switching between programming languages.
  2. Generate code from sequence diagrams rather than directly from user requirements. This approach supports design outputs reuse, can flexibly generate code in different languages, allows for additional technical requirements during code generation (such as which packages must be used, how interfaces should be utilized, etc.), and supports mixed programming languages.
  3. Bug modifications can be implemented through human-computer interaction, directly targeting specific files.
  4. Regarding the coding of the UI, you can use RoleZero to convert UI pictures into code, and then merge them into the backend code generated based on the sequence diagrams through human-computer interaction.

Design Outputs Demo Here is an example of a sequence diagram generated by RoleZero based on real software development requirements giving a user requirement PDF file and an external system interface usage PDF file, to help everyone understand RoleZero's capabilities in interpreting requirements. image image

Subsequent issues related to new requirements or bug fixes will be consolidated under this issue for further follow-up.

hgftrdw45ud67is8o89 commented 1 month ago

although PDF is a awesome file/document format, I personally think a json or etc would be better.

Because I am scared that the pdf parser could be too complex to use/maintain (especially compatibility).

PDF is originally by adobe,so i think we must make sure the save format is https://www.iso.org/standard/75839.html

But,it's at least better than docx or .yaml.

I think we are heading to the right direction.But, this seems to only showcase the legal SOP situation with systeminterfaceusage..pdf ?

iorisa commented 1 month ago

We choose to use PDF because in reality, most software requirements are archived and transferred using docx or PDF documents, so this is an adjustment based on the real-world situation.

PDF is just a file format, it does not define the content.

However, in reality, the description of software requirements often has various issues, and it needs further improvement. Compared to requirement documents, interface specifications are easier to use directly. So sometimes we do not directly use the requirement document because the requirement description in it still has problems that need to be further resolved.

although PDF is a awesome file/document format, I personally think a json or etc would be better.

Because I am scared that the pdf parser could be too complex to use/maintain (especially compatibility).

PDF is originally by adobe,so i think we must make sure the save format is https://www.iso.org/standard/75839.html

But,it's at least better than docx or .yaml.

I think we are heading to the right direction.But, this seems to only showcase the legal SOP situation with systeminterfaceusage..pdf ?

hgftrdw45ud67is8o89 commented 4 weeks ago

i see. will wait for the release and test it out.