Add novelty rejection sampling feature#287
Merged
codelion merged 3 commits intoalgorithmicsuperintelligence:mainfrom Oct 10, 2025
Merged
Add novelty rejection sampling feature#287codelion merged 3 commits intoalgorithmicsuperintelligence:mainfrom
codelion merged 3 commits intoalgorithmicsuperintelligence:mainfrom
Conversation
This commit introduces a novelty checking system that uses embeddings and LLM-based judging to ensure programs added to the database are meaningfully different from existing ones in their island. Changes: - Added EmbeddingClient class for computing code embeddings using OpenAI/Azure models - Added novelty judge prompts for LLM-based similarity assessment - Modified ProgramDatabase to support novelty checking before adding programs - Added embedding vector field to Program dataclass - Added configuration options for embedding model, novelty LLM, and similarity threshold - Integrated novelty LLM ensemble in controller setup - Updated example config with novelty checking parameters The novelty check uses cosine similarity of embeddings as a first pass, then uses an LLM judge to determine if programs exceeding the similarity threshold are truly novel or just trivial variations. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Fix novelty check in database.py to pass program.id instead of program object - Fix missing self parameter in embedding.py _get_client_model method - Fix serialization error by clearing novelty_llm before config deepcopy - Update function_minimization config for testing with different models 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
shubham3-ucb
pushed a commit
to mert-cemri/autoevolve-dev
that referenced
this pull request
Nov 26, 2025
…velty Add novelty rejection sampling feature
shubham3-ucb
pushed a commit
to mert-cemri/autoevolve-dev
that referenced
this pull request
Dec 1, 2025
…velty Add novelty rejection sampling feature
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
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.
#277 Implemented novelty rejection sampling (as used in SakanaAI/ShinkaEvolve) and tested it on the function minimization example for 10 iterations. The combined score improved from 1.4975 -> 1.4995 (distance score 0.9950 -> 0.9995, value score unchanged). I’d appreciate any feedback or suggestions on this PR.
Changes
Test plan