Skip to content

v0.5.0: Incremental Development and Optimized Messaging Mechanism

Compare
Choose a tag to compare
@garylin2099 garylin2099 released this 17 Dec 05:47
f65c7a0

Release Highlights

Overall

  1. Multilingual Support (Experimental): Now supports both Chinese and English, and theoretically other languages.
  2. Multiple Programming Languages Support (Experimental): Support for various programming languages is now available, allowing for the natural generation of JavaScript projects. However, it's noted that GPT-4-turbo has significantly stronger capabilities in Python, and there is considerable room for improvement with other programming languages.
  3. Incremental Development (Experimental): It's now possible to incrementally raise requirements and bug fixes, allowing for further optimization of the generated repo.
  4. CLI Support: You can now use metagpt "make a 2048 game" to let metagpt write software directly in the command line. More features can be unlocked with metagpt --help.
  5. PIP Support: pip install metagpt is now available for installing and using metagpt, enabling direct access to the command-line version of metagpt.
  6. Enhanced Code Review: The generated code now undergoes a more comprehensive code review, which significantly improves code quality.
  7. File Management with Git: An independent documentation workspace with a complete git history is now used to record changes in historical code.
  8. Optimized Messaging Mechanism: Privatized Role memory, providing an inter-Role messaging mechanism that supports broadcasting, group messaging, and private messaging.

Details

Category Content
Action Optimization
  • Action Optimization: Atomic ActionNode design. Multiple roles now use ActionNode.
  • SummarizeCode Action: Summarizing based on code.
  • CodeReview Action Enhancement: Mandatory question answering for higher success.
    • LGTM/LBTM responses; stops on LGTM without rewriting code.
    • code_review_k_times parameter in settings, set to 2.
    • Potential non-compliance, need for ActionNode structure long-term.
  • WriteDesign: Removed project_name correction code; prompt format changed from ## to JSON.
Data Structures
  • Document Standardization: Git management in project folders, CONFIG.git_repo -> FileRepository for project code files handling; FileRepository with text file capabilities.
  • FileRepository: Data lineage recording for rebuilding data.
  • Repo Structure: For Document and metadata loading; FileRepository is live.
  • RepoParser: Simple AST parser, symbol library for the entire repository.
  • Role objects: Privatized memory.
  • Message Function: Retained for event notification, weakened data transportation.
Configuration Optimization
  • Default to gpt-4-1106-preview.
  • ~/.metagpt for highest priority config, reading config.yaml.
  • METAGPT_PROJECT_ROOT for workspace path specification.
  • project_name specification via command line, generated by ProductManager.
CLI Support
  • metagpt as default command line.
  • New METAGPT_ROOT generation method for CLI installation.
  • Switched to typer for command line.
  • Flexible project_name specification.
  • --project-path parameter for project specification.
Other
  • Support for multiple languages, Chinese tested.
  • Naming change: BossRequirement -> UserRequirement.
  • Error text corrections for readability.
  • Prompt word optimization for accuracy.
  • Blocked LongtermMemory logic due to loading time.
  • Fixed description errors in installation package.
  • Removed redundant base modification in config.
  • Fixed JSON storage issues with Chinese, ensure_ascii=False.

What's Changed

Backwards Incompatible Changes

  • Remove Role.recv and Role.handle. Corresponding logic is moved into Role._observe
  • Role._publish_message -> Role.publish_message
  • Team.start_project -> Team.run_project. Given we support incremental development, we use "run" to refer to project execution in general, as opposed to "starting" a project from scratch

We will explain incremental development and the new messaging mechanism on the documentation site, stay tuned!

Features

  • IMPORTANT: Multilingual support (experimental), multiple programming languages support (experimental), incremental development (experimental), CLI support, pip support, enhanced code review, documentation mechanism, optimized messaging mechanism by @iorisa @geekan #552 . Check out the highlights above for details.

Bugfixes and improvements

  • Add gpt-4-turbo and gpt-3-turbo-1106 in openai token count by @WannaTen #548
  • Fix spelling errors in prompt by @0aaryan #554