Building agents that plan and act — tool calling, memory, control loops, and the reliability work that makes them usable.