darwin-agents 0.9.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +105 -0
- package/README.md +87 -0
- package/dist/src/cli/evolution-flags.d.ts +4 -0
- package/dist/src/cli/evolution-flags.d.ts.map +1 -1
- package/dist/src/cli/evolution-flags.js +69 -1
- package/dist/src/cli/evolution-flags.js.map +1 -1
- package/dist/src/cli/evolve.d.ts +4 -0
- package/dist/src/cli/evolve.d.ts.map +1 -1
- package/dist/src/cli/evolve.js +21 -0
- package/dist/src/cli/evolve.js.map +1 -1
- package/dist/src/cli/index.js +2 -0
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/evolution/demos.d.ts +128 -0
- package/dist/src/evolution/demos.d.ts.map +1 -0
- package/dist/src/evolution/demos.js +196 -0
- package/dist/src/evolution/demos.js.map +1 -0
- package/dist/src/evolution/enabled-state.d.ts +5 -5
- package/dist/src/evolution/enabled-state.d.ts.map +1 -1
- package/dist/src/evolution/enabled-state.js +17 -5
- package/dist/src/evolution/enabled-state.js.map +1 -1
- package/dist/src/evolution/feedback-filter.d.ts +54 -0
- package/dist/src/evolution/feedback-filter.d.ts.map +1 -0
- package/dist/src/evolution/feedback-filter.js +65 -0
- package/dist/src/evolution/feedback-filter.js.map +1 -0
- package/dist/src/evolution/loop.d.ts +70 -0
- package/dist/src/evolution/loop.d.ts.map +1 -1
- package/dist/src/evolution/loop.js +198 -20
- package/dist/src/evolution/loop.js.map +1 -1
- package/dist/src/evolution/selection.d.ts +73 -0
- package/dist/src/evolution/selection.d.ts.map +1 -0
- package/dist/src/evolution/selection.js +121 -0
- package/dist/src/evolution/selection.js.map +1 -0
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +15 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/types.d.ts +132 -6
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js.map +1 -1
- package/package.json +4 -1
|
@@ -13,6 +13,9 @@ import { notifyABTestComplete, notifyEvolutionStarted, notifyRollback } from './
|
|
|
13
13
|
import { epochShuffledMinibatch } from './optimizer-gepa.js';
|
|
14
14
|
import { checkAlignmentPreservation, checkAlignmentPreservationSemantic } from './alignment.js';
|
|
15
15
|
import { dominatesEpsilon, paretoSelect, DARWIN_DEFAULT_OBJECTIVES } from './pareto.js';
|
|
16
|
+
import { selectDemoCandidates, buildDemoSection, applyDemoSection } from './demos.js';
|
|
17
|
+
import { selectParentVariant } from './selection.js';
|
|
18
|
+
import { isPerfectScore, resolvePerfectFeedbackScore } from './feedback-filter.js';
|
|
16
19
|
// ─── Validation Constants ─────────────────────────────
|
|
17
20
|
/** Default minimum output length (overridden by agent.evolution.minOutputLength) */
|
|
18
21
|
const DEFAULT_MIN_VALID_OUTPUT = 2000;
|
|
@@ -30,6 +33,7 @@ export class DarwinLoop {
|
|
|
30
33
|
gepa;
|
|
31
34
|
embed;
|
|
32
35
|
alignmentSimilarityThreshold;
|
|
36
|
+
rng;
|
|
33
37
|
constructor(deps) {
|
|
34
38
|
this.memory = deps.memory;
|
|
35
39
|
this.tracker = deps.tracker;
|
|
@@ -41,6 +45,7 @@ export class DarwinLoop {
|
|
|
41
45
|
this.gepa = deps.gepa;
|
|
42
46
|
this.embed = deps.embed;
|
|
43
47
|
this.alignmentSimilarityThreshold = deps.alignmentSimilarityThreshold;
|
|
48
|
+
this.rng = deps.rng;
|
|
44
49
|
}
|
|
45
50
|
/**
|
|
46
51
|
* Called AFTER every agent run. Drives the evolution cycle.
|
|
@@ -250,7 +255,33 @@ export class DarwinLoop {
|
|
|
250
255
|
// optimizer so the loop never stalls.
|
|
251
256
|
let newPromptText = null;
|
|
252
257
|
let generatedBy = 'legacy';
|
|
253
|
-
|
|
258
|
+
// ── v0.10.0: SIMBA-style demo injection (opt-in, zero LLM cost) ──
|
|
259
|
+
// On every demoEveryK-th cycle, build a challenger by appending (or
|
|
260
|
+
// refreshing) a "Demonstrations" section harvested from the agent's own
|
|
261
|
+
// highest-scoring past runs. Independent of useGepa — no reflector is
|
|
262
|
+
// involved. The demo prompt runs the same alignment guard and enters the
|
|
263
|
+
// same A/B test as any mutation; when demos don't help, the incumbent
|
|
264
|
+
// wins. When the demo set is unchanged since the last injection the path
|
|
265
|
+
// yields no challenger (no-op) and falls through to GEPA/legacy.
|
|
266
|
+
if (this.agent?.evolution?.useDemos === true) {
|
|
267
|
+
const epoch = this.versionInt(activePrompt.version);
|
|
268
|
+
if (epoch > 0 && epoch % this.demoEveryK() === 0) {
|
|
269
|
+
const demoPrompt = await this.tryDemoVariant(agent, activePrompt.promptText);
|
|
270
|
+
if (demoPrompt !== null) {
|
|
271
|
+
const guarded = await this.runAlignmentGuard(activePrompt.promptText, demoPrompt);
|
|
272
|
+
if (guarded !== null) {
|
|
273
|
+
newPromptText = guarded;
|
|
274
|
+
generatedBy = 'demos';
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
// Mirrors the merge-path breadcrumb: a consistently guard-failing
|
|
278
|
+
// demo section should be visible, not silently skipped forever.
|
|
279
|
+
console.warn(`[darwin] demo variant for "${agent}" failed the alignment guard, falling through.`);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
if (newPromptText === null && this.agent?.evolution?.useGepa === true && this.gepa) {
|
|
254
285
|
// Epoch = the integer of the active prompt version (v1→1, v12→12). It
|
|
255
286
|
// advances by one each evolution cycle, so the epoch-shuffled minibatch
|
|
256
287
|
// rotates which feedback subset the reflector sees per cycle, and the
|
|
@@ -273,10 +304,11 @@ export class DarwinLoop {
|
|
|
273
304
|
promptText: newPromptText,
|
|
274
305
|
createdAt: new Date().toISOString(),
|
|
275
306
|
parentVersion: activePrompt.version,
|
|
276
|
-
// Only tag the change reason with the generator when
|
|
277
|
-
//
|
|
307
|
+
// Only tag the change reason with the generator when a non-legacy
|
|
308
|
+
// challenger source was opted in (GEPA v0.6.0 / demos v0.10.0) — keeps
|
|
309
|
+
// the stored `changeReason` byte-for-byte identical for legacy-only
|
|
278
310
|
// agents (v0.6.0 review Finding 8).
|
|
279
|
-
changeReason: this.agent?.evolution?.useGepa
|
|
311
|
+
changeReason: this.agent?.evolution?.useGepa || this.agent?.evolution?.useDemos
|
|
280
312
|
? `[${generatedBy}] ${this.buildChangeReason(detectedPatterns)}`
|
|
281
313
|
: this.buildChangeReason(detectedPatterns),
|
|
282
314
|
active: false, // Not active yet — going into A/B test
|
|
@@ -305,7 +337,9 @@ export class DarwinLoop {
|
|
|
305
337
|
result.promptEvolved = true;
|
|
306
338
|
result.abTestStarted = true;
|
|
307
339
|
result.newVersion = newVersion;
|
|
308
|
-
const genLabel = this.agent?.evolution?.useGepa
|
|
340
|
+
const genLabel = this.agent?.evolution?.useGepa || this.agent?.evolution?.useDemos
|
|
341
|
+
? ` via ${generatedBy}`
|
|
342
|
+
: '';
|
|
309
343
|
result.message = `New prompt ${newVersion} generated${genLabel}. A/B test started: ${activePrompt.version} vs ${newVersion} (minRuns: ${dynamicMinRuns}).`;
|
|
310
344
|
// Notify via Telegram (non-blocking)
|
|
311
345
|
notifyEvolutionStarted(this.notifications, agent, activePrompt.version, newVersion, this.buildChangeReason(detectedPatterns)).catch(() => { });
|
|
@@ -491,17 +525,32 @@ export class DarwinLoop {
|
|
|
491
525
|
*/
|
|
492
526
|
async getRecentFeedback(agentName, limit) {
|
|
493
527
|
const experiments = await this.memory.loadExperiments(agentName);
|
|
528
|
+
const skipPerfect = this.agent?.evolution?.skipPerfectFeedback === true;
|
|
529
|
+
const perfectScore = this.perfectFeedbackScore();
|
|
494
530
|
const feedback = [];
|
|
495
531
|
for (const exp of experiments) {
|
|
496
532
|
if (feedback.length >= limit)
|
|
497
533
|
break;
|
|
498
534
|
if (exp.feedback?.report) {
|
|
535
|
+
// v0.11.0: skip already-perfect runs (GEPA skip_perfect_score) — a
|
|
536
|
+
// 10/10 report gives the optimizer no gradient. Skipped items do NOT
|
|
537
|
+
// count toward `limit`, so the window fills with actionable reports.
|
|
538
|
+
if (skipPerfect && isPerfectScore(exp.feedback.score, perfectScore))
|
|
539
|
+
continue;
|
|
499
540
|
const header = `Score: ${exp.feedback.score}/10 | Task: "${exp.task}" | Version: ${exp.promptVersion}`;
|
|
500
541
|
feedback.push(`${header}\n${exp.feedback.report}`);
|
|
501
542
|
}
|
|
502
543
|
}
|
|
503
544
|
return feedback;
|
|
504
545
|
}
|
|
546
|
+
/**
|
|
547
|
+
* v0.11.0 — Resolved perfect-score threshold for {@link
|
|
548
|
+
* EvolutionConfig.skipPerfectFeedback} (finite, within the critic 1–10
|
|
549
|
+
* scale, else default 10).
|
|
550
|
+
*/
|
|
551
|
+
perfectFeedbackScore() {
|
|
552
|
+
return resolvePerfectFeedbackScore(this.agent?.evolution?.perfectFeedbackScore);
|
|
553
|
+
}
|
|
505
554
|
/**
|
|
506
555
|
* v0.6.0 — Generate the next prompt variant via the GEPA reflective path.
|
|
507
556
|
*
|
|
@@ -533,11 +582,18 @@ export class DarwinLoop {
|
|
|
533
582
|
// correct-by-design rather than relying on tryMergeVariant's no-op.
|
|
534
583
|
if (this.agent?.evolution?.useMerge === true &&
|
|
535
584
|
epoch > 0 &&
|
|
536
|
-
epoch % this.mergeEveryK() === 0
|
|
585
|
+
epoch % this.mergeEveryK() === 0 &&
|
|
586
|
+
(await this.mergeBudgetAvailable(agentName))) {
|
|
537
587
|
const merged = await this.tryMergeVariant(agentName);
|
|
538
588
|
if (merged !== null) {
|
|
539
589
|
const guarded = await this.runAlignmentGuard(currentPrompt, merged);
|
|
540
590
|
if (guarded !== null) {
|
|
591
|
+
// v0.11.0: count this merge challenger against the lifetime cap
|
|
592
|
+
// (GEPA max_merge_invocations). Only accepted merges are counted —
|
|
593
|
+
// one that failed the guard below consumed no A/B slot. The counter
|
|
594
|
+
// is written ONLY when a cap is configured, so an uncapped useMerge
|
|
595
|
+
// agent's persisted state stays byte-for-byte v0.10 (no stray key).
|
|
596
|
+
await this.recordMergeInvocation(agentName);
|
|
541
597
|
return { prompt: guarded, via: 'merge' };
|
|
542
598
|
}
|
|
543
599
|
// Merge produced a prompt that eroded a safety constraint — reject it
|
|
@@ -554,10 +610,31 @@ export class DarwinLoop {
|
|
|
554
610
|
// currently-active prompt. Falls back to the active prompt when fewer than
|
|
555
611
|
// two versions carry per-task-type data (selectCoverageParent → null).
|
|
556
612
|
let parentPrompt = currentPrompt;
|
|
613
|
+
let parentChosen = false;
|
|
557
614
|
if (this.agent?.evolution?.useCoverage === true) {
|
|
558
615
|
const coverageParent = await this.selectCoverageParent(agentName);
|
|
559
616
|
if (coverageParent !== null) {
|
|
560
617
|
parentPrompt = coverageParent;
|
|
618
|
+
parentChosen = true;
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
// v0.10.0: GEPA candidate_selection_strategy parity (opt-in via
|
|
622
|
+
// evolution.candidateSelection). Pick the reflection parent from the
|
|
623
|
+
// agent's SCORED version history — 'best' (current_best), 'pareto'
|
|
624
|
+
// (uniform sample from the non-dominated front), or 'epsilon-greedy'
|
|
625
|
+
// (explore/exploit). Coverage selection (the more specific GEPA
|
|
626
|
+
// Algorithm 2 selector) takes precedence when it found a parent; this
|
|
627
|
+
// strategy is the fallback for that cycle. 'active'/unset keeps the
|
|
628
|
+
// historical reflect-from-active-prompt behaviour byte-for-byte.
|
|
629
|
+
const strategy = this.agent?.evolution?.candidateSelection;
|
|
630
|
+
if (!parentChosen && strategy !== undefined && strategy !== 'active') {
|
|
631
|
+
const scored = await this.buildScoredHistory(agentName);
|
|
632
|
+
const chosen = selectParentVariant(scored, strategy, {
|
|
633
|
+
epsilon: this.agent?.evolution?.explorationEpsilon,
|
|
634
|
+
rng: this.rng,
|
|
635
|
+
});
|
|
636
|
+
if (chosen !== null) {
|
|
637
|
+
parentPrompt = chosen.prompt;
|
|
561
638
|
}
|
|
562
639
|
}
|
|
563
640
|
// v0.7.0: pull the configurable feedback window (default 15, was 5).
|
|
@@ -625,6 +702,113 @@ export class DarwinLoop {
|
|
|
625
702
|
return Math.floor(k);
|
|
626
703
|
return 3;
|
|
627
704
|
}
|
|
705
|
+
/**
|
|
706
|
+
* v0.11.0 — Resolved lifetime merge cap (GEPA `max_merge_invocations`), or
|
|
707
|
+
* `null` when uncapped. A non-finite / negative value is treated as "no cap"
|
|
708
|
+
* rather than silently disabling merge; a non-integer cap is floored (mirrors
|
|
709
|
+
* `mergeEveryK`) so a hand-edited `2.5` behaves as 2, not 3.
|
|
710
|
+
*/
|
|
711
|
+
mergeCap() {
|
|
712
|
+
const cap = this.agent?.evolution?.maxMergeInvocations;
|
|
713
|
+
if (typeof cap !== 'number' || !Number.isFinite(cap) || cap < 0)
|
|
714
|
+
return null;
|
|
715
|
+
return Math.floor(cap);
|
|
716
|
+
}
|
|
717
|
+
/**
|
|
718
|
+
* v0.11.0 — Lifetime merge budget check (GEPA `max_merge_invocations`).
|
|
719
|
+
* Returns `true` (merge may fire) when no cap is configured, or when the
|
|
720
|
+
* per-agent count of merge-derived challengers is still below the cap.
|
|
721
|
+
*/
|
|
722
|
+
async mergeBudgetAvailable(agentName) {
|
|
723
|
+
const cap = this.mergeCap();
|
|
724
|
+
if (cap === null)
|
|
725
|
+
return true;
|
|
726
|
+
const state = await this.memory.getState();
|
|
727
|
+
const used = state.mergeInvocations?.[agentName] ?? 0;
|
|
728
|
+
return used < cap;
|
|
729
|
+
}
|
|
730
|
+
/**
|
|
731
|
+
* v0.11.0 — Increment this agent's lifetime merge-invocation count. Called
|
|
732
|
+
* once per merge challenger that passes the alignment guard and is carried
|
|
733
|
+
* into an A/B test, and ONLY when a cap is configured — an uncapped useMerge
|
|
734
|
+
* agent never writes the counter, so its persisted state is unchanged from
|
|
735
|
+
* v0.10. Initialises the map lazily for state rows that predate the field.
|
|
736
|
+
*
|
|
737
|
+
* The check (`mergeBudgetAvailable`) and this increment are separate state
|
|
738
|
+
* reads, so two cycles running concurrently for the SAME agent could each
|
|
739
|
+
* observe `used = cap-1` and overshoot by one. The overshoot is bounded by
|
|
740
|
+
* the concurrency and sits inside the pre-existing concurrent-A/B-start
|
|
741
|
+
* envelope (afterRun's "an A/B test is already running" guard is likewise
|
|
742
|
+
* check-then-act) — acceptable for a soft lifetime budget, not a hard limit.
|
|
743
|
+
*/
|
|
744
|
+
async recordMergeInvocation(agentName) {
|
|
745
|
+
if (this.mergeCap() === null)
|
|
746
|
+
return; // uncapped → leave state untouched
|
|
747
|
+
await this.memory.updateState((s) => {
|
|
748
|
+
if (!s.mergeInvocations)
|
|
749
|
+
s.mergeInvocations = {};
|
|
750
|
+
s.mergeInvocations[agentName] = (s.mergeInvocations[agentName] ?? 0) + 1;
|
|
751
|
+
return s;
|
|
752
|
+
});
|
|
753
|
+
}
|
|
754
|
+
/**
|
|
755
|
+
* v0.10.0 — Demo-injection cadence (every K-th cycle). Default 4, clamped
|
|
756
|
+
* ≥ 1. Deliberately offset from the merge default (3) so the two
|
|
757
|
+
* non-reflective challenger sources don't collide on the same cycles.
|
|
758
|
+
*/
|
|
759
|
+
demoEveryK() {
|
|
760
|
+
const k = this.agent?.evolution?.demoEveryK;
|
|
761
|
+
if (typeof k === 'number' && Number.isFinite(k) && k >= 1)
|
|
762
|
+
return Math.floor(k);
|
|
763
|
+
return 4;
|
|
764
|
+
}
|
|
765
|
+
/**
|
|
766
|
+
* v0.10.0 — Build a SIMBA-style demo challenger: current prompt + a
|
|
767
|
+
* marker-delimited "Demonstrations" section harvested from this agent's
|
|
768
|
+
* highest-scoring past runs. Pure selection + rendering — no LLM call.
|
|
769
|
+
*
|
|
770
|
+
* Returns `null` (→ caller falls through to GEPA/legacy generation) when
|
|
771
|
+
* no run qualifies (score/threshold/length filters) or when the rendered
|
|
772
|
+
* demo set is byte-identical to what the prompt already carries — an A/B
|
|
773
|
+
* test of a version against itself would be pointless.
|
|
774
|
+
*/
|
|
775
|
+
async tryDemoVariant(agentName, currentPrompt) {
|
|
776
|
+
const experiments = await this.memory.loadExperiments(agentName);
|
|
777
|
+
const demos = selectDemoCandidates(experiments, {
|
|
778
|
+
maxDemos: this.agent?.evolution?.maxDemos,
|
|
779
|
+
scoreThreshold: this.agent?.evolution?.demoScoreThreshold,
|
|
780
|
+
});
|
|
781
|
+
if (demos.length === 0)
|
|
782
|
+
return null;
|
|
783
|
+
const section = buildDemoSection(demos);
|
|
784
|
+
const withDemos = applyDemoSection(currentPrompt, section);
|
|
785
|
+
if (withDemos === currentPrompt)
|
|
786
|
+
return null;
|
|
787
|
+
return withDemos;
|
|
788
|
+
}
|
|
789
|
+
/**
|
|
790
|
+
* v0.10.0 — Scored version history for parent selection AND merge: every
|
|
791
|
+
* prompt version that has text and at least one run's worth of averaged
|
|
792
|
+
* metrics, as {@link ScoredVariant}s. One getAverageMetrics
|
|
793
|
+
* (→ loadExperiments) call per version. O(N) backend round-trips, but N is
|
|
794
|
+
* the agent's prompt-version count (≤ ~20 in practice) and this only runs
|
|
795
|
+
* on selection/merge cadences, so it is cheap — same pattern handleABTest
|
|
796
|
+
* already uses for the Pareto gate. (Extracted from tryMergeVariant,
|
|
797
|
+
* behaviour unchanged.)
|
|
798
|
+
*/
|
|
799
|
+
async buildScoredHistory(agentName) {
|
|
800
|
+
const versions = await this.memory.getAllPromptVersions(agentName);
|
|
801
|
+
const scored = [];
|
|
802
|
+
for (const v of versions) {
|
|
803
|
+
if (!v.promptText)
|
|
804
|
+
continue;
|
|
805
|
+
const metrics = await this.tracker.getAverageMetrics(agentName, v.version);
|
|
806
|
+
if (Object.keys(metrics).length === 0)
|
|
807
|
+
continue; // no runs for this version
|
|
808
|
+
scored.push({ id: v.version, prompt: v.promptText, metrics });
|
|
809
|
+
}
|
|
810
|
+
return scored;
|
|
811
|
+
}
|
|
628
812
|
/**
|
|
629
813
|
* v0.7.0 — GEPA system-aware MERGE (paper Appendix-D). Builds scored
|
|
630
814
|
* variants from this agent's prompt-version history (each version's prompt
|
|
@@ -641,20 +825,7 @@ export class DarwinLoop {
|
|
|
641
825
|
async tryMergeVariant(agentName) {
|
|
642
826
|
if (!this.gepa)
|
|
643
827
|
return null;
|
|
644
|
-
const
|
|
645
|
-
const scored = [];
|
|
646
|
-
// One getAverageMetrics (→ loadExperiments) call per version. O(N) backend
|
|
647
|
-
// round-trips, but N is the agent's prompt-version count (≤ ~20 in
|
|
648
|
-
// practice) and this only runs on the merge cadence, so it is cheap — same
|
|
649
|
-
// pattern handleABTest already uses for the Pareto gate.
|
|
650
|
-
for (const v of versions) {
|
|
651
|
-
if (!v.promptText)
|
|
652
|
-
continue;
|
|
653
|
-
const metrics = await this.tracker.getAverageMetrics(agentName, v.version);
|
|
654
|
-
if (Object.keys(metrics).length === 0)
|
|
655
|
-
continue; // no runs for this version
|
|
656
|
-
scored.push({ id: v.version, prompt: v.promptText, metrics });
|
|
657
|
-
}
|
|
828
|
+
const scored = await this.buildScoredHistory(agentName);
|
|
658
829
|
if (scored.length < 2)
|
|
659
830
|
return null; // need two parents to merge
|
|
660
831
|
// Two best Pareto-front members (distinct versions, scalarised tie-break).
|
|
@@ -732,11 +903,18 @@ export class DarwinLoop {
|
|
|
732
903
|
*/
|
|
733
904
|
async getReflectiveFeedback(agentName, limit) {
|
|
734
905
|
const experiments = await this.memory.loadExperiments(agentName);
|
|
906
|
+
const skipPerfect = this.agent?.evolution?.skipPerfectFeedback === true;
|
|
907
|
+
const perfectScore = this.perfectFeedbackScore();
|
|
735
908
|
const feedbacks = [];
|
|
736
909
|
for (const exp of experiments) {
|
|
737
910
|
if (feedbacks.length >= limit)
|
|
738
911
|
break;
|
|
739
912
|
if (exp.feedback?.report) {
|
|
913
|
+
// v0.11.0: skip already-perfect runs (GEPA skip_perfect_score) so the
|
|
914
|
+
// reflector concentrates on runs with an actual improvement gradient.
|
|
915
|
+
// Skipped items do NOT count toward `limit`.
|
|
916
|
+
if (skipPerfect && isPerfectScore(exp.feedback.score, perfectScore))
|
|
917
|
+
continue;
|
|
740
918
|
feedbacks.push({
|
|
741
919
|
variantId: exp.promptVersion,
|
|
742
920
|
score: exp.feedback.score,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop.js","sourceRoot":"","sources":["../../../src/evolution/loop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"loop.js","sourceRoot":"","sources":["../../../src/evolution/loop.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parent-selection strategies (v0.10.0) — GEPA `candidate_selection_strategy`
|
|
3
|
+
* parity for the online evolution loop.
|
|
4
|
+
*
|
|
5
|
+
* Upstream GEPA exposes three strategies for picking WHICH candidate to
|
|
6
|
+
* mutate next: sample from the Pareto frontier (default), always take the
|
|
7
|
+
* current best, or epsilon-greedy explore/exploit. Darwin's online loop
|
|
8
|
+
* historically always reflected from the currently-ACTIVE prompt (plus the
|
|
9
|
+
* opt-in v0.7 coverage selection). This module adds the missing strategies as
|
|
10
|
+
* a pure, injectable-RNG helper:
|
|
11
|
+
*
|
|
12
|
+
* - `"active"` — loop default, reflect from the active prompt
|
|
13
|
+
* (handled by the caller; this helper returns null).
|
|
14
|
+
* - `"best"` — GEPA `current_best`: highest scalarised composite
|
|
15
|
+
* over the version history.
|
|
16
|
+
* - `"pareto"` — GEPA default: uniform sample from the non-dominated
|
|
17
|
+
* front of the version history.
|
|
18
|
+
* - `"epsilon-greedy"`— with probability ε pick a uniformly-random version
|
|
19
|
+
* (explore), otherwise the best (exploit).
|
|
20
|
+
*
|
|
21
|
+
* Why it matters: always mutating the active prompt is a hill-climb that can
|
|
22
|
+
* get stuck on a local optimum. Sampling parents from the Pareto front keeps
|
|
23
|
+
* lineages alive that win on DIFFERENT objectives, and epsilon-greedy buys
|
|
24
|
+
* cheap exploration — both directly per the GEPA paper's selection ablation.
|
|
25
|
+
*
|
|
26
|
+
* Purity: no I/O, no LLM calls, deterministic given the same `rng`. The RNG
|
|
27
|
+
* is injected (default `Math.random`) so tests pin outcomes exactly — same
|
|
28
|
+
* pattern as `sampleByCoverage` (v0.7.0).
|
|
29
|
+
*/
|
|
30
|
+
import { type ParetoObjective } from "./pareto.js";
|
|
31
|
+
/**
|
|
32
|
+
* Strategy for choosing the prompt version the next challenger is derived
|
|
33
|
+
* from. `"active"` is the historical default (reflect from the active
|
|
34
|
+
* prompt); the other three operate on the agent's scored version history.
|
|
35
|
+
*/
|
|
36
|
+
export type CandidateSelectionStrategy = "active" | "best" | "pareto" | "epsilon-greedy";
|
|
37
|
+
/** Minimal shape this module needs — `ScoredVariant` satisfies it. */
|
|
38
|
+
export interface SelectableVariant {
|
|
39
|
+
/** Averaged objective vector for one prompt version. */
|
|
40
|
+
metrics: Record<string, number>;
|
|
41
|
+
}
|
|
42
|
+
/** Options for {@link selectParentVariant}. */
|
|
43
|
+
export interface ParentSelectionOptions {
|
|
44
|
+
/**
|
|
45
|
+
* Exploration probability for `"epsilon-greedy"` (default
|
|
46
|
+
* {@link DEFAULT_EXPLORATION_EPSILON}). Clamped to [0, 1]; non-finite
|
|
47
|
+
* values fall back to the default (NaN never bypasses the clamp).
|
|
48
|
+
*/
|
|
49
|
+
epsilon?: number;
|
|
50
|
+
/**
|
|
51
|
+
* Random source in [0, 1) — injected for deterministic tests
|
|
52
|
+
* (default `Math.random`). Consulted by `"pareto"` (front sampling) and
|
|
53
|
+
* `"epsilon-greedy"` (explore coin-flip + explore pick).
|
|
54
|
+
*/
|
|
55
|
+
rng?: () => number;
|
|
56
|
+
/**
|
|
57
|
+
* Objectives for dominance/scalarisation (default
|
|
58
|
+
* {@link DARWIN_DEFAULT_OBJECTIVES}). Same scale-sensitivity caveat as
|
|
59
|
+
* `paretoSelect` applies to the scalarised `"best"` pick.
|
|
60
|
+
*/
|
|
61
|
+
objectives?: ReadonlyArray<ParetoObjective<Record<string, number>>>;
|
|
62
|
+
}
|
|
63
|
+
export declare const DEFAULT_EXPLORATION_EPSILON = 0.1;
|
|
64
|
+
/**
|
|
65
|
+
* Pick the parent variant the next challenger should be derived from.
|
|
66
|
+
*
|
|
67
|
+
* Returns `null` when the strategy is `"active"` (caller keeps the active
|
|
68
|
+
* prompt — the historical default path) or when `variants` is empty. A
|
|
69
|
+
* single-element list short-circuits to that element for every non-active
|
|
70
|
+
* strategy.
|
|
71
|
+
*/
|
|
72
|
+
export declare function selectParentVariant<V extends SelectableVariant>(variants: ReadonlyArray<V>, strategy: CandidateSelectionStrategy, options?: ParentSelectionOptions): V | null;
|
|
73
|
+
//# sourceMappingURL=selection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../../src/evolution/selection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AAIrB;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,gBAAgB,CAAC;AAEzF,sEAAsE;AACtE,MAAM,WAAW,iBAAiB;IAChC,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,+CAA+C;AAC/C,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;CACrE;AAED,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAyD/C;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,iBAAiB,EAC7D,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,QAAQ,EAAE,0BAA0B,EACpC,OAAO,GAAE,sBAA2B,GACnC,CAAC,GAAG,IAAI,CAmCV"}
|