EvoScientist: Self-Evolving AI Scientist
Harness vibe research with self-evolving AI scientists that autonomously explore, generate insights, and iteratively improve.
Evidence shows: README mentions human-in-the-loop approval (v0.2.5 unified approval), Docker container runs as non-root user and restricts shell access, but lacks specific least-privilege details. Deductions: tool permission scope not detailed, data flow transparency insufficient, sensitive data handling details missing, dependency security no vulnerability scanning mentioned, external effects (e.g., network requests) not explicit, rollback mechanism not described, source attribution only author info.
Evidence shows: README and pyproject.toml versions consistent (0.2.6), dependencies have version constraints, test files exist. Deductions: failure message handling not documented, dependency availability no mirror or cache strategy.
Evidence shows: README describes multiple usage scenarios (CLI, WebUI, mobile, Docker), supports multiple providers and channels, capability boundaries stated (e.g., iMessage unavailable). Deductions: trigger precision (e.g., command syntax) not detailed, environment fit (e.g., Windows issues) only partially mentioned.
Evidence shows: README well-structured, install notes detailed, naming stable (evosci etc.), version changelog present, license Apache-2.0. Deductions: examples and FAQ sparse, known limitations not systematically listed, maintenance responsibility unclear (only author info).
Evidence shows: output format has stream-json option, rich features (multi-agent, memory, skills), high marginal value. Deductions: cost-benefit not discussed, e.g., API costs, resource consumption.
Evidence shows: README claims rankings and awards, but no reproducible steps or data provided. Deductions: claims lack traceability, cross-source corroboration insufficient, facts and inferences not clearly separated.
- Publisher identity unverified; treat source with caution.
- Many dependencies with some unpinned versions, posing supply chain risk.
- Rankings and awards claims in README lack reproducible data.
- Sensitive data handling and least-privilege details insufficient; review yourself.
What does this agent do, and when should you use it?
EvoScientist is a Python-based multi-agent framework for automating scientific research, adopting a human-on-the-loop paradigm where AI acts as a research buddy co-evolving with human researchers. It features a multi-agent team of six sub-agents (plan, research, code, debug, analyze, write), a self-evolving memory system that auto-distills observations into a knowledge graph, and AutoSkills, which distills recurring patterns into reusable skills for review. It supports multiple LLM providers (Anthropic, OpenAI, Google, MiniMax, NVIDIA) and multi-channel access (CLI/TUI, WebUI, Telegram, Slack, Feishu, WeChat, etc.). The workflow follows a scientific process: intake → plan → execute → evaluate → write → verify. EvoScientist has topped benchmarks like DeepResearch Bench and AstaBench, and earned a Best Paper award at ICAIS 2025. Installation is via pip or uv, with a Docker image also available.
Runs a multi-agent system following a scientific workflow: first it takes in a research topic, then a planning sub-agent formulates a plan, a research sub-agent gathers information, a code sub-agent writes and debugs code for analysis, an analyze sub-agent evaluates results, and a write sub-agent produces the report. Agents can execute shell commands (with human approval), perform web searches via tools like Tavily, and access external tools through MCP servers. The memory system distills observations into a knowledge graph, and AutoSkills distills reusable skills from them. Users can schedule recurring tasks (cron-style) via /schedule commands, and the agent can proactively ask clarifying questions. EvoScientist provides a CLI (EvoSci), interactive TUI, web workspace UI (--ui webui), and a standalone LangGraph server (serve/deploy) for external SDK clients.
- A researcher can automate the entire research lifecycle from literature review to data analysis to paper writing, with monitoring and interaction via WebUI or CLI.
- A data scientist can conduct exploratory data analysis, leveraging agent-generated Python code to uncover patterns in data, with the agent proactively asking for clarification when needed.
- A team lead can schedule recurring tasks (cron-style) to have the agent check experiment status or report daily paper summaries to a messaging channel.
- A developer can integrate EvoScientist into their workflow as an AI coding agent, using its code generation, debugging, and external tool integration via MCP servers and skills.
- A user with long-running research projects can benefit from self-evolving memory that retains domain knowledge across sessions, enabling more informed follow-ups.
What are this agent's strengths and limitations?
- Consistently ranked #1 on multiple respected benchmarks (e.g., DeepResearch Bench, AstaBench, ResearchClawBench) and 6/6 accepted at ICAIS 2025 with Best Paper award.
- Offers a multi-agent structure and scientific workflow template tailored for research, including auto-distillation of skills from memory.
- Supports multiple LLM providers and multiple messaging channels, enabling flexible deployment and interaction convenience.
- Includes self-evolving memory knowledge graph, enabling knowledge accumulation across sessions.
- Heavy reliance on external LLM APIs (Anthropic, OpenAI, Google, etc.) incurs ongoing costs and potential network dependencies.
- Requires Node.js 24+ for WebUI; otherwise, TUI/CLI still have some runtime requirements.
- Default requires human approval for shell commands, adding friction, although configurable to auto-approve.
- WebUI or mobile features described in documentation are tied to demo videos, but the specifics of building/deploying still need inference from the repository.
How do you install or deploy this agent?
Install via uv or pip: uv tool install EvoScientist or pip install EvoScientist. Optional channels: uv pip install "EvoScientist[telegram]" etc. Alternatively, use Docker: docker run -it --rm --env-file .env -v "$(pwd)/workspace:/workspace" -v evosci-data:/home/evosci/.evoscientist ghcr.io/evoscientist/evoscientist:latest. Requires Python 3.11+ (<3.14). Run EvoSci onboard for interactive configuration of API keys and model selection. Ensure at least one LLM API key is set (e.g., ANTHROPIC_API_KEY, OPENAI_API_KEY).
How do you use this agent?
After configuring API keys, start interactive TUI with EvoSci, or browser UI with EvoSci --ui webui, or headless with EvoSci serve or EvoSci deploy. Use EvoSci -p "your question" for single-shot mode. Schedule tasks with /schedule add command. Manage skills with /skills and MCP servers with /mcp. For programmatic access, use EvoScientist.EvoScientist_agent.stream() to send messages and read state from the return value.
How does this agent compare with similar options?
In the AI research agent space, based on public benchmarks, EvoScientist ranks #1 on DeepResearch Bench among others, outperforming other notable deep research agents. Its self-evolving memory and AutoSkills features differentiate it from static agents.
FAQ
What API keys does EvoScientist need?
What are the costs involved in running the agent?
/schedule remove is recommended. Additionally, shell commands and external tools executed by the agent may also incur costs.Is EvoScientist safe?
Can I use EvoScientist on an existing codebase?
--workdir. It supports code generation and improvement, and can be integrated into existing development workflows.