Jaribu ejenti kutoka mwanzo hadi mwisho (API)
Kuboresha ejenti ya AI kunamaanisha kuboresha prompt yake, zana zake, na jinsi inavyoshughulikia hali za kipekee. simulations API huendesha simu halisi dhidi ya ejenti kwa kutumia prompt ya tukio unayotoa. Kulenga ejenti huunda utekelezaji wa boti-kwa-boti; kulenga nambari ya simu huunda utekelezaji wa SIP loopback. Kila utekelezaji huzalisha kumbukumbu halisi ya simu yenye nakala ya mazungumzo, tathmini na utozaji, hivyo unaona hasa jinsi ejenti inavyojiendesha na gharama yake.
Itumie kwa:
- Vipimo vya haraka kabla ya kupeleka baada ya kila uhariri wa prompt
- Seti za vipimo vya urejeleaji zilizounganishwa kwenye CI (unganisha webhook ya
test-call.completed→ feli build ikiwa alama inashuka) - Kupima kwa shinikizo vikomo vya utekelezaji sambamba
Mara moja: utekelezaji mmoja
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
}'
Sehemu:
| Sehemu | Aina | Inahitajika | Maelezo |
|---|---|---|---|
target_type | string | ndiyo | agent au phone_number |
target_id | integer | ndiyo | Kitambulisho cha ejenti (au kitambulisho cha nambari ya simu) |
direction | string | hapana | outbound (chaguo-msingi; mpigaji wa majaribio hupiga) au inbound (mpigaji wa majaribio hujibu) |
scenario_prompt | string | hapana | Huongoza kile boti ya majaribio inasema |
language / primary_language | string | hapana | Lugha ya mpigaji wa majaribio; misimbo isiyotumika inakataliwa |
simulator_product | string | hapana | testing (chaguo-msingi) au spark kwa mpigaji aliyeigwa mwenye sifa zaidi za kibinadamu, kama vipimo vya ushauri wa uhamisho wa moja kwa moja |
consent_to_charge | boolean | ndiyo | Lazima iwe true. Makadirio hutoza gharama za ejenti iliyochaguliwa na mpigaji aliyeigwa, pamoja na njia yoyote ya simu |
target_number | string | hapana | Ubadilishaji wa E.164 kwa upande wa mbali; vinginevyo nambari ya majaribio ya jukwaa hutumika |
mode ni ya kusoma tu na hutokana na target_type: agent huzalisha
mode="bot", huku phone_number huzalisha mode="sip".
Jibu ni kitu cha utekelezaji wa uigaji
chenye status="queued". Chunguza hadi status iwe completed au
failed; call_id ikishawekwa, pakia nakala ya mazungumzo kupitia
GET /v1/calls/{call_id}/transcript.
Batches: matukio sambamba
Endesha matukio N kwa wakati mmoja — muhimu kwa seti za vipimo vya urejeleaji zinazoshughulikia kila hali ya kipekee inayojulikana kwa sambamba:
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
}'
Jibu lina orodha ya run_ids ya vitambulisho vya utekelezaji wa watoto. Pata
hali ya batch:
curl https://api.thunderphone.com/v1/simulations/batches/{batch_id} \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"
run_count ina kikomo cha 20; stagger_seconds hutenganisha uzinduzi
ili kuepuka kuielemea ejenti (0–60 s).
Iunganishe kwenye CI
Unda kikundi cha kizuizi cha toleo kwenye ukurasa wa Simulations
(/dashboard/simulations) — chagua ejenti, ongeza senario mwenyewe au
bofya Tengeneza senario kwa AI ili kuzitayarisha kutoka kwenye
prompt ya ejenti (ukiwa na chaguo la kupitisha matukio ya kipekee), kisha
zipange katika kikundi. Kikundi hufunga senario zake na ejenti, pamoja na
kiwango cha chini cha ufaulu na kanuni ya hiari ya kutokuwa na hitilafu
zozote muhimu. Utekelezaji unaofaulu huwa msingi unaokubaliwa; mabadiliko
ya baadaye kutoka kufaulu→kushindwa hurejeshwa kama hitilafu za kurudi nyuma.
Tumia ufunguo wa API wa shirika katika CI.
Script hii huanzisha kikundi, huchunguza hadi uwekaji alama na ulinganishaji
ukamilike, na hutoka kwa thamani isiyo sifuri isipokuwa uamuzi uwe 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 1
POST /v1/orgs/{org_id}/suites/{suite_id}/run hurejesha 202 pamoja na
kitambulisho cha utekelezaji. GET /v1/orgs/{org_id}/suites/{suite_id}/runs/{run_id} hurejesha
status, verdict, pass_rate, critical_failure_count, na orodha ya
msingi ya regressions. Endpoints zote mbili hufunga shirika lililo kwenye URL
kwa shirika la ufunguo wa API.
Miundo
Korpus ya hitilafu za kurudi nyuma kwa kila prompt
Dumisha faili ya JSON ya tuples za {name, scenario_prompt, expected_outcome}.
Kwa kila mabadiliko ya prompt, endesha seti kamili kama batch; linganisha
transkripti na alama dhidi ya utekelezaji uliotangulia.
Jaribio la moshi kwa kila toleo
Batch moja ya senario tano za njia tarajiwa unazoendesha baada ya kila
usambazaji. Ni nyeti kwa muda wa kusubiri, kwa hiyo weka stagger_seconds: 0.
Upimaji wa muda wa kusubiri
Endesha senario zinazofanana dhidi ya viwango tofauti vya bidhaa (spark,
bolt, storm-base). Linganisha alama za call.graded na
duration_seconds kutoka kwenye kila logi ya simu inayotokana.
Hatua zinazofuata
Kila kigezo cha swali, msimbo wa hali, na muundo wa batch.
Weka alama kiotomatiki kwa kila utekelezaji wa jaribio ili kufuatilia ubora kadiri muda unavyopita.
Weka alama kwenye majaribio mahususi kwa ukaguzi wa binadamu.
Tiririsha matokeo kwenye CI / Slack / PagerDuty yako.