Communication Evaluation
Test how an agent talks — tone, formality, verbosity, and technical level.
Communication evaluation tests whether an agent adapts its communication style to the audience and maintains consistent tone, formality, verbosity, and technical level.
What it tests
- 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_style
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_adaptation
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 parameters
| 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 score
result.DimensionScores["communication"] // 0.0 to 1.0Use cases
- 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