{"slug": "gepa", "name": "GEPA", "category": "ai", "category_name": "AI tools and apps", "description": "", "recommenders": 4, "commenters": 6, "warners": 0, "score": 3.836, "rising": -1.31, "first": "2025-12-18", "latest": "2026-03-31", "why": "I use GEPA to optimize the prompt for each model/tool/harness combination I\u2019m evaluating.", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 4, "neutral": 1, "compare": 1, "warn": 0}, "spark": [0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "I use GEPA to optimize the prompt for each model/tool/harness combination I\u2019m evaluating.", "kind": "", "icon": true, "domain": null, "github_repo": "github.com/gepa-ai/gepa", "official_url": "https://github.com/gepa-ai/gepa", "pricing": "", "aliases": ["GEPA"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 759912657, "item_id": 47494541, "url": "https://news.ycombinator.com/item?id=47494541", "by": "kristianp", "date": "2026-03-23", "version": null, "stance": "recommend", "quote": "Til about GEPA", "excerpt": "The name probably doesnt help, DSPy sounds like something to do with Digital Signal Processing. Til about GEPA: https://github.com/gepa-ai/gepa", "context": "", "use_case": "", "switched_from": "", "story": "If Dspy is so great, why isn't anyone using it?"}, {"id": 757309520, "item_id": 47331845, "url": "https://news.ycombinator.com/item?id=47331845", "by": "kbdiaz", "date": "2026-03-10", "version": null, "stance": "recommend", "quote": "I use GEPA to optimize the prompt for each model/tool/harness combination I\u2019m evaluating.", "excerpt": "The vast majority of AI companies I talk to seem to evaluate models mostly based on vibes. At my company, we use a mix of offline and online evals. I\u2019m primarily interested in search agents, so I\u2019m fortunate that information retrieval is a well-developed research field with clear metrics, methodology, and benchmarks. For most teams, I recommend shipping early/dogfooding internally, collecting real traces, and then ha", "context": "works on search agents at an AI company", "use_case": "prompt optimization for evals", "switched_from": "", "story": "How are people do AI evals these days?"}, {"id": 750079216, "item_id": 46879951, "url": "https://news.ycombinator.com/item?id=46879951", "by": "JoshPurtell", "date": "2026-02-03", "version": null, "stance": "recommend", "quote": "using GEPA where you optimize the skill content instead of the prompt works really well", "excerpt": "For devtools cos providing skills - we've found that using GEPA where you optimize the skill content instead of the prompt works really well to make sure the skill actually gets claude code/ codex /opencode to successfully use your service. https://arxiv.org/abs/2507.19457 More here if interesting https://www.usesynth.ai/blog/environment-pools-managed-agent-infrastructure", "context": "", "use_case": "", "switched_from": "", "story": "Agent Skills"}, {"id": 749848177, "item_id": 46865511, "url": "https://news.ycombinator.com/item?id=46865511", "by": "scosman", "date": "2026-02-02", "version": null, "stance": "recommend", "quote": "GEPA prompts help, if you have good evals.", "excerpt": "I make a project for evals and fine-tuning and our default example task is a joke generator. It's a fun demo, but more importantly it's a really good use case to show how evaluating and optimizing LLMs is hard. - There are a dozen plus common failure modes. How you split setup/punchline. Tropes. Toxicity. Template reuse. Each one needs a good eval. - Datasets are hard: there's not much off the shelf, and as this auth", "context": "", "use_case": "", "switched_from": "", "story": "Training a trillion parameter model to be funny"}]}], "caveats": [], "who": [{"by": "kbdiaz", "context": "works on search agents at an AI company", "url": "https://news.ycombinator.com/item?id=47331845", "date": "2026-03-10"}], "tags": [], "use_cases": ["prompt optimization for evals"], "compared": [{"slug": "dspy", "name": "DSPy", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "openevolve", "name": "OpenEvolve", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [{"id": 754040448, "item_id": 47127528, "url": "https://news.ycombinator.com/item?id=47127528", "by": "LakshyAAAgrawal", "date": "2026-02-23", "version": null, "stance": "neutral", "quote": "", "excerpt": "Thank you so much for the kind words! Didn't realize it got truncated: https://gepa-ai.github.io/gepa/blog/2026/02/18/introducing-optimize-anything/", "context": "", "use_case": "Prompt optimization", "switched_from": "", "story": "Optimize_anything: A Universal API for Optimizing Any Text Parameter"}, {"id": 753736336, "item_id": 47108521, "url": "https://news.ycombinator.com/item?id=47108521", "by": "LakshyAAAgrawal", "date": "2026-02-21", "version": null, "stance": "recommend", "quote": "It extends GEPA (our prompt optimizer, discussed here previously: https://arxiv.org/abs/2507.19457)", "excerpt": "We built optimize_anything, an API that optimizes any artifact representable as text \u2014 code, prompts, agent architectures, configs, even SVGs. It extends GEPA (our prompt optimizer, discussed here previously: https://arxiv.org/abs/2507.19457) far beyond prompts. The API is deliberately minimal. You provide what to optimize and how to measure it: import gepa.optimize_anything as oa def evaluate(candidate: str) -> tupl", "context": "", "use_case": "optimizing text artifacts with LLMs", "switched_from": "", "story": "Optimize_anything: A Universal API for Optimizing Any Text Parameter"}], "threads": [{"url": "https://news.ycombinator.com/item?id=47108520", "title": "Optimize_anything: A Universal API for Optimizing Any Text Parameter", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=47587621", "title": "Levi: Outperforming GEPA/OpenEvolve/AlphaEvolve with 7x cost savings", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47490365", "title": "If Dspy is so great, why isn't anyone using it?", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47319587", "title": "How are people do AI evals these days?", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46871173", "title": "Agent Skills", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46782692", "title": "Training a trillion parameter model to be funny", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {"neutral": 1}, "2026-01": {}, "2026-02": {"recommend": 2}, "2026-03": {"recommend": 2, "compare": 1}, "2026-04": {}, "2026-05": {}, "2026-06": {}, "2026-07": {}, "2026-08": {}, "2026-09": {}, "2026-10": {}}, "versions": [], "version_unnamed": 0, "family_ref": null, "runs_on": null, "lines": [], "quotes": [{"id": 761401955, "item_id": 47587622, "url": "https://news.ycombinator.com/item?id=47587622", "by": "ttanveer", "date": "2026-03-31", "version": null, "stance": "compare", "quote": "Most open-source AlphaEvolve alternatives (OpenEvolve, ShinkaEvolve, GEPA) assume you'll throw a frontier model at every mutation.", "excerpt": "Hi HN! Working on sth and wanted to share. Most open-source AlphaEvolve alternatives (OpenEvolve, ShinkaEvolve, GEPA) assume you'll throw a frontier model at every mutation. Thats a bummer for most people trying to enter this domain. LEVI argues: invest in the search harness, not the model. The core idea is that if you maintain diversity properly well enough, using both code structure and behavioral differences to ke", "context": "", "use_case": "", "switched_from": "", "story": "Levi: Outperforming GEPA/OpenEvolve/AlphaEvolve with 7x cost savings"}, {"id": 759912657, "item_id": 47494541, "url": "https://news.ycombinator.com/item?id=47494541", "by": "kristianp", "date": "2026-03-23", "version": null, "stance": "recommend", "quote": "Til about GEPA", "excerpt": "The name probably doesnt help, DSPy sounds like something to do with Digital Signal Processing. Til about GEPA: https://github.com/gepa-ai/gepa", "context": "", "use_case": "", "switched_from": "", "story": "If Dspy is so great, why isn't anyone using it?"}, {"id": 757309520, "item_id": 47331845, "url": "https://news.ycombinator.com/item?id=47331845", "by": "kbdiaz", "date": "2026-03-10", "version": null, "stance": "recommend", "quote": "I use GEPA to optimize the prompt for each model/tool/harness combination I\u2019m evaluating.", "excerpt": "The vast majority of AI companies I talk to seem to evaluate models mostly based on vibes. At my company, we use a mix of offline and online evals. I\u2019m primarily interested in search agents, so I\u2019m fortunate that information retrieval is a well-developed research field with clear metrics, methodology, and benchmarks. For most teams, I recommend shipping early/dogfooding internally, collecting real traces, and then ha", "context": "works on search agents at an AI company", "use_case": "prompt optimization for evals", "switched_from": "", "story": "How are people do AI evals these days?"}, {"id": 750079216, "item_id": 46879951, "url": "https://news.ycombinator.com/item?id=46879951", "by": "JoshPurtell", "date": "2026-02-03", "version": null, "stance": "recommend", "quote": "using GEPA where you optimize the skill content instead of the prompt works really well", "excerpt": "For devtools cos providing skills - we've found that using GEPA where you optimize the skill content instead of the prompt works really well to make sure the skill actually gets claude code/ codex /opencode to successfully use your service. https://arxiv.org/abs/2507.19457 More here if interesting https://www.usesynth.ai/blog/environment-pools-managed-agent-infrastructure", "context": "", "use_case": "", "switched_from": "", "story": "Agent Skills"}, {"id": 749848177, "item_id": 46865511, "url": "https://news.ycombinator.com/item?id=46865511", "by": "scosman", "date": "2026-02-02", "version": null, "stance": "recommend", "quote": "GEPA prompts help, if you have good evals.", "excerpt": "I make a project for evals and fine-tuning and our default example task is a joke generator. It's a fun demo, but more importantly it's a really good use case to show how evaluating and optimizing LLMs is hard. - There are a dozen plus common failure modes. How you split setup/punchline. Tropes. Toxicity. Template reuse. Each one needs a good eval. - Datasets are hard: there's not much off the shelf, and as this auth", "context": "", "use_case": "", "switched_from": "", "story": "Training a trillion parameter model to be funny"}, {"id": 741162786, "item_id": 46322674, "url": "https://news.ycombinator.com/item?id=46322674", "by": "itissid", "date": "2025-12-18", "version": null, "stance": "neutral", "quote": "an optimization algo GEPA", "excerpt": "Isn't atleast part of that GH issue something that this https://docs.boundaryml.com/guide/introduction/what-is-baml is also trying to solve? LLM inputs and outputs must be functions with defined functions. That was their starting point. IIUC their most recent arc focuses on prompt optimization[0] where you can optimize \u2014 using DSPy and an optimization algo GEPA [1] \u2014 using relative weights on different things like er", "context": "", "use_case": "", "switched_from": "", "story": "Skills for organizations, partners, the ecosystem"}]}