| name | youtu_agent |
| description | Flexible, high-performance framework for building, running, and evaluating autonomous agents with automated generation, experience learning, and RL training capabilities. |
| source_type | github |
| auth_required | true |
| repository_url | https://github.com/TencentCloudADP/youtu-agent |
| reference_url | https://arxiv.org/abs/2512.24615 |
youtu_agent
Flexible, high-performance framework for building, running, and evaluating autonomous agents with automated generation, experience learning, and RL training capabilities.
Code repository
https://github.com/TencentCloudADP/youtu-agent
Use this as the implementation source: clone the repo and follow its README for install, dependencies, and how to run code or experiments. The generated client prints JSON with a suggested git clone command.
Paper (arXiv — explanation)
https://arxiv.org/abs/2512.24615
This is the paper reference. The client can optionally fetch live Atom metadata (title, abstract) for agents; it does not run training or upstream research code by itself.
What “running” this client does
The *_client.py script prints JSON that combines a GitHub repository (clone URL + suggested git clone) with optional paper context from arXiv (live Atom metadata when reference_url is arXiv). Run the real code by cloning the repo and following its README — the skill is your agent-facing entrypoint, not a substitute for the repo’s install steps.
To call a REST API instead, set BASE_URL in scripts/youtu_agent_client.py or wrap the upstream CLI with subprocess after clone.
How to run the method (from the source)
Extracted for operators and agents. Confirm against the upstream repository or paper before relying on it in production.
Prerequisites
- Python 3.12 or higher
- uv package manager (recommended) or pip
- API keys for LLM providers (DeepSeek, OpenAI, etc.)
- Optional: API keys for tools (Serper for web search, Jina for web reading)
Installation
Clone and set up the repository:
git clone https://github.com/TencentCloudADP/youtu-agent.git
cd youtu-agent
uv sync
source ./.venv/bin/activate
cp .env.example .env
Alternatively, use Docker:
How to run
Interactive CLI Chat
python scripts/cli_chat.py --config simple/base
python scripts/cli_chat.py --config simple/base_search
Generate Agent Automatically
python scripts/gen_simple_agent.py
python scripts/cli_chat.py --config generated/xxx
Run Examples
python examples/svg_generator/main.py
python examples/svg_generator/main_web.py
Run Evaluations
python scripts/data/process_web_walker_qa.py
python scripts/run_eval.py --config_name ww --exp_id <your_exp_id> --dataset WebWalkerQA_15 --concurrency 5
Configuration
Environment Variables
Edit .env file with required API keys:
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
JUDGE_LLM_TYPE=chat.completions
JUDGE_LLM_MODEL=deepseek-chat
JUDGE_LLM_BASE_URL=https://api.deepseek.com/v1
JUDGE_LLM_API_KEY=replace-to-your-api-key
SERPER_API_KEY=your-serper-api-key
JINA_API_KEY=your-jina-api-key
Alternative: Tencent Cloud DeepSeek
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
Agent Configuration Files
Agent configurations are YAML files in configs/agents/. Example structure:
defaults:
- /model/base
- /tools/search@toolkits.search
- _self_
agent:
name: simple-tool-agent
instructions: "You are a helpful assistant that can search the web."
Web UI Frontend
Download and install 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
uv pip install utu_agent_ui-0.2.0-py3-none-any.whl
Then run web-enabled examples:
python examples/svg_generator/main_web.py
The same text lives in scripts/USAGE.md for tools that prefer reading files under scripts/.
Parameters
--api-key (str) [required] API key for authentication
--config (str) [required] Path or name of the agent configuration file (YAML). Examples: 'simple/base_search', 'simple/base', 'ww'
--exp-id (str) [optional, default=None] Experiment identifier for evaluation runs
--dataset (str) [optional, default=None] Dataset name for evaluation. Examples: 'WebWalkerQA_15', 'GAIA'
--concurrency (int) [optional, default=5] Number of concurrent evaluation tasks
--config-name (str) [optional, default=None] Configuration name for evaluation (e.g., 'ww' for WebWalkerQA)
Usage
python3 scripts/youtu_agent_client.py --config simple/base_search
Example Output
{"response": "agent_output", "trajectory": [...]}