En test spiller ét opkald i tekst: en simuleret opkalder spiller scenario, agenten svarer ud fra sin kladde (instruktioner, første besked og viden), og en bedømmer vurderer samtalen ud fra success_criteria. Skriv tests til de opkald, der betyder noget, kør dem efter hver ændring, og udgiv, når de består.
curl https://evasay.com/api/v1/voice/agents/AGENT_ID/tests \
-X POST \
-H "Authorization: Bearer sk-your-key" \
-H "Content-Type: application/json" \
-d '{
"name": "Move a booking",
"scenario": "A regular customer wants to move Friday 3 pm to Saturday morning.",
"success_criteria": "Offers Saturday times and confirms the new time and the customer'"'"'s name.",
"max_turns": 8
}'
POST /agents/{id}/test-runs kører alle agentens tests, eller dem i test_ids, og svarer med én kørsel pr. test (status: "running"). Spørg GET /test-runs/{id}, indtil status er passed, failed eller error; så har kørslen transcript og bedømmerens reason (på engelsk, eller på kinesisk med reason_language: "zh"). Hver kørsel koster Credits, som vises ved testene i dashboardet; kørslerne stopper ved den første, saldoen ikke kan betale, og not_started viser resten. En kørsel, der ikke kan gennemføres, refunderes. Tests tjekker, hvad agenten siger, ikke dens stemme eller timing, og kalder ikke dens funktioner: forhåndsvis dem med POST /tools/{id}/test. En agent har op til 30 tests; PATCH og DELETE /agents/{id}/tests/{test_id} ændrer eller fjerner en.
Ud over hele opkald (type: "simulation", standard) kan en test tjekke et enkelt svar. type: "next_reply" tager chat_history, samtalen før, der slutter med opkalderen ([{role, text}], hvor role er caller eller agent), og success_criteria for agentens næste svar. type: "tool_call" tager chat_history og expected_tool {name, arguments, match}: agenten skal kalde name (en af sine funktioner eller end_call, transfer_call, handoff_to_agent) med arguments, sammenlignet præcist (tekst trimmet, store og små bogstaver ignoreret) eller med match: "judge" efter betydning; andre argumenter ignoreres. En kørsels transcript viser de kaldte funktioner i tool_calls.
POST /agents/{id}/tests/generate foreslår tests ud fra agentens kladde: instruktioner, viden og funktioner. Det tager count (1–10, standard 5), types, focus (hvad der skal dækkes) og language (en eller zh, til navne og kriterier), koster Credits som én kørsel og svarer med kladder, du gennemgår og sender til POST /agents/{id}/tests; med save: true gemmes de.