Repeat Until Acceptable
data class RepeatUntilAcceptable(val maxIterations: Int = 3, val scoreThreshold: <Error class: unknown class> = 0.9)
Primitive for building repeat until acceptable workflows. See https://www.anthropic.com/engineering/building-effective-agents This is the Evaluator Optimizer pattern
Functions
Link copied to clipboard
inline fun <INPUT, RESULT : Any, FEEDBACK : Feedback> build(noinline task: (RepeatUntilAcceptableActionContext<INPUT, RESULT, FEEDBACK>) -> RESULT, noinline evaluator: (EvaluationActionContext<INPUT, RESULT, FEEDBACK>) -> FEEDBACK, noinline acceptanceCriteria: (AcceptanceActionContext<INPUT, RESULT, FEEDBACK>) -> Boolean = { it.feedback.score >= scoreThreshold }, inputClass: Class<INPUT>): AgentScopeBuilder<RESULT>
fun <INPUT, RESULT : Any, FEEDBACK : Feedback> build(task: (RepeatUntilAcceptableActionContext<INPUT, RESULT, FEEDBACK>) -> RESULT, evaluator: (EvaluationActionContext<INPUT, RESULT, FEEDBACK>) -> FEEDBACK, acceptanceCriteria: (AcceptanceActionContext<INPUT, RESULT, FEEDBACK>) -> Boolean, resultClass: Class<RESULT>, feedbackClass: Class<FEEDBACK>, inputClass: Class<out INPUT>): AgentScopeBuilder<RESULT>