Skip to content

feat: add ActorSimulator for multi-turn conversation evaluation#28

Merged
jjbuck merged 1 commit intostrands-agents:mainfrom
jjbuck:feature/simulator
Nov 11, 2025
Merged

feat: add ActorSimulator for multi-turn conversation evaluation#28
jjbuck merged 1 commit intostrands-agents:mainfrom
jjbuck:feature/simulator

Conversation

@jjbuck
Copy link
Copy Markdown
Collaborator

@jjbuck jjbuck commented Nov 6, 2025

Description

Introduces ActorSimulator framework for simulating realistic actors (typically users) in multi-turn conversations with agents under test. Enables systematic evaluation of conversational agents through synthetic user interactions.

Key capabilities:

  • Generic ActorSimulator class configurable with arbitrary system prompts
  • from_case_for_user_simulator() factory method to condition simulator to act as a user on the basis of a given Case
  • Automatic profile generation from test cases using LLM inference
  • Built-in goal completion assessment tool for conversation evaluation
  • Support for custom tools and behaviors

Design principles:

  • Generic base class (ActorSimulator) with specialized factory methods
  • Clear separation: init() for generic construction, factory for specialization
  • Optional task_description in Case metadata (handles vague initial queries)

Related Issues

N/A

Documentation PR

N/A

Type of Change

New feature

Testing

  • I ran hatch run prepare

Checklist

  • I have read the CONTRIBUTING document
  • I have added any necessary tests that prove my fix is effective or my feature works
  • I have updated the documentation accordingly
  • I have added an appropriate example to the documentation to outline the feature, or no new docs are needed
  • My changes generate no new warnings
  • Any dependent changes have been merged and published

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

ntroduces ActorSimulator framework for simulating realistic actors (typically users) in multi-turn conversations with agents under test. Enables systematic evaluation of conversational agents through synthetic user interactions.

Key capabilities:
1. Generic ActorSimulator class configurable with arbitrary system prompts
2. from_case_for_user_simulator() factory method to condition simulator to act as a user on the basis of a given Case
3. Automatic profile generation from test cases using LLM inference
4. Built-in goal completion assessment tool for conversation evaluation
5. Support for custom tools and behaviors

Design principles:
1. Generic base class (ActorSimulator) with specialized factory methods
2. Clear separation: init() for generic construction, factory for specialization
3. Optional task_description in Case metadata (handles vague initial queries)
@jjbuck jjbuck merged commit 0712896 into strands-agents:main Nov 11, 2025
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants