-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Feat ai scientist agent #913
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
TerminallyLazy
wants to merge
6
commits into
agent0ai:development
Choose a base branch
from
TerminallyLazy:feat-ai-scientist-agent
base: development
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Feat ai scientist agent #913
TerminallyLazy
wants to merge
6
commits into
agent0ai:development
from
TerminallyLazy:feat-ai-scientist-agent
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…flow Add a specialized AI Scientist agent profile that automates the research workflow from idea generation to paper writing. Core Features: - Research idea generation with Semantic Scholar integration - Experiment management with tree search-based exploration - Automated paper generation with LaTeX compilation - Profile-specific UI with modals for ideas, experiments, and papers Agent Tools: - semantic_scholar: Search academic papers via Semantic Scholar API - generate_idea: Generate novel research ideas with novelty scoring - run_experiment: Execute experiments using subordinate agents with tree search - write_paper: Generate LaTeX manuscripts with citations and compilation API Endpoints: - /api/scientist_generate_ideas: Generate research ideas - /api/scientist_get_ideas: Retrieve stored ideas - /api/scientist_get_experiments: List experiment history - /api/scientist_start_experiment: Launch new experiments - /api/scientist_get_experiment_progress: Poll experiment status UI Components: - Ideas Manager modal: Browse and generate research ideas - Experiment Dashboard: Track experiments with real-time progress - Paper Generator: Create manuscripts with stage-based workflow - Profile-specific buttons in chat input (Ideas, Experiments, Papers) - Status badges for scientist-specific message types State Management: - In-memory state for ideas and experiments via agent extensions - Persistent experiment logs in agent memory directory - Profile-specific memory isolation (agent_memory_subdir: "ai-scientist") Message System Integration: - IDEA status badge for idea generation steps - EXP status badge for experiment execution steps - PAPER status badge for paper generation steps - Color-coded badges in process groups Configuration: - Inherits model settings from global Agent Zero config (no hardcoded models) - Subordinate agent integration for experiment execution - ~~~ code block delimiters per Agent Zero conventions Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
…flow Add a specialized AI Scientist agent profile that automates the research workflow from idea generation to paper writing. Core Features: - Research idea generation with Semantic Scholar integration - Experiment management with tree search-based exploration - Automated paper generation with LaTeX compilation - Profile-specific UI with modals for ideas, experiments, and papers Agent Tools: - semantic_scholar: Search academic papers via Semantic Scholar API - generate_idea: Generate novel research ideas with novelty scoring - run_experiment: Execute experiments using subordinate agents with tree search - write_paper: Generate LaTeX manuscripts with citations and compilation API Endpoints: - /api/scientist_generate_ideas: Generate research ideas - /api/scientist_get_ideas: Retrieve stored ideas - /api/scientist_get_experiments: List experiment history - /api/scientist_start_experiment: Launch new experiments - /api/scientist_get_experiment_progress: Poll experiment status UI Components: - Ideas Manager modal: Browse and generate research ideas - Experiment Dashboard: Track experiments with real-time progress - Paper Generator: Create manuscripts with stage-based workflow - Profile-specific buttons in chat input (Ideas, Experiments, Papers) - Status badges for scientist-specific message types State Management: - In-memory state for ideas and experiments via agent extensions - Persistent experiment logs in agent memory directory - Profile-specific memory isolation (agent_memory_subdir: "ai-scientist") Message System Integration: - IDEA status badge for idea generation steps - EXP status badge for experiment execution steps - PAPER status badge for paper generation steps - Color-coded badges in process groups Configuration: - Inherits model settings from global Agent Zero config (no hardcoded models) - Subordinate agent integration for experiment execution - ~~~ code block delimiters per Agent Zero conventions Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
- Added agent.system.tool.generate_idea.md - Added agent.system.tool.run_experiment.md - Added agent.system.tool.write_paper.md - Added agent.system.tool.semantic_scholar.md These instruction files make AI Scientist tools visible to the agent's LLM by including them in the system prompt's 'Tools available' section. Without these files, the Python tool classes exist but the agent doesn't know about them because they're not mentioned in the prompt.
- Extract 'Current Idea' from wrapper structures returned by model - Validate parsed JSON has required fields (Name, Title) - Clearer refinement prompt to avoid wrapper structure responses - Accept both dict and string prompts in _query_model() Fixes KeyError on 'Name' and JSON parsing issues during idea refinement.
- Validate idea has Name and Title before accessing fields - Log warning when idea is invalid instead of crashing - Extract idea_name to variable for safer access - Better debug logging for invalid ideas Prevents KeyError crashes when LLM returns malformed JSON.
…lyLazy/agent-zero into feat-ai-scientist-agent # Conflicts: # agents/ai-scientist/extensions/agent_init/_10_init_scientist_state.py # agents/ai-scientist/tools/generate_idea.py # agents/ai-scientist/tools/run_experiment.py # agents/ai-scientist/tools/write_paper.py # python/api/scientist_generate_ideas.py # python/api/scientist_get_ideas.py # webui/components/modals/ai-scientist/experiment-dashboard/experiment-dashboard-store.js # webui/components/modals/ai-scientist/ideas-manager/ideas-manager-store.js # webui/components/modals/ai-scientist/paper-generator/paper-generator-store.js
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Implements the AI Scientist agent profile for Agent Zero - an autonomous research assistant that can generate novel research ideas, execute ML experiments, and write publication-ready papers. Inspired by https://arxiv.org/abs/2408.06292 from Sakana AI.
Key Features:
Changes
New Agent Profile (
agents/ai-scientist/)agent.json- Profile configuration with title, description, and contextsettings.json- Uses inherited model settings (no hardcoded models)_context.md- Role definition and methodology documentationprompts/- Specialized system prompts for research methodologyextensions/- State initialization for research data containerstools/- Four specialized tools:generate_idea.py- Multi-round idea generation with novelty validationrun_experiment.py- 4-stage experiment pipeline with best-first tree searchwrite_paper.py- LaTeX paper generation with reflection roundssemantic_scholar.py- Academic paper search integrationAPI Endpoints (
python/api/)scientist_generate_ideas.py- Trigger idea generationscientist_get_ideas.py- Retrieve generated ideasscientist_start_experiment.py- Launch experiment pipelinescientist_get_experiments.py- List experiments with statusscientist_get_experiment_progress.py- Real-time progress pollingFrontend (
webui/)Architecture
Technical Notes