Home Blog Keeping Pricing and Inventory Agents From Working Against Each Other

Keeping Pricing and Inventory Agents From Working Against Each Other

I give talks and workshops on this material for retail teams and conferences. See past talks or invite me to speak.

Chapter 2 of Foundations of Agentic AI for Retail, Third Edition: Two agents, one low-stock SKU

Series: Foundations of Agentic AI for Retail, Chapter 2 of 14. Updated for the Third Edition (October 2026).
From the book: Foundations of Agentic AI for Retail, Third Edition

Chapter 1 ended on a question its little reorder agent could not answer: what happens when another agent acts on the same product?

Chapter 2 opens on that product one morning. At 9:00 a.m., a pricing agent sees a competitor drop its price. At 9:02, an inventory agent notices that the same SKU is already low.

Let each one act alone and the retailer can lose stock and margin in the same hour. Neither agent has to be faulty for that to happen. Each is simply acting on half the picture.

Whether two agents like these help the retailer or work against it depends on the architecture around them.

Why the price change waits for the stock reading

In this chapter I develop the Retail Agent Operating Model, RAOM, into the production contract every agent answers to, whatever its pattern.

At 9:00, the pricing agent wants to answer the competitor's cut, but it does not decide alone whether the new price goes out. A policy can hold the change while the stock reading is missing, and that policy lives in the control plane, outside both agents, so both answer to it.

Here is the shape of that morning.

flowchart LR C["Competitor cut at 9:00"] --> PA["Pricing agent (OODA)"] L["Low stock at 9:02"] --> IA["Inventory agent (BDI)"] PA -->|proposed price| CP[Control plane] IA -->|stock reading and reorder| CP CP --> R["Released within policy"] CP --> H[Human Approver]

The decision function says what the agent wants, and the policy in the control plane says what it may do.

— Foundations of Agentic AI for Retail, Chapter 2

Which loop suits pricing, and which suits inventory

Before choosing an architecture, I ask whether you need an agent at all. When the path is known, a workflow wins. An agent earns its keep when the path has to be discovered.

If you do, the outer loop should match the decision. At 9:02, the inventory agent's goals pull apart: keeping the shelf stocked argues for a reorder, and storage cost argues against overbuying. Belief-Desire-Intention, or BDI, is built for that kind of deliberation.

The pricing agent faces one signal-driven decision repeated many times a day, which is what the Observe-Orient-Decide-Act loop, OODA, is organized around.

Side by side, the two loops suit different decisions.

BDI OODA
Best for Planning ahead across conflicting goals Repeating one signal-driven decision
Retail examples Inventory strategy, assortment planning Real-time pricing, competitor responses
In the 9:00 a.m. scene The inventory agent weighing shelf against storage cost The pricing agent answering the cut

Production systems often blend the two, with a strategic BDI agent and OODA sub-agents for real-time pricing.

The worked runs are honest about their limits. The BDI agent orders 28 units of coffee that cannot arrive before the shelf empties, and the OODA rule raises a scarce item's price by 28 cents into a competitor's cut. The architecture makes each choice visible, and judging it is the work of the chapters that follow.

Where a language model belongs in the loop

Neither agent so far uses a language model, so neither can read a supplier email saying the SKU is delayed until Friday.

In the section on language models inside the loop, I keep the architecture in charge: BDI or OODA supplies the goals, the outer loop and the safety constraints, and the model reasons and uses tools inside them. A BDI agent can turn that email into a belief about the delay. The chapter names the reasoning patterns that do this work, starting with ReAct.

When a decision is high-stakes or ambiguous, the loop pauses for a person. In the book's capstone, that person is the Human Approver, one of six reference roles this chapter introduces.

What the chapter gives you

  • RAOM as a production contract, with a control plane checklist and the failure modes to design against
  • A BDI inventory agent and an OODA pricing agent, with companion code, quick-run demos and three worked results you can redo by hand
  • The six capstone agent roles, from the Inventory Risk Analyst to the Human Approver
  • A way to choose and evaluate an architecture before rollout, plus nine exercises

Go deeper

Chapter 2 of the Third Edition, out since October 2026, has the full operating model, both agents with their companion code, and the worked runs behind the results above. It also goes further into a section this post only hinted at, "Agent Skills and Capability Registry," on keeping what an agent can decide apart from what it is allowed to do. New in the Third Edition: a running case carries this morning's low-stock product through all of Part I.

See the book →