Skip to content

Rewrite voice agent testing best practices - #1193

Merged
scott-lowe-vapi merged 4 commits into
mainfrom
codex/voice-agent-testing-best-practices
Sep 9, 2026
Merged

Rewrite voice agent testing best practices#1193
scott-lowe-vapi merged 4 commits into
mainfrom
codex/voice-agent-testing-best-practices

Conversation

@scott-lowe-vapi

@scott-lowe-vapi scott-lowe-vapi commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Description

  • Replace deprecated Test Suites guidance with a five-page Best practices > Testing section for customer support operators and product managers.
  • Explain when to use Simulations for full-conversation outcomes and Evals for decisions at specific conversation points.
  • Add guidance for risk-based coverage, repeated runs, regression tests, transcript and recording review, and production monitoring.
  • Update navigation, redirects, troubleshooting guidance, examples, and docs-assistant context to remove stale Test Suites references.

Testing Steps

  • Run the app locally using fern docs dev or navigate to preview deployment
  • Ensure that the changed pages and code snippets work

Validation for review follow-up 5094ba5: fern check passed with 0 errors and 12 existing API warnings. Rendered all six edited pages in an isolated local Fern preview with the repository stylesheet, and visually checked the coverage checklist. No executable examples were added; the unsupported Eval-group JSON was removed. The full hosted preview is validated separately by CI.

@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

@scott-lowe-vapi
scott-lowe-vapi marked this pull request as ready for review September 5, 2026 02:35
@lightsage-app

lightsage-app Bot commented Sep 5, 2026

Copy link
Copy Markdown

Lightsage docs evals

Result: passed
Staging docs: https://vapi-preview-01a083a7-66e4-725f-bf47-15e9c4b71620.docs.buildwithfern.com
Commit: adc23ff

Average score: 100/100
Passed: 3/3

Eval ID Status Score Model Tools Docs 404
08e24c18-82a0-45de-abdc-d237bd12bc0f Pass 100 claude-code/global.anthropic.claude... 26 0
08e24c18-82a0-45de-abdc-d237bd12bc0f Pass 100 cursor/auto 19 2
08e24c18-82a0-45de-abdc-d237bd12bc0f Pass 100 codex/gpt-5.4 32 0

Comment thread fern/changelog/2025-02-25.mdx Outdated
Comment thread fern/observability/evals-advanced.mdx
@scott-lowe-vapi
scott-lowe-vapi force-pushed the codex/voice-agent-testing-best-practices branch from 627f6e4 to d628495 Compare September 8, 2026 17:25
Comment thread fern/observability/evals-quickstart.mdx Outdated
Comment thread fern/test/evals-best-practices.mdx Outdated
Comment thread fern/test/plan-test-coverage.mdx Outdated
| **Core outcome** | The caller completes the goal and receives an accurate confirmation or next step. | Simulation |
| **Critical decisions** | The agent asks the required question, chooses the right tool or route, and uses the right information. | Eval |
| **Both directions** | The action happens when it should and does not happen when it should not. | Evals |
| **Missing or unclear information** | The agent asks for what it needs instead of guessing. | Eval, then Simulation |

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

mega nit:

Suggested change
| **Missing or unclear information** | The agent asks for what it needs instead of guessing. | Eval, then Simulation |
| **Missing or unclear information** | The agent asks for missing data instead of hallucinating them. | Eval, then Simulation |

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Kept 'asks for what it needs instead of guessing' in fern/test/plan-test-coverage.mdx. It describes the expected behavior in plain language for support operators and product managers; 'hallucinating' adds AI terminology without making the requirement more specific. Leaving this open for your follow-up.

Comment thread fern/test/plan-test-coverage.mdx
Comment thread fern/test/simulations-best-practices.mdx Outdated

@chris-garber-vapi chris-garber-vapi left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

LGTM, just a few tune up comments!

Comment thread fern/test/voice-testing.mdx
Comment thread fern/test/voice-testing.mdx Outdated
- Voice tests require more time to execute compared to chat tests.
- Each test consumes calling minutes from your account.
- Maximum call duration is limited to 15 minutes per test.
For example, use an **Eval** to check that an agent calls the rescheduling tool only after it verifies the caller. Use a **Simulation** to check that a caller can reschedule, hear the correct new time, and finish the conversation successfully. The Simulation should pass even if the agent asks the questions in a different valid order.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

For example, use an Eval to check that an agent calls the rescheduling tool only after verifying the caller. Use a Simulation to check that a caller can reschedule, hear the correct new time, and finish successfully - and it should pass even if the agent asks the questions in a different valid order.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This example is already present in fern/test/voice-testing.mdx under 'Use Evals for decisions and Simulations for outcomes': identity verification before rescheduling, followed by a Simulation that accepts different valid question orders. Retained it without adding a duplicate. Leaving this open in case you intended a different change.

@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Comment thread fern/test/voice-testing.mdx
Comment thread fern/test/voice-testing.mdx Outdated

## Prioritize by risk

You do not need hundreds of tests to get started. Test these areas first:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Love

Comment thread fern/test/simulations-best-practices.mdx Outdated
Comment thread fern/test/simulations-best-practices.mdx Outdated
@scott-lowe-vapi

Copy link
Copy Markdown
Contributor Author

Follow-up on the Lightsage evaluation report: the failed Codex run at d628495 reported 0 tool calls, while the other two runs passed. The report contains no failure trace, and GitHub check runs and commit statuses expose no Lightsage diagnostics. The Lightsage dashboard requires sign-in, so I could not determine the cause from the available evidence.

The push of 5094ba5 has automatically queued a fresh evaluation after the hosted docs preview completes. No content change was made solely on the basis of the old score. If the new run fails, its Lightsage execution trace is needed to distinguish a content issue from an execution failure.

@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

@scott-lowe-vapi
scott-lowe-vapi merged commit 0c175e2 into main Sep 9, 2026
6 checks passed
@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

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.

4 participants