Agent systems
Let the model speak. Keep control explicit.
I built a voice-workflow prototype that connects grounded research, verified pitches and a deterministic conversation controller.
My role
I designed and built the pipeline, data contracts, audio loop and state-machine boundaries.
Where it stands
Prototype. The documented version has not placed real phone calls. Discovery and voice components run locally; some writing and verification use cloud models.
What changed.
A working local simulation with business discovery, a writer/verifier loop, speech recognition and speech synthesis.
Separate language from control
The language model supplies wording inside a defined state. Typed classifiers and a deterministic state machine decide which transition is allowed. The audio loop supports interrupted playback rather than assuming the other person waits.
Carry evidence between stages
Discovery produces a structured facts artifact. A writer and an independent verifier use that grounding before the voice stage receives the resulting pitch. The contracts make the provenance of a statement inspectable.
The boundary of the prototype
The microphone and speaker stand in for a call. Self-authored policy checks and an opt-out store are engineering controls, not legal certification, and a latency target is not a measured result.
The stack
- Python
- asyncio
- Pydantic
- SQLite
- faster-whisper
- Ollama
- Piper TTS