Aludel.Prompts.Optimization (aludel v0.6.1)

Copy Markdown View Source

Multi-objective prompt analysis and failure-grounded prompt suggestions.

Pareto analysis compares eligible prompt versions across pass rate, cost per passed test, and latency per passed test. Reflection builds bounded evidence from failed suite results, generates a variable-preserving suggestion, and requires an explicit accept or dismiss transition.

Summary

Functions

accept_suggestion(suggestion_id, prompt_id \\ nil)

@spec accept_suggestion(binary(), binary() | nil) ::
  {:ok, Aludel.Prompts.PromptSuggestion.t()} | {:error, term()}

analyze(metrics)

@spec analyze([map()]) :: %{candidates: [map()], frontier: [map()]}

create_suggestion(attrs)

@spec create_suggestion(map()) ::
  {:ok, Aludel.Prompts.PromptSuggestion.t()} | {:error, Ecto.Changeset.t()}

dismiss_suggestion(suggestion_id, prompt_id \\ nil)

@spec dismiss_suggestion(binary(), binary() | nil) ::
  {:ok, Aludel.Prompts.PromptSuggestion.t()} | {:error, term()}

generate_suggestion(source_version_id, suite_id, provider_id)

@spec generate_suggestion(binary(), binary(), binary()) ::
  {:ok, Aludel.Prompts.PromptSuggestion.t()} | {:error, term()}

list_suggestions(prompt_id)

@spec list_suggestions(binary()) :: [Aludel.Prompts.PromptSuggestion.t()]