Optimization driven by your goals

Experiment your way to the optimal solution, starting from your goal or the issues Artemis surfaces.

Start a Discovery run to optimize the compute time of the Audio Speech Recognition model.

⚙ Settings
BenchmarkLogs▷ Run
$ e.g. ./benchmark.sh

Measures what Artemis optimizes for. Every version is validated against it.

Artemis
Reduce the ASR compute consumed to transcribe a fixed audio stream. The benchmark (artemis_be…
EXP-58575%

Gate near-empty ASR calls (min new audio threshold)

EXP-A4469%

Set effective audio_min_len to gate infer() cheaply inside…

EXP-39B65%

Tune gate threshold to 0.75s / 1.5s cap

v1+0.15

Add a min-new-audio gate in transcription_processor…

v2+0.27

Seed from v1’s gate and raise _MIN_NEW_AUDIO_S from 0.5…

v5+0.28

Ship-ready hardening of the best gate. Seed from v1’s gate, keep…

v6+0.15

Seed from v5 (best, includes counter-reset hardening) and…

VersionAI scoreasr compute msmodel accuracy
error rate
baselineREF12133.50 0.083
v5★ BEST▲ 0.35838.27 -51.9%0.067 -20.0%
v2▲ 0.36083.60 -49.9%0.067
Create PRDownload zip
TrendMulti-metricMulti-version tradeoffv5 ▾
▲ 2 improved≈ 0 within noise▼ 0 regressed
asr compute ms min ↓
▲ -51.9%
model accuracy error rate min ↓
▲ -20%
← WorseBaselineBetter →

Experiment your way to the optimal solution.

Discovery tests multiple ways to improve your system, measures each one on your workload, and ranks the changes that make it faster or cheaper. You ship the best one. All it needs is a goal: bring your own, or let Artemis find one for you.

Define better, in your metrics

Set the goal and the baseline (latency, throughput, cost, accuracy). Every version that follows is measured against it.

Artemisdiscovery
Autonomous multi-file evolution

Describe a goal and the agent runs the full cycle autonomously.

What should the agent discover or optimize?

Make the two hot attention kernels faster on CPU, without changing what they return.

Both run as fragmented eager ops today — too much memory traffic on decode, and the prefill loop is still in fp32.

Claude Sonnet 5Settings
Try a starting point
Optimize performanceCut runtime by 20%Hardware-aware optimizationImprove model accuracyFind and fix the highest-value bugCut CI time below 10 minutes

Explore many paths at once

Artemis proposes candidate changes, runs them as experiments on your workload, and scores every version against the objective.

Artemisdiscovery · run · graph
EXP-3B488%

Fuse decode per-token state update to cut memory traffic

EXP-BA585%

Cast prefill chunk GEMMs to bf16 for AMX dispatch

EXP-0EB72%

Synthesize decode fusion + prefill bf16 GEMM casting intoâ¦

v1+0.27

Rewrite recurrent_gated_delta_ruleâs perâ¦

EXP-E2E15%

Replace prefill einsum GEMMs with explicit matmul for clearerâ¦

v2+0.13

Cast operands feeding the six GEMM-shaped ops in the prefillâ¦

EXP-A67

Dedup k*beta computation and clarify bf16 scoping in combineâ¦

v3+0.39

Seed from the prefill bf16 GEMM casting version, then apply theâ¦

Every change is measured before it's delivered

Artemis scores and ranks every version on your workload, so you can review the results before you merge.

Artemisdiscovery · versions
Versions 6Property visibility ▾
VersionStatusAI scoreBehavior preservationΔ hot path
baselinereference0.500
v5★ BESTScored0.81.000+100.0%
v2+4 −3Scored0.81.000+100.0%
v1+3 −3Scored0.81.000+100.0%
v7+9 −13Scored0.60.750−25.0%
v9+2 −2Scored0.30.500+0.0%

Find the issues worth solving.

Don't have a goal in hand yet? Define your rules and scan the codebase against them. Artemis triages what comes back: simple findings are fixed on the spot by a coding agent, complex ones become Discovery objectives.

Tell Artemis what matters

Pick the checks your codebase should be held to, performance, cost, quality, and set the thresholds that count as an issue.

Artemisscan · rules

Describe a long-running goal for your repository

e.g. No allocation inside a per-token loop.qwen3-coder ▾
Remove dead codeNo duplicated codePerformant codeSecure codeFind bugs
Import Rules from an existing ProjectCopy rules from another project you have access to.
Create custom Rule from MarkdownWrite your own rule in Markdown.
Out-of-the-box rules
Hot paths worth optimizing
Allocation in inner loops
Concurrency footguns
RuleHot paths worth optimizing
SummaryMarkdown

Flags the loops, copies and fallbacks that cost the most at runtime.

Usage
✕ Don't
for a in items:
  for b in items:
    if a.id == b.pair_id:
      pairs.append((a, b))

O(n²) comparison inside the hot loop.

✓ Do
seen = {a.id: a for a in items}
pairs = [
  (seen[b.pair_id], b) for b in items
]

Single pass, O(n) with a hash lookup.

Cancel+ Add Rule to Project
RulesRUL-1: Write bug-free codeRUL-2: Hot paths worth optimizing+ New Rule
Untriaged
Triaged
In Progress
Done

Surface the findings worth your time

Artemis scans the codebase against your rules and triages what comes back, prioritizing the issues that matter most.

Artemisscan · run
RuleHot paths worth optimizing
▷ Run a scan
SummaryMarkdown

Flags the loops, copies and fallbacks that cost the most at runtime.

Issues detected
0Critical
0High
0Medium
0Low
0Closed
View open issues →
Usage
✕ Don't
for a in items:
  for b in items:
    if a.id == b.pair_id:
      pairs.append((a, b))

O(n²) comparison inside the hot loop.

✓ Do
seen = {a.id: a for a in items}
pairs = [
  (seen[b.pair_id], b) for b in items
]

Single pass, O(n) with a hash lookup.

Run a scan

Search for the slow paths in your project — the code that runs hot enough to be worth fixing.

What to focus on
e.g. Focus on the decode loop in @whisper…
Limit the number of issues
Approximate number of issues5
Modelqwen3-coder ▾
CancelRun scan
RuleHot paths worth optimizing
Scanning…
SummaryMarkdown

Flags the loops, copies and fallbacks that cost the most at runtime.

Issues detected
0Critical
0High
0Medium
0Low
0Closed
View open issues →
Usage
✕ Don't
for a in items:
  for b in items:
    if a.id == b.pair_id:
      pairs.append((a, b))

O(n²) comparison inside the hot loop.

✓ Do
seen = {a.id: a for a in items}
pairs = [
  (seen[b.pair_id], b) for b in items
]

Single pass, O(n) with a hash lookup.

Untriaged (2)
ISS-6Attention falls back to the slow kernel
Highwhisper/model.pyLarge97%
ISS-9Redundant allocation in log-mel
Highwhisper/audio.pySmall94%
Triaged (2)
ISS-7Repeated dict lookup in the token loop
Mediumwhisper/decoding.pySmall96%
ISS-8Per-token tensor allocation in the tokenizer
Mediumwhisper/tokenizer.pyMedium85%
In Progress (0)
Done (0)

Fix with a click, or escalate

Simple findings are fixed on the spot by an Artemis coding agent. Complex ones escalate straight into Discovery with one push.

Artemisscan · fix
Triaged
Findings (3)
ISS-6Attention falls back to the slow kernel
Highwhisper/model.pyLarge97%
ISS-9Redundant allocation in log-mel
Highwhisper/audio.pySmall94%
ISS-8Per-token tensor allocation in the tokenizer
Mediumwhisper/tokenizer.pyMedium85%
Assessed (1)
ISS-7Repeated dict lookup in the token loop
Mediumwhisper/decoding.pySmall96%
ISS-6Attention falls back to the slow kernel

The permute before the matmul leaves the tensor non-contiguous, so PyTorch drops out of the fused attention kernel and onto the slow path.

Severity · HighComplexity · LargeConfidence · 97%
whisper/model.pypython
166def qkv_attention(self, q, k, v, mask=None):167 n_batch, n_ctx, n_state = q.shape168 scale = (n_state // self.n_head) ** -0.25169 k = k.permute(0, 2, 3, 1)170 qk = q @ k
Issue confirmed · UndoFix issue…
Fix 1 issue

The agent works through the selected issue and opens a changeset with the proposed fix. Choose which model runs it.

Model
Gqwen3-coder
CancelFix issue
Fix in Discovery
Plan a fix

Optimization you can afford to run at scale

Good optimization means trying many options, measuring the results, and building on what works. Coding agents try a few options one at a time, without learning from the results. Every attempt costs money.

Artemis tests hundreds of options against your workload and uses the results to guide the next round. You get the best result without paying for every failed attempt.

Artemis
ArtemisSystematic search
★ VALIDATED WINNER
Coding agentSerial attempts
Token limit reachedToken limit reachedToken limit reached
Illustrative session

Artemis fits the way your team already ships.

Your coding agents, your models, your repo. Nothing changes about how you work.

Artemis CLI

From your terminal or coding agent

Start a Discovery run from your terminal or directly from your coding agent. The CLI runs anywhere a shell command does, including CI, while Artemis Skills lets you launch the same workflow without leaving your agents. Learn more.

  • Claude Code
  • Cursor
  • Codex
  • +Any shell
Model agnostic

Any model you pay for, or ours

Use frontier models from Anthropic, OpenAI, Google, and more, or bring your own with an endpoint and API key. Easily select the right model and effort level for each task, so you're not paying frontier prices for routine work.

  • OpenAI
  • Anthropic
  • Google
  • Kimi
  • DeepSeek
  • ZZ.ai
  • +Your endpoint
  • +Your custom models
MCP servers

Connect the tools your team already runs

Artemis reaches your tools through MCP, the open standard for tool access, pulling in context your repo alone doesn't have. Set up once, and every run can use it.

  • Jira
  • Slack
  • Linear
  • Microsoft Teams
  • Notion
  • +MCP server
Git and code hosting

Ship results as a pull request

Artemis runs in a sandbox environment and opens a PR in its own branch with the best version, the diff, and the benchmark behind it. Review and merge it like any other PR, on whichever host your team already uses.

GitHub
Connected
GitLab
Connected
Bitbucket
Connected
Azure DevOps
Connected
Self-hosted
Supported

Run Artemis where your code already lives.

Four deployment options, from fully hosted to fully isolated. Your code and your benchmarks stay inside the boundary you set.

  • Managed SaaS

    Hosted for you

    The fastest way to get results. No infrastructure to stand up.

  • Private VPC

    Your cloud

    Runs in your cloud account, under your policies. On the Azure Marketplace, with Google Cloud approved and its listing in build.

  • Sovereign and air-gapped

    Your infrastructure

    Meet the strictest data residency requirements. Fully isolated, with no external calls.

  • Local workstation

    On device

    Code never leaves your machine. Runs on an AI PC or a DGX-class workstation.

Control what Artemis spends, uses, and remembers.

Artemis runs agents against your production code. Administrators control which models are used, what they cost, who can run them, and what they leave behind.

Agents memory

Build knowledge with every optimization

Every experiment is saved to a shared knowledge base, making successful optimizations, failed attempts, and decision history easy to find and reuse, even as teams change.

Ask this memory
What did the best version change, and how did it move the metrics?
ArtemisArtemisread_experiment

The best version combined two fixes:

  • Replaced quadratic work with constant-time formulas
  • Reworked pair counting with a HashMap for linear-time lookup
+0.7312vs. baselineValidated

Ask about any experiment, version, or decision…

agents memory
Model policy

Lock your AI policy

Approve available models and lock the policy so it can't be overridden.

Cost limits

Cap spend before it happens

Set budget limits per run, per user, or org-wide. Spend is tracked in real time.

Access and audit

See every user, every run

Role-based access via LDAP, one admin view of every user, and a live record of every run.

Common questions.

They do different jobs. A coding agent writes one version of a change and tells you it should be faster. Artemis finds the best solution through systematic search. It runs experiments, creates multiple versions, tests each on your real workload, and shows you which one was actually better and by how much. On QuantLib, an open-source finance library, it automatically tried 700 versions to find one that ran 32.7% faster. You can hand complex optimization work to Artemis straight from your coding agent.

Discover the ROI hiding in your stack

Point Artemis at a system you already run, and see the improvement it finds, validated, before you change a thing.