Skip to content

ExperimentAssignmentResolver

Namespace AgentPrism · Assembly AgentPrism.Core.dll

Deterministically assigns a run request to a bucket, when a running experiment exists for an agent.

public sealed class ExperimentAssignmentResolver

objectExperimentAssignmentResolver

object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

The assignment is deterministic: the same key always produces the same bucket. A random assignment would change the instructions mid-conversation.

ExperimentAssignmentResolver(IExperimentStore)

Section titled “ ExperimentAssignmentResolver(IExperimentStore)”

Creates a new assignment resolver.

public ExperimentAssignmentResolver(IExperimentStore store)

store IExperimentStore

Experiment store.

ArgumentNullException

store is null.

ResolveAsync(string, string, string, CancellationToken)

Section titled “ ResolveAsync(string, string, string, CancellationToken)”

Produces an assignment for the given key, when a running experiment exists for this agent.

public ValueTask<ExperimentAssignment?> ResolveAsync(string tenantId, string agentName, string assignmentKey, CancellationToken cancellationToken = default)

tenantId string

Tenant identifier.

agentName string

Agent name.

assignmentKey string

Assignment key (session id or run id).

cancellationToken CancellationToken

Cancellation token.

ValueTask<ExperimentAssignment?>

The assignment; null when there is no running experiment.