Voice agent observability with tracing
Are you using tracing in your voice agent? I thought about this today, because The team at LangChain built voice AI support into their agent debugging and monitoring tool, LangSmith. LangSmith is built around the concept of "tracing." If you've used OpenTelemetery for application logging, you're already familiar with tracing. If you haven't, think about it like this: a trace is a record of an operation that an application performs. Today's production voice agents are complex, multi-model, multi-modal, multi-turn systems! Tracing gives you leverage to understand what your agents are doing. This saves time during development. And it's critical in production. You can dig into what happened during each turn of any session. What did the user say and how was that processed by each model you're using in your voice agent? What was the latency for each inference operation? What audio and text was actually sent back to the user? You can also run analytics using tracing as your observability data. And you can use traces to build evals. Tanushree is an engineer at LangChain. Her video below shows using a local (on-device) model for transcription, then switching to using the OpenAI speech-to-text model running in the cloud. You can see the difference in accuracy. (Using Pipecat, switching between different models is a single-line code change.) Also, the video is fun! It's a French tutor. Which is a voice agent I definitely need. How to debug voice agents with LangSmith (video): https://youtu.be/0FmbIgzKAkQ LangSmith Pipecat integration docs page: https://docs.langchain.com/langsmith/trace-with-pipecat I always like to read the code for nifty Pipecat services like the LangSmith tracing processor. It's here, though I think this nice work will likely make its way into Pipecat core soon: https://github.com/langchain-ai/voice-agents-tracing/blob/main/pipecat/langsmith_processor.py