Testējiet balss aģentu pilnībā (API)
Palaidiet vienreizējas simulācijas, paralēlas scenāriju paketes un laidienu vārtejas testu komplektus, izmantojot ThunderPhone API, lai balss aģenta regresijas tiktu atklātas, pirms tās dzird klienti.
Darbs ar MI aģentu ietver tā uzvednes, rīku un robežgadījumu apstrādes pilnveidošanu. Simulāciju API veic reālus zvanus uz aģentu, izmantojot jūsu norādītu scenārija uzvedni. Mērķējot uz aģentu, tiek izveidota bota–bota izpilde; mērķējot uz tālruņa numuru, tiek izveidota SIP cilpas izpilde. Katra izpilde rada reālu zvanu žurnālu ar transkripciju, vērtējumu un norēķiniem, lai jūs precīzi redzētu, kā aģents darbojas un cik tas maksā.
Izmantojiet to šādiem mērķiem:
- Ātrās pārbaudes pirms izvietošanas pēc katras uzvednes rediģēšanas
- Regresijas testu komplekti, kas savienoti ar CI (piesaistiet
test-call.completedtīmekļa aizķeri → neizlaidiet būvējumu, ja vērtējums samazinās) - Vienlaicīguma ierobežojumu slodzes testēšana
Vienreizēja palaišana: viena izpilde
curl -X POST https://api.thunderphone.com/v1/simulations \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"target_type": "agent",
"target_id": 12,
"direction": "outbound",
"scenario_prompt": "You are a polite caller asking about refund policy for order 12345.",
"consent_to_charge": true
}'Lauki:
| Lauks | Tips | Obligāts | Apraksts |
|---|---|---|---|
target_type | virkne | jā | agent vai phone_number |
target_id | vesels skaitlis | jā | Aģenta ID (vai tālruņa numura ID) |
direction | virkne | nē | outbound (noklusējums; testa zvanītājs uzsāk zvanu) vai inbound (testa zvanītājs atbild) |
scenario_prompt | virkne | nē | Nosaka, ko saka testa bots |
language / primary_language | virkne | nē | Testa zvanītāja valoda; neatbalstītie kodi tiek noraidīti |
simulator_product | virkne | nē | testing (noklusējums) vai spark, lai iegūtu cilvēkam līdzīgāku simulētu zvanītāju, piemēram, siltās pārsūtīšanas konsultācijas testiem |
consent_to_charge | Būla vērtība | jā | Jābūt true. Aprēķinā tiek iekļauta maksa gan par atlasīto aģentu, gan simulēto zvanītāju, kā arī par jebkuru telefonijas posmu |
target_number | virkne | nē | E.164 aizstāšana attālajai pusei; pretējā gadījumā tiek izmantots platformas testa numurs |
mode ir tikai lasāms un tiek atvasināts no target_type: agent rada
mode="bot", savukārt phone_number rada mode="sip".
Atbilde ir simulācijas izpildes objekts
ar status="queued". Aptaujājiet, līdz status kļūst par completed vai
failed; kad ir iestatīts call_id, ielādējiet transkripciju, izmantojot
GET /v1/calls/{call_id}/transcript.
Paketes: paralēli scenāriji
Vienlaikus izpildiet N scenārijus — noderīgi regresijas testu komplektiem, kas paralēli aptver katru zināmo robežgadījumu:
curl -X POST https://api.thunderphone.com/v1/simulations/batches \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"target_type": "agent",
"target_id": 12,
"direction": "outbound",
"run_count": 5,
"stagger_seconds": 2,
"scenario_prompts": [
"Ask about refund policy.",
"Ask for hours of operation.",
"Complain about a delayed shipment.",
"Ask to speak with a human.",
"Ask an unrelated trivia question."
],
"consent_to_charge": true
}'Atbildē ir pakārtoto izpildes ID saraksts run_ids. Iegūstiet paketes
statusu:
curl https://api.thunderphone.com/v1/simulations/batches/{batch_id} \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"run_count ir ierobežots līdz 20; stagger_seconds sadala palaišanu
laikā, lai nepārslogotu aģentu (0–60 s).
Integrējiet to CI
Izveidojiet laidiena vārtu komplektu lapā Simulācijas
(/dashboard/simulations) — izvēlieties aģentu, pievienojiet scenārijus manuāli vai
noklikšķiniet uz Ģenerēt scenārijus ar MI, lai izveidotu to melnrakstus no aģenta
uzvednes (ar neobligātu robežgadījumu pārbaudi), un grupējiet tos komplektā.
Komplekts fiksē savus scenārijus un aģentu, kā arī minimālo nokārtošanas īpatsvaru un
neobligātu nulles kritisko kļūmju noteikumu. Nokārtotās palaišanas kļūst par
apstiprināto bāzlīniju; vēlākas pārejas no nokārtota uz nenokārtotu tiek atgrieztas kā regresijas.
CI izmantojiet organizācijas API atslēgu.
Šis skripts aktivizē komplektu, aptaujā, līdz novērtēšana un salīdzināšana ir
pabeigta, un beidz darbu ar nenulles kodu, ja spriedums nav pass:
#!/usr/bin/env bash
set -euo pipefail
: "${THUNDERPHONE_API_KEY:?Set THUNDERPHONE_API_KEY}"
: "${THUNDERPHONE_ORG_ID:?Set THUNDERPHONE_ORG_ID}"
: "${THUNDERPHONE_SUITE_ID:?Set THUNDERPHONE_SUITE_ID}"
base="https://api.thunderphone.com/v1/orgs/${THUNDERPHONE_ORG_ID}/suites/${THUNDERPHONE_SUITE_ID}"
auth="Authorization: Bearer ${THUNDERPHONE_API_KEY}"
run_id="$(curl --fail --silent --show-error -X POST "${base}/run" \
-H "$auth" -H "Content-Type: application/json" -d '{}' | jq -r '.id')"
deadline=$((SECONDS + 1800))
while (( SECONDS < deadline )); do
result="$(curl --fail --silent --show-error \
"${base}/runs/${run_id}" -H "$auth")"
status="$(jq -r '.status' <<<"$result")"
if [[ "$status" == "completed" ]]; then
jq . <<<"$result"
[[ "$(jq -r '.verdict' <<<"$result")" == "pass" ]]
exit
fi
sleep 10
done
echo "ThunderPhone suite timed out" >&2
exit 1POST /v1/orgs/{org_id}/suites/{suite_id}/run atgriež 202 ar
palaišanas ID. GET /v1/orgs/{org_id}/suites/{suite_id}/runs/{run_id} atgriež
status, verdict, pass_rate, critical_failure_count un
bāzlīnijas regressions sarakstu. Abi galapunkti saista URL norādīto organizāciju
ar API atslēgas organizāciju.
Modeļi
Regresiju korpuss katrai uzvednei
Uzturiet JSON failu ar {name, scenario_prompt, expected_outcome}
virknēm. Pēc katras uzvednes izmaiņas palaidiet pilno kopu kā paketi; salīdziniet
transkriptus un vērtējumus ar iepriekšējo palaišanu.
Dūmu tests katram laidienam
Viena pakete ar pieciem normālas darbības scenārijiem, ko palaižat pēc katras
izvietošanas. Tā ir jutīga pret aizkavi, tāpēc saglabājiet stagger_seconds: 0.
Aizkaves etalonmērījumi
Palaidiet identiskus scenārijus dažādos produktu līmeņos (spark,
bolt, storm-base). Salīdziniet call.graded vērtējumus un
duration_seconds no katra iegūtā zvanu žurnāla.
Nākamās darbības
Katrs vaicājuma parametrs, statusa kods un paketes struktūra.
Automātiski novērtējiet katru testa palaišanu, lai laika gaitā sekotu kvalitātei.
Atzīmējiet konkrētus testus cilvēka pārbaudei.
Straumējiet rezultātus uz savu CI / Slack / PagerDuty.