World's Fair 2025
Building Reliable Support Agents Using the Effect Typescript Library - Michael Fester
Overview
This talk introduces the Effect TypeScript library as a robust solution for building reliable AI-powered customer support platforms. The core thesis is that while TypeScript provides a good foundation, Effect offers essential tools for managing the complexities of unreliable APIs, non-deterministic LLM outputs, and long-running workflows, thereby enhancing system stability, testability, and maintainability at scale.
Who should watch
- AI Engineers building production systems with LLMs.
- Developers working with complex, asynchronous, or unreliable external services.
- Engineers seeking to improve the testability and maintainability of their TypeScript codebases.
- Product Managers overseeing AI-native platforms that require high reliability.
- Builders looking for practical ways to adopt functional programming concepts in TypeScript.
Key takeaways
- The Effect library provides strong type guarantees, powerful composition primitives, built-in concurrency, streaming, interruption, and retry mechanisms.
- It offers structured error modeling and a clean dependency injection system, significantly easing testing and modernization efforts.
- Effect enables easy observability through OpenTelemetry integration.
- The library supports gradual adoption within existing codebases, feeling like a natural extension of TypeScript.
- Agent workflows can be modeled using a custom DSL built on Effect, allowing for clear expression of branching, sequencing, retries, state transitions, and memory.
- Reliability is enhanced through features like retry policies for LLM provider failures and duplication of token streams for user display and internal storage.
- Dependency injection is heavily utilized for mocking LLM providers and simulating failure scenarios, facilitating robust testing.
- Effect's schema-centric approach ensures strong type safety, automatic documentation, and consistent input/output handling across the stack.
Notable quotes
*Effect gives us the tools to handle such situations confidently as our platform evolves.*
*Effect allows us to do that very easily.*
*Effect helps us build systems that are predictable and resilient, but it's not magic. You still have to think.*
Unofficial community note. Prefer the recording for nuance.