allium
FreeGive your AI agents something more useful than a prompt. Velocity through clarity.
The English summary is being prepared. Showing the original description.
Set up GEPA prompt optimization for an ORC workflow
The English summary is being prepared. Showing the original description.
See how to installReview the instructions the agent will receive before you install.
Optimize LLM instructions in an ORC workflow using GEPA (Genetic-Pareto Prompt Optimizer). Read docs/GEPA-GUIDE.md for the full reference.
(require '[ai.obney.orc.gepa.interface :as gepa])
GEPA improves LLM node instructions through:
Metrics score how well a candidate instruction performs on each training example.
;; Exact match (binary: 0 or 1)
(gepa/make-exact-match-metric "answer")
;; Contains check
(gepa/make-contains-metric "answer")
;; Judge-based (LLM evaluates quality)
(gepa/make-judge-metric
{:grounding 0.35
:completeness 0.25
:instruction-following 0.25
:reasoning 0.15})
(def examples
[{"question" "What is 2+2?" "expected-answer" "4"}
{"question" "Capital of France?" "expected-answer" "Paris"}
{"question" "Largest ocean?" "expected-answer" "Pacific"}])
(gepa/optimize! ctx
{:sheet-id sheet-id
:node-name "answer-node" ;; which LLM node to optimize
:trainset examples
:valset examples
:metric-fn (gepa/make-exact-match-metric "answer")
:config {:max-metric-calls 30}
:block? false})
;; Get the best candidate
(gepa/get-best-candidate ctx optimization-id)
;; Get the Pareto frontier
(gepa/get-pareto-frontier ctx optimization-id)
;; Get optimization progress
(gepa/get-progress ctx optimization-id)
If the process stops during an optimization, reconstruct the same Grain context and advance one durable missing transition at a time:
(gepa/resume! ctx optimization-id)
;; => {:status :resumed :boundary ...}
;; or {:status :already-terminal ...}
;; The exact immutable source version is mandatory.
(gepa/apply-winner! ctx optimization-id 3)
;; => {:source-version 3 :target-version 4
;; :source-fingerprint ... :target-fingerprint ...}
Optimization never silently mutates a published workflow. Applying a completed winner updates the draft and publishes a new immutable version with source and target fingerprints.
docs/GEPA-GUIDE.md — Full GEPA integration guidedocs/SELF-IMPROVING-LOOP.md — How evaluation feeds continuous improvementNo reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Give your AI agents something more useful than a prompt. Velocity through clarity.
The English summary is being prepared. Showing the original description.
Extract an Allium specification from an existing codebase. Use when the user has existing code and wants to distil behaviour into a spec, reverse engineer a specification from implementation, generate a spec from code, turn implementation into a behavioural specification, or document what a codebase does in Allium terms.
The English summary is being prepared. Showing the original description.
Run a structured discovery session to build an Allium specification through conversation. Use when the user wants to create a new spec from scratch, elicit or gather requirements, capture domain behaviour, specify a feature or system, define what a system should do, or is describing functionality and needs help shaping it into a specification.
The English summary is being prepared. Showing the original description.
Implement command handlers that validate state and emit events using the Grain framework
The English summary is being prepared. Showing the original description.
Create scheduled background jobs that run on cron schedules
The English summary is being prepared. Showing the original description.
Implement query handlers that read from event-sourced read models
The English summary is being prepared. Showing the original description.