The problem
Some requests have a path known in advance. “Move my Thursday appointment to Friday and let the attendees know”: you know what to do, and in what order. Others don't. “Find me something to do on Saturday, if it's not raining” depends on the weather, then on what's happening near you, then maybe on a route. Each step depends on what the previous one finds.
A plan fixed in advance suits the first request very well, and the second much less. A loop that thinks at every step suits the second, but costs a lot on the first.
What I wanted
I didn't want to choose for you. So LIA keeps two modes, with the same guarantees, and you switch between them with the mode button, at the top of the screen. Your choice is remembered for the next messages.
Pipeline: plan, check, execute
It's the default mode. LIA first writes a complete plan, checks it before making a single call, then runs in parallel everything that can be run in parallel. The model doesn't have to reread the whole conversation at every step, which makes this mode much cheaper in tokens, the units of text that model providers bill. Its limit: the plan is written before seeing the results. If a step fails, Pipeline tells you, without looking for another path on its own.
ReAct: moving forward by reading each result
In ReAct mode (for “reason and act”), the model calls a tool, reads what comes back, then decides what to do next. For your Saturday outing: the weather first; if it's nice, the local events; for the one you like, the route. I surrounded this loop with several safeguards.
- A budget that is earned. The loop starts with a number of attempts, extended as long as it gets results. A failure or an empty result buys it nothing. And the time you spend approving an action doesn't count against its time limit.
- Judged on its result. LIA checks that each tool response really answers your question: the right day, the right place, a complete list. Today's weather when you asked for tomorrow's is an obstacle, just like an error. She then corrects her call, then tries another source that she labels as such. Whatever she still can't get, she lists at the end, with what she tried.
- No going in circles. A tool called again several times with exactly the same parameters ends up refused: an agent that repeats itself is no longer making progress.
- An honest ending. If the budget runs out, LIA answers with what she got, without announcing what she was about to do.
- Exact calculations. Both modes have an exact calculator and a date tool. ReAct can also write a short Python script and run it in an isolated container, thrown away after use, to cross-check two lists or count across many lines. If your installation allows it, it can query an online service through a relay that only opens declared addresses. Your access keys don't enter the container, and for an address nobody has authorized, LIA asks you first.
What doesn't change
Both modes read the same memory, the same profile and the same knowledge spaces. They follow the same confirmation rules and give you the same report of what succeeded or failed. A routine or a ticket has its own mode, which you choose for each one.
Your exchange rhythm
In ReAct, you can also tell LIA how you use her, in Settings › Preferences › Personalization › Usage preferences. With frequent exchanges, she keeps all your tools at hand and prepares each turn so the provider rereads the previous one from its cache, at a reduced rate: the first message costs a little more, the following ones much less, as long as your messages follow one another and the chosen model has a cache; otherwise, occasional exchanges stay cheaper. With occasional exchanges, she picks the tools useful for each question, for a cost that doesn't depend on the time between two messages. A new account starts on occasional exchanges.
How to choose
For a precise request whose steps you know, Pipeline is faster and cheaper. For an open search, a question that branches depending on what turns up, or a tool used in several stages, ReAct does better. My advice: stay on Pipeline day to day, and switch to ReAct when you feel the answer calls for exploring.
Read more: A plan before acting: how LIA prepares and checks your multi-step requests; MCP servers you use in several steps: iterative mode.
