Youtu-Agent is a simple but powerful framework for building, running, and evaluating agents.
Project description
Youtu-Agent: A simple yet powerful agent framework that delivers with open-source models
| 中文 | 日本語 | 🌟 Performance | 💡 Examples | ✨ Features | 🚀 Getting Started | 📢 Join Discord or WeChat |
Youtu-Agent is a flexible, high-performance framework for building, running, and evaluating autonomous agents. Beyond topping the benchmarks, this framework delivers powerful agent capabilities, e.g. data analysis, file processing, and deep research, all with open-source models.
Key highlights:
- Verified performance: Achieved 71.47% on WebWalkerQA (pass@1) and 72.8% on GAIA (text-only subset, pass@1), using purely
DeepSeek-V3series models (without Claude or GPT), establishing a strong open-source starting point. - Open-source friendly & cost-aware: Optimized for accessible, low-cost deployment without reliance on closed models.
- Practical use cases: Out-of-the-box support for tasks like CSV analysis, literature review, personal file organization, and podcast and video generation (coming soon).
- Flexible architecture: Built on openai-agents, with extensible support for diverse model APIs (form
DeepSeektogpt-oss), tool integrations, and framework implementations. - Automation & simplicity: YAML-based configs, auto agent generation, and streamlined setup reduce manual overhead.
🗞️ News
- 🚀 [2025-10-10] Training-Free Group Relative Policy Optimization. RL for DeepSeek-V3.2 at $8? Yes, it’s possible! Training-free GRPO keeps DeepSeek-V3.2 frozen, learns a token prior from ~100 samples for ~$8 RL runs, delivers verified math and web search gains! [code in branch training_free_GRPO] [x thread].
- 🛠️ [2025-09-28] Agent auto-generation now ships with companion tooling: describe a capability once and let
Youtu-Agentbuild the tool for you. [details]. - 📺 [2025-09-09] We hosted a live sharing the design philosophy and basic usage of
Youtu-Agent. [video] [documentation]. - 🎁 [2025-09-02] Tencent Cloud International offers new users of the DeepSeek API 3 million free tokens (Sep 1 – Oct 31, 2025). Try it out for free if you want to use DeepSeek models in
Youtu-Agent! For enterprise agent solutions, also check out Agent Development Platform (ADP). - 📺 [2025-08-28] We hosted a live sharing updates about DeepSeek-V3.1 and how to use it in the
Youtu-Agentframework. [video] [documentation].
🌟 Benchmark Performance
Youtu-Agent is built on open-source models and lightweight tools, demonstrating strong results on challenging deep search and tool use benchmarks.
- WebWalkerQA: Achieved 60.71% accuracy with
DeepSeek-V3-0324, using new releasedDeepSeek-V3.1can further improve to 71.47%, setting a new SOTA performance. - GAIA: Achieved 72.8% pass@1 on the text-only validation subset using
DeepSeek-V3-0324(including models used within tools). We are actively extending evaluation to the full GAIA benchmark with multimodal tools, and will release the trajectories in the near future. Stay tuned! ✨
💡 Examples
Click on the images to view detailed videos.
|
Data Analysis Analyzes a CSV file and generates an HTML report. |
File Management Renames and categorizes local files for the user. |
|
Wide Research Gathers extensive information to generate a comprehensive report, replicating the functionality of Manus. |
Paper Analysis Parses a given paper, performs analysis, and compiles related literature to produce a final result. |
[!NOTE] See the
examplesdirectory and documentation for more details.
🤖 Automatic Tool and Agent Generation
A standout feature of Youtu-Agent is its ability to automatically generate tools alongside agent configurations. Other frameworks often make you hand-code functions or hand-craft prompts before an agent can even run. Here, you simply describe the task: the built-in meta-agent interviews you, assembles the necessary tools, produces YAML configs, and saves everything so you can execute it immediately.
# Interactively clarify your requirements and auto-generate a config
python scripts/gen_simple_agent.py
# Run the generated config
python scripts/cli_chat.py --config generated/xxx
|
Automatic Agent Generation Interactively clarify your requirements, automatically generate the agent configuration, and run it right away. |
Automatic Tool Generation Describe the behaviors you need, let the meta-agent draft tool code and schemas, then drop them straight into your workflow. |
[!NOTE] See documentation for more details.
✨ Features
Design Philosophy
- Minimal design: We try to keep the framework simple and easy to use, avoiding unnecessary overhead.
- Modular & configurable: Flexible customization and easy integration of new components.
- Open-source model support & low-cost: Promotes accessibility and cost-effectiveness for various applications.
Core Features
- Built on openai-agents: Leveraging the foundation of openai-agents SDK, our framework inherits streaming, tracing, and agent-loop capabilities, ensuring compatibility with both
responsesandchat.completionsAPIs for seamless adaptation to diverse models like gpt-oss. - Fully asynchronous: Enables high-performance and efficient execution, especially beneficial for evaluating benchmarks.
- Tracing & analysis system: Beyond OTEL, our
DBTracingProcessorsystem provides in-depth analysis of tool calls and agent trajectories. (will be released soon)
Automation
- YAML based configuration: Structured and easily manageable agent configurations.
- Automatic agent generation: Based on user requirements, agent configurations can be automatically generated.
- Tool generation & optimization: Tool evaluation and automated optimization, and customized tool generation will be supported in the future.
Use Cases
- Deep / Wide research: Covers common search-oriented tasks.
- Webpage generation: Examples include generating web pages based on specific inputs.
- Trajectory collection: Supports data collection for training and research purposes.
🤔 Why Choose Youtu-Agent?
Youtu-Agent is designed to provide significant value to different user groups:
For Agents Researchers & LLM Trainers
- A simple yet powerful baseline that is stronger than basic ReAct, serving as an excellent starting point for model training and ablation studies.
- One-click evaluation scripts to streamline the experimental process and ensure consistent benchmarking.
For Agent Application Developers
- A proven and portable scaffolding for building real-world agent applications.
- Ease of Use: Get started quickly with simple scripts and a rich set of built-in toolkits.
- Modular Design: Key components like
EnvironmentandContextManagerare encapsulated yet highly customizable.
For AI & Agent Enthusiasts
- Practical Use Cases: The
/examplesdirectory includes tasks like deep research report generation, data analysis, and personal file organization. - Simplicity & Debuggability: A rich toolset and visual tracing tools make development and debugging intuitive and straightforward.
🧩 Core Concepts
- Agent: An LLM configured with specific prompts, tools, and an environment.
- Toolkit: An encapsulated set of tools that an agent can use.
- Environment: The world in which the agent operates (e.g., a browser, a shell).
- ContextManager: A configurable module for managing the agent's context window.
- Benchmark: An encapsulated workflow for a specific dataset, including preprocessing, rollout, and judging logic.
For more design and implementation details, please refer to our technical documentation.
🚀 Getting Started
Youtu-Agent provides complete code and examples to help you get started quickly. Follow the steps below to run your first agent, or refer to docker/README.md for a streamlined Docker-based setup with interactive frontend.
Setup
Source Code Deployment
[!NOTE] The project requires Python 3.12+. We recommend using uv for dependency management.
First, make sure Python and uv are installed.
Then clone the repository and sync dependencies:
git clone https://github.com/TencentCloudADP/youtu-agent.git
cd youtu-agent
uv sync # or, `make sync`
source ./.venv/bin/activate
cp .env.example .env # NOTE: You should then config the necessary API keys.
After copying the .env.example file, you need to fill in the necessary keys in the .env file, e.g. LLM API keys. For example:
# llm requires OpenAI API format compatibility
# setup your LLM config , ref https://api-docs.deepseek.com/
UTU_LLM_TYPE=chat.completions
UTU_LLM_MODEL=deepseek-chat
UTU_LLM_BASE_URL=https://api.deepseek.com/v1
UTU_LLM_API_KEY=replace-to-your-api-key
Tencent Cloud International offers new users of the DeepSeek API 3 million free tokens (Sep 1 – Oct 31, 2025). Try it out for free. Once you’ve applied, replace the API key in the .env file below:
# llm
# setup your LLM config , ref https://www.tencentcloud.com/document/product/1255/70381
UTU_LLM_TYPE=chat.completions
UTU_LLM_MODEL=deepseek-v3
UTU_LLM_BASE_URL=https://api.lkeap.cloud.tencent.com/v1
UTU_LLM_API_KEY=replace-with-your-api-key
Docker Deployment
Please refer to docker/README.md for a streamlined Docker-based setup with interactive frontend.
Quick Start
Youtu-agent ships with built-in configurations. For example, the config configs/agents/simple/base_search.yaml defines a simple agent equipped with a search tool:
defaults:
- /model/base
- /tools/search@toolkits.search
- _self_
agent:
name: simple-tool-agent
instructions: "You are a helpful assistant that can search the web."
You can launch an interactive CLI chatbot with this agent by running:
# NOTE: You need to set `SERPER_API_KEY` and `JINA_API_KEY` in `.env` for web search access.
# (We plan to replace these with free alternatives in the future)
python scripts/cli_chat.py --config simple/base_search
# To avoid using the search toolkit, you can run:
python scripts/cli_chat.py --config simple/base
📖 More details: Quickstart Documentation
Explore More Examples
The repository provides multiple ready-to-use examples. Some examples require the agent to have internet search capabilities, so you’ll need to configure the tool APIs in the .env file under the tools module:
# tools
# serper api key, ref https://serper.dev/playground
SERPER_API_KEY=<Access the URL in the comments to get the API Key>
# jina api key, ref https://jina.ai/reader
JINA_API_KEY=<Access the URL in the comments to get the API Key>
For example, to enable the agent to automatically search online for information and generate an SVG image on the topic of “DeepSeek V3.1 New Features,” run the following command:
python examples/svg_generator/main.py
If you want to visualize the agent’s runtime status using the web UI, download the frontend package from the Youtu-Agent releases and install it locally:
# Download the frontend package
curl -LO https://github.com/Tencent/Youtu-agent/releases/download/frontend%2Fv0.2.0/utu_agent_ui-0.2.0-py3-none-any.whl
# Install the frontend package
uv pip install utu_agent_ui-0.2.0-py3-none-any.whl
Next, run the web version of the SVG image generation command:
python examples/svg_generator/main_web.py
Once the terminal shows the following message, the deployment is successful. You can access the project by clicking the local link:
Server started at http://127.0.0.1:8848/
Given a research topic, the agent will automatically search the web, collect relevant information, and output an SVG visualization.
📖 Learn more: Examples Documentation
Run Evaluations
Youtu-Agent also supports benchmarking on standard datasets. For example, to evaluate on WebWalkerQA:
# Prepare dataset. This script will download and process WebWalkerQA dataset, and save it to DB.
python scripts/data/process_web_walker_qa.py
# Run evaluation with config `ww.yaml` with your custom `exp_id`. We choose the sampled small dataset `WebWalkerQA_15` for quick evaluation.
# NOTE: `JUDGE_LLM_TYPE, JUDGE_LLM_MODEL, JUDGE_LLM_BASE_URL, JUDGE_LLM_API_KEY` should be set in `.env`. Ref `.env.full`.
python scripts/run_eval.py --config_name ww --exp_id <your_exp_id> --dataset WebWalkerQA_15 --concurrency 5
Results are stored and can be further analyzed in the evaluation platform. See Evaluation Analysis.
📖 Learn more: Evaluation Documentation
📖 Dive Deeper
After getting started, you can learn more about the framework and its capabilities through our full documentation:
- 📖 Full Documentation: Explore the core concepts, architecture, and advanced features.
- 🚀 Quickstart Guide: A detailed guide to get you up and running.
- ❓ FAQ: Find answers to common questions and issues.
🙏 Acknowledgements
This project builds upon the excellent work of several open-source projects:
🙌 Contributing
We welcome contributions from the community! If you'd like to help improve Youtu-Agent, please read our Contributing Guidelines to get started.
📚 Citation
If you find this work useful, please consider citing:
@misc{training_free_grpo,
title={Training-Free Group Relative Policy Optimization},
author={Tencent Youtu Lab},
year={2025},
eprint={2510.08191},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2510.08191},
}
@misc{youtu-agent-2025,
title={Youtu-agent: A Simple yet Powerful Agent Framework},
author={Tencent Youtu Lab},
year={2025},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/TencentCloudADP/youtu-agent}},
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file youtu_agent-0.1.2.tar.gz.
File metadata
- Download URL: youtu_agent-0.1.2.tar.gz
- Upload date:
- Size: 49.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b197db9e5d78f3d0f9f01bfbfe40f532b239480ea6264fb300c67aa83dc3aef4
|
|
| MD5 |
b561e2648eab2234be5a26a3624fe457
|
|
| BLAKE2b-256 |
c10545284bc619951007b18818408397abae6d9694de81fd11a3dc5c0eb1b374
|
File details
Details for the file youtu_agent-0.1.2-py3-none-any.whl.
File metadata
- Download URL: youtu_agent-0.1.2-py3-none-any.whl
- Upload date:
- Size: 29.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
20ff5713defb2c550966161aad3643ec04cd083a5b43c7294c957a094fe48f2b
|
|
| MD5 |
35f74b4ff73a28beb376aa41ce263410
|
|
| BLAKE2b-256 |
1646ee9b0efc10c03085eb8317bd4680a34f5420ee08d0500eba8299d9c27653
|