Communication evaluation tests whether an agent adapts its communication style to the audience and maintains consistent tone, formality, verbosity, and technical level.
What it tests01
Does the agent use the right tone for the context?
Is the formality level appropriate for the audience?
Is verbosity calibrated (not too terse, not too wordy)?
Does the technical level match the user's expertise?
Scorer: communication_style02
The communication_style scorer evaluates the agent's output against expected communication parameters:
testcase.ScorerConfig{
Name: "communication_style",
Config: map[string]any{
"expected_tone": "professional",
"formality_min": 0.6,
"formality_max": 0.9,
"verbosity_min": 0.3,
"verbosity_max": 0.6,
"technical_level_min": 0.7,
},
}Scenario: comms_adaptation03
The comms_adaptation scenario generator creates test cases that require the agent to adapt its communication style to different audiences:
Case{
ScenarioType: testcase.ScenarioCommsAdaptation,
Input: "Explain how database indexing works",
Context: map[string]any{
"audience": "junior developer",
"expected_tone": "friendly",
"technical_level": 0.4,
},
}Communication parameters04
| Parameter | Range | Description |
Tone | string | Descriptive label: "professional", "friendly", "casual" |
Formality | 0.0 - 1.0 | Casual to formal spectrum |
Verbosity | 0.0 - 1.0 | Terse to verbose spectrum |
TechnicalLevel | 0.0 - 1.0 | Layperson to expert spectrum |
Dimension score05
result.DimensionScores["communication"] // 0.0 to 1.0Use cases06
Verify a customer support agent uses friendly, low-tech language with end users
Test that a technical lead communicates concisely with expert-level detail
Ensure an agent adapts formality when switching between internal and external communications