Skip to content

feat: add correctness evaluator, trace-based and reference-based#185

Merged
poshinchen merged 1 commit intostrands-agents:mainfrom
ybdarrenwang:feature/gt-rc
Apr 10, 2026
Merged

feat: add correctness evaluator, trace-based and reference-based#185
poshinchen merged 1 commit intostrands-agents:mainfrom
ybdarrenwang:feature/gt-rc

Conversation

@ybdarrenwang
Copy link
Copy Markdown
Collaborator

Description

Add correctness evaluator, supporting both trace-based and reference-based evaluation

Related Issues

#95

Documentation PR

strands-agents/docs#714

Type of Change

New feature

Testing

How have you tested the change? Verify that the changes do not break functionality or introduce warnings in consuming repositories: agents-docs, agents-tools, agents-cli

  • 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.

Comment thread src/strands_evals/evaluators/coherence_evaluator.py
Comment thread src/strands_evals/evaluators/correctness_evaluator.py
Comment thread src/strands_evals/evaluators/correctness_evaluator.py Outdated
Copy link
Copy Markdown
Contributor

@poshinchen poshinchen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤔 I'm a bit confused about expected_assertion, and the expected_output now.
What is the difference? Can't we always use one or another in trace-based evaluators?

Co-authored-by: Kang Zhou <kangzhou1991@gmail.com>
Co-authored-by: Subramanian Chidambaram <subbu10123@gmail.com>
@ybdarrenwang
Copy link
Copy Markdown
Collaborator Author

🤔 I'm a bit confused about expected_assertion, and the expected_output now. What is the difference? Can't we always use one or another in trace-based evaluators?

After discussion offline, we confirmed that it shouldn't make difference, and we'll use expected_assertions for both

  • GoalSuccessRateEvaluator with assertion
  • CorrectnessEvaluator with reference

@poshinchen poshinchen merged commit d40a2b3 into strands-agents:main Apr 10, 2026
13 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.

3 participants