From 313e48eb62acf5ab54f064a4fe2a37b8f20f30c3 Mon Sep 17 00:00:00 2001 From: X-iZhang Date: Wed, 4 Mar 2026 20:23:02 +0000 Subject: [PATCH] fix: update default model to claude-sonnet-4-6 and increase recursion limit to 1000 --- CONTRIBUTING.md | 8 ++++---- EvoScientist/EvoScientist.py | 4 ++-- EvoScientist/llm/models.py | 2 +- pyproject.toml | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b6e1d5a..f554be0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -19,7 +19,7 @@ EvoScientist is a multi-agent AI system for automated scientific experimentation | Language | Python 3.11+ | | License | MIT | | Framework | [DeepAgents](https://github.com/langchain-ai/deepagents) + [LangChain](https://python.langchain.com/) + [LangGraph](https://langchain-ai.github.io/langgraph/) | -| Default model | `claude-sonnet-4-5` (Anthropic) | +| Default model | `claude-sonnet-4-6` (Anthropic) | | Tests | ~830 across 35 files, no API keys needed | | Config file | `~/.config/evoscientist/config.yaml` | @@ -100,7 +100,7 @@ EvoSci config set tavily_api_key tvly-... | 1 | CLI arguments | `--model gpt-4o` | | 2 | Environment variables | `ANTHROPIC_API_KEY=sk-...` | | 3 | Config file | `~/.config/evoscientist/config.yaml` | -| 4 | Defaults | `provider: anthropic`, `model: claude-sonnet-4-5` | +| 4 | Defaults | `provider: anthropic`, `model: claude-sonnet-4-6` | Implementation: `config/settings.py` — `get_effective_config()` merges all four sources. @@ -269,7 +269,7 @@ The sequence from config to running agent (`EvoScientist.py`): 6. **MCP tools** — `_load_mcp_tools_cached()` loads tools from `~/.config/evoscientist/mcp.yaml`, cached by config signature hash. 7. **Sub-agent loading** — `load_subagents()` reads `subagent.yaml`, wires tools from registry, injects `ToolErrorHandlerMiddleware` into each sub-agent. 8. **`create_deep_agent(**kwargs)`** — DeepAgents constructs the LangGraph agent graph. -9. **`.with_config({"recursion_limit": 500})`** — Sets LangGraph recursion limit. +9. **`.with_config({"recursion_limit": 1000})`** — Sets LangGraph recursion limit. Two variants exist: - **`EvoScientist_agent`** — Lazy-loaded default (no checkpointer). For `langgraph dev`, notebooks, LangSmith. @@ -857,7 +857,7 @@ The `CustomSandboxBackend` validates all shell commands and file paths. See [Key | Package | Version | Purpose | Docs | |---------|---------|---------|------| -| `deepagents` | >=0.4.4 | Multi-agent orchestration framework | [GitHub](https://github.com/langchain-ai/deepagents) | +| `deepagents` | >=0.4.5 | Multi-agent orchestration framework | [GitHub](https://github.com/langchain-ai/deepagents) | | `langchain` | >=1.2.10 | LLM framework | [Docs](https://python.langchain.com/) | | `langchain-anthropic` | >=1.3.3 | Anthropic provider (Claude) | [Docs](https://python.langchain.com/docs/integrations/chat/anthropic/) | | `langchain-openai` | >=0.3 | OpenAI provider (GPT) | [Docs](https://python.langchain.com/docs/integrations/chat/openai/) | diff --git a/EvoScientist/EvoScientist.py b/EvoScientist/EvoScientist.py index 135c5c5..65e761e 100644 --- a/EvoScientist/EvoScientist.py +++ b/EvoScientist/EvoScientist.py @@ -292,7 +292,7 @@ def _get_default_agent(): mw = _get_default_middleware() kwargs = load_mcp_and_build_kwargs(be, mw) _EvoScientist_agent = create_deep_agent(**kwargs).with_config( - {"recursion_limit": 500} + {"recursion_limit": 1000} ) return _EvoScientist_agent @@ -396,4 +396,4 @@ def create_cli_agent(workspace_dir: str | None = None, checkpointer=None, config return create_deep_agent( **kwargs, checkpointer=checkpointer, - ).with_config({"recursion_limit": 500}) + ).with_config({"recursion_limit": 1000}) diff --git a/EvoScientist/llm/models.py b/EvoScientist/llm/models.py index b43a553..c3e4a3d 100644 --- a/EvoScientist/llm/models.py +++ b/EvoScientist/llm/models.py @@ -80,7 +80,7 @@ MODELS: dict[str, tuple[str, str]] = { name: (model_id, provider) for name, model_id, provider in _MODEL_ENTRIES } -DEFAULT_MODEL = "claude-sonnet-4-5" +DEFAULT_MODEL = "claude-sonnet-4-6" def get_models_for_provider(provider: str) -> list[tuple[str, str]]: diff --git a/pyproject.toml b/pyproject.toml index 53b3f80..87964c8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,7 +16,7 @@ classifiers = [ "Programming Language :: Python :: 3", ] dependencies = [ - "deepagents>=0.4.4", + "deepagents>=0.4.5", "langchain>=1.2.10", "langchain-anthropic>=1.3.3", "langchain-openai>=0.3",