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