사용 방법
- 설치 명령을 복사하고 자신의 에이전트 환경에 설치하기 전에 소스 패키지를 확인하세요.
- 필요한 도구, 인증 정보, 지원 환경은 원본 문서에서 확인하세요.
- 입력과 원하는 산출물을 설명하고 출처와 결과를 대조하세요.
npx skills add https://github.com/polyai/adk --skill poly-adk-conversations시작 전 확인
- 설치에는 모델 구독, API 한도, 파일 접근 권한이 포함되지 않습니다.
- 별점 수와 설치 수는 활동 지표이며 독립적인 품질·보안 검증이 아닙니다.
원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.
Reviewing Real Conversations
Load poly-adk-workflow first for the build loop this feeds back into. Once an agent handles real calls, the question becomes "what happened on that call?" — and answering it depends on instrumentation added while building. Logs and metrics are not available retroactively.
Inspecting conversations
poly conversations list # recent conversations: ID, start, duration, caller, channel, variant, handoff, summary
poly conversations list --limit 20 --offset 10
poly conversations get <conversation_id> # full metadata + turn-by-turn transcript
poly conversations get-audio <conversation_id> -o recording.wavgetincludes channel, language, duration, handoff, tags, PolyScore, summary, and every turn — use--jsonwhen analyzing programmatically.get-audiodownloads the WAV for a voice call;--direction user|agent|combinedpicks the track,--redactedfetches the redacted version.- The CLI reads individual conversations. Aggregate views — containment, CSAT, handle time, flagged transcripts — live in Agent Studio, not the CLI.
Treat what you find as input to development: a surprising real conversation is the raw material for the next test_suite/ case (see poly-adk-testing). What callers actually say is reliably different from what you imagined.
Instrumenting functions
See poly docs functions for the full conv.log and metrics APIs.
Logging — record meaningful outcomes, not every step:
conv.log.info("Booking confirmed", reference=booking_ref)
conv.log.warning("Availability API slow, using cached slots")
conv.log.error("Payment provider returned 500")Log around the things that can fail — API calls, validation, any branch you'd want to explain later. Never swallow an external failure silently: a bare except with no log turns a broken integration into a mysteriously unhelpful agent with nothing in the transcript to explain it.
Metrics — count outcomes you'll aggregate across calls (flow completions, handoffs fired, API fallbacks). The common mistake is inflation: a metric emitted in a loop or on every turn counts nothing useful. Use write_once=True for once-per-conversation events, and emit on the outcome you actually want to count.
The test for both: would this line help answer a question you can imagine being asked — "how often do callers abandon at payment?", "did that transfer actually fire?" If not, it's noise.
When debugging a specific call
poly conversations get <id>— read the transcript and logs turn by turn.- If the wording is right but the audio is wrong, it's a channel-settings problem, not a prompt problem: mishearing →
voice/speech_recognition/(keyphrase boosting, transcript corrections); mispronunciation →voice/response_control/(pronunciations). Seepoly docs speech_recognition response_control. - Reproduce with
poly chat(simulate SIP headers, variant, language — seepoly-adk-testing), then encode the fix's verification as a test case.



