How to create User Experience for LLMs
This is a follow up from our previous article: Make the Internet HyperText again
1. Introduction
State is the pillar of any interactive system, yet in traditional software it sits hidden in memory, outside the reach of the user and — critically — outside the reasoning scope of a large‑language‑model (LLM).
2. Why Treat Tools as State?
The Tool-as-State (TaS) pattern flips that convention: every piece of state is exposed to the LLM as a first‑class tool with an executable interface and a descriptive manifest. Instead of secretly mutating variables, an agent installs, calls, replaces, or removes “tools.”
TaS is a natural evolution of the Model-Context-Protocol lineage and extends it to match the way LLMs think. The result is an experience where capability growing in lock‑step with the system’s state graph.
3. E-commerce example
- Home page — Active tools: search_products, select_featured_product
- Product page — New tools added: add_to_cart, view_reviews, checkout_product
- Checkout page — Tool set mutates: list_cart, apply_coupon, submit_payment
- Exit / Sign-out — Tools removed: submit_payment
4. Progressive Capability Growth
An LLM starts with minimal tool set; as the state changes the tools change. The Tool Interface reflects this growth visibly reinforcing the mental model that State == Tool list.