## Background
For users utilizing the agentUniverse package with a version less than or equal to 0.0.13, we encourage you to upgrade the package to version 0.0.14.

The version 0.0.14 of agentUniverse has upgraded its architecture on the basis of the original framework functions. It has added new paradigms for agent construction, such as agent template and work pattern, and has also provided new aU example projects [examples](../../../../examples) as well as the upgraded standard application project structure.

This article serves as a migration guide to help users quickly complete the upgrade to the new version of aU.

New Standard Application Project Structure
In version 0.0.14, we recommend the following standard application project structure. For the specific meanings of each layer and package directory, please refer to the [Application_Project_Structure_and_Explanation](1.Application_Project_Structure_and_Explanation.md).
```
/
├── bootstrap/
│   ├── intelligence/
│   │   └── server_application.py
│   ├── platform/
│   │   └── product_application.py
├── intelligence/
│   ├── agentic/
│   │   ├── agent
│   │   │   └── agent_instance
│   │   │   └── agent_template
│   │   ├── knowledge
│   │   │   └── store/
│   │   │   └── rag_router/
│   │   │   └── doc_processor/
│   │   ├── llm
│   │   ├── prompt
│   │   ├── memory
│   │   ├── tool
│   │   └── work_pattern
│   ├── service/
│   │   └── agent_service
│   │   └── classic_service
│   ├── dal/
│   ├── integration/
│   ├── utils/
│   └── test/
├── platform/
├── config
├── pyproject.toml
└── other project files...
```

Considering that migrating the project directory structure from the old to the new version involves certain costs, we have provided a convenient migration script for your reference and use: [au_dir_structure_updater](../../../../au_dir_structure_updater.py).

### Script Usage Steps:

1. Move the script file to the root directory of your application. For example, if your application root directory is `sample_standard_app`, move the `au_dir_structure_updater.py` file into `sample_standard_app`.
2. Run the script. The script will create the new directory structure (using the `create_directory_structure` method).
3. Based on the `migration_rules` configured in the script (which you can customize by adding or removing rules), it will migrate the old project files to the new directory structure (using the `migrate_files` method).
4. During the migration process, the script will also update the metadata paths in the new YAML files and the import package paths in the Python files.
5. Modify the package scanning path in `config.toml`. Refer to the `CORE_PACKAGE` in the [sample_config](../../../../examples/sample_standard_app/config/config.toml).
6. Run the local test files to verify whether the agent runs successfully.

## Agent Template
In version 0.0.14, we recommend using the agent template instead of the planner component in the original aU. For the specific principles of agent template, please refer to the documentation: [agentTemplate](../../en/In-Depth_Guides/Tutorials/Agent/AgentTemplate.md).

When the execution process of an agent has a strong degree of reusability, we can abstract it from the agent's execute method and encapsulate it into a standard agent template for convenient reuse and sharing in the future.

In the current version 0.0.14 of agentUniverse, a variety of agent templates have been developed, such as PeerAgentTemplate, RagAgentTemplate, and ReActAgentTemplate. You can simply configure them to achieve out-of-the-box functionality.

For instructions on building agents using agent templates, please refer to the documentation: [Creating_and_Using_Agent_Templates](../Get_Start/5.Creating_and_Using_Agent_Templates.md).

## Work Pattern
The work pattern in aU is an abstraction level above the agent template. For details, please refer to the documentation: [WorkPattern](../../en/In-Depth_Guides/Tutorials/WorkPattern/WorkPattern.md). The built-in work pattern in agentUniverse is [PeerWorkPattern](../../../../agentuniverse/agent/work_pattern/peer_work_pattern.py).