Telnyx Stateful Actors를 사용하여 엣지(Edge)에서 AI 프롬프트 A/B 테스트하기
요약
Telnyx Edge Compute와 Stateful Actors를 활용하여 엣지 환경에서 AI 프롬프트 A/B 테스트를 수행하는 API 구축 방법을 소개합니다. 사용자는 두 가지 프롬프트 변체를 실행하고 결과를 비교하며 투표를 통해 통계를 집계할 수 있습니다.
핵심 포인트
- Telnyx Edge Compute 기반의 프롬프트 A/B 테스트 API 구현
- Stateful Actors를 이용한 실험 데이터 및 투표 결과 저장
- 두 모델 응답 비교 및 통계 확인 기능 제공
- 엣지 환경에서의 효율적인 프롬프트 평가 루프 구축
프롬프트를 변경하는 것은 쉽습니다. 하지만 새로운 프롬프트가 실제로 더 나은지 아는 것은 어려운 부분입니다.
이 예제는 Telnyx Edge Compute 상에서 작은 프롬프트 A/B 테스트 API를 구축합니다. 사용자는 하나의 작업(task)과 두 가지 프롬프트 변체(variant)를 보냅니다. 앱은 Telnyx AI Inference를 통해 두 변체를 모두 실행하고, 실험 내용을 Stateful Actor에 저장하며, 사용자가 어떤 결과가 더 선호되는지 투표할 수 있게 합니다.
코드: https://github.com/team-telnyx/telnyx-code-examples/tree/main/edge-prompt-ab-tester
기능
이 앱은 다음과 같은 작은 평가 루프(evaluation loop)를 제공합니다:
- 실험 생성 (create an experiment)
- 두 모델 응답 비교 (compare two model responses)
- 변체 A 또는 B에 투표 (vote for variant A or B)
- 실험 종료 (close the experiment)
- 집계 통계 확인 (check aggregate stats)
라우트(Routes):
POST /experimentsPOST /experiments/<id>/votePOST /experiments/<id>/closeGET /experimentsGET /experiments/<id>GET /statsGET /health/livenessGET /health/readiness
프롬프트 실험 생성하기
curl -X POST https://edge-prompt-ab-tester-<id>.telnyxcompute.com/experiments \
-H "Content-Type: application/json" \
-d '{
...
응답(Response):
{
"id": "exp-msf712rs-0",
"task": "Write a one-sentence tagline for an edge compute platform.",
...
결과에 투표하기
curl -X POST https://edge-prompt-ab-tester-<id>.telnyxcompute.com/experiments/exp-msf712rs-0/vote \
-H "Content-Type: application/json" \
-d '{"variant":"a"}'
실험 종료:
curl -X POST https://edge-prompt-ab-tester-<id>.telnyxcompute.com/experiments/exp-msf712rs-0/close
통계 확인:
curl https://edge-prompt-ab-tester-<id>.telnyxcompute.com/stats
예시:
{
"total_experiments": 3,
"open_experiments": 2,
...
AI 호출
앱은 다음을 사용합니다:
POST /v2/ai/chat/completions
기본 모델:
zai-org/GLM-5.2
각 프롬프트 변형(variant)은 시스템 메시지(system message)가 됩니다. 작업(task)은 사용자 메시지(user message)가 됩니다. 두 변형 모두 동일한 입력에 대해 실행되므로, 비교를 통한 추론이 더욱 용이해집니다.
왜 Stateful Actors인가?
프롬프트 테스트에는 약간의 메모리가 필요합니다.
이 예제에서는 다음 항목들을 저장하기 위해 ABTester Stateful Actor를 사용합니다:
- 실험 (experiments)
- 프롬프트 변형 (prompt variants)
- 모델 응답 (model responses)
- 투표 수 (vote counts)
- 열림 또는 닫힘 상태 (open or closed status)
- 집계 통계 (aggregate stats)
즉, 이 데모만을 위해 별도의 데이터베이스를 추가하지 않고도 API가 실험 상태를 기억할 수 있음을 의미합니다.
실행하기
git clone https://github.com/team-telnyx/telnyx-code-examples.git
cd telnyx-code-examples/edge-prompt-ab-tester
API 키를 Edge Compute secret으로 저장하세요:
telnyx-edge auth api-key set <YOUR_API_KEY>
telnyx-edge secrets add TELNYX_API_KEY "KEY0123..."
설치 및 배포:
npm install
telnyx-edge ship
그 다음, 배포된 URL을 사용하여 실험을 생성하고 투표를 수집합니다.
프로덕션 참고 사항
이 패턴을 실제 제품 결정에 사용하기 전에, 저는 다음과 같은 사항들을 추가하겠습니다:
- 인증 (authentication)
- 평가자 신원 (evaluator identity)
- 중복 투표 방지 (duplicate vote prevention)
- 무작위 또는 블라인드 처리된 변형 (randomized or blinded variants)
- 고정된 평가 세트 (fixed evaluation sets)
- 채점 기준 (scoring rubrics)
- 프롬프트 버전 이력 (prompt version history)
- 민감한 작업을 위한 개인정보 보호 제어 (privacy controls for sensitive tasks)
하지만 이 작은 형태만으로도 충분히 유용합니다. 프롬프트 변경 사항은 단순히 느낌(vibes)만으로 판단해서는 안 됩니다. 프롬프트 변경은 예시, 투표, 그리고 결과의 흔적을 남겨야 합니다.
리소스:
리소스:
- Code: [https://github.com/team-telnyx/telnyx-code-examples/tree/main/edge-prompt-ab-tester]
- Telnyx Edge Compute 문서: [https://developers.telnyx.com/docs/edge-compute]
- Telnyx AI 추론(Inference) 문서: [https://developers.telnyx.com/docs/inference]
- Telnyx AI 스킬 및 툴킷: [https://github.com/team-telnyx/ai]
- Telnyx 포털: [https://portal.telnyx.com/]
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기