Package com.tnsai.agents.variant
Class VariantSelector
java.lang.Object
com.tnsai.agents.variant.VariantSelector
Intelligent variant selector for automatic quality tier selection.
Combines multiple factors to select the optimal variant:
- Task Complexity: Analyzes input for complexity signals
- Historical Performance: Tracks success/failure rates per variant
- Cost Budget: Respects token budget constraints
- User Preferences: Learns from explicit feedback
- Author:
- TnsAI Team
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classBuilder for VariantSelector.static enumReasons for variant selection.static final recordSelection result with reasoning.static classToken budget for cost control.static enumUser preference for quality/speed/cost trade-offs.static classStatistics for a variant. -
Method Summary
Modifier and TypeMethodDescriptionstatic VariantSelector.Builderbuilder()Creates a new builder.static VariantSelectordefaults()Creates a default selector with balanced settings.Gets all variant statistics.longGets remaining budget.getStats(AgentVariant variant) Gets statistics for a specific variant.voidrecordFailure(AgentVariant variant, int tokensUsed) Records a failed execution for learning.voidrecordSuccess(AgentVariant variant, int tokensUsed) Records a successful execution for learning.voidResets learning statistics.Selects the optimal variant for the given task.select(String taskDescription, AgentVariant override) Selects the optimal variant considering action metadata.
-
Method Details
-
builder
Creates a new builder.- Returns:
- builder instance
-
defaults
Creates a default selector with balanced settings.- Returns:
- default selector
-
select
Selects the optimal variant for the given task.- Parameters:
taskDescription- the task description- Returns:
- selected variant
-
select
Selects the optimal variant considering action metadata.- Parameters:
taskDescription- the task descriptionoverride- explicit variant override (from @Variant annotation)- Returns:
- selected variant
-
recordSuccess
Records a successful execution for learning.- Parameters:
variant- the variant usedtokensUsed- tokens consumed
-
recordFailure
Records a failed execution for learning.- Parameters:
variant- the variant usedtokensUsed- tokens consumed before failure
-
getStats
Gets statistics for a specific variant.- Parameters:
variant- the variant- Returns:
- statistics
-
getAllStats
Gets all variant statistics.- Returns:
- map of variant to stats
-
getRemainingBudget
public long getRemainingBudget()Gets remaining budget.- Returns:
- remaining tokens, or -1 if no budget set
-
resetStats
public void resetStats()Resets learning statistics.
-