AI manager for marketplace sellers, part 1: regex before agents
AI-менеджер для WB, Ozon и Маркета: почему мы начали с регулярок, а не с агента
C · Weak signal First of a four-part Habr series by the small vendor Haimi; it describes a rules-first prototype design with code excerpts but reports no test results, costs or user outcomes.
Summary based on the full text·Original: about 4 minutes to read
In short
Part 1 (27 October 2026) of a series by Haimi, a firm that builds "AI staff" for small businesses, on a chat assistant for sellers on Wildberries, Ozon and Yandex Market. Version 1 parses the seller's message with regular expressions into one operation from a closed list (orders, stock, prices, promotions, replies to buyers and so on). A language model, when connected, only re-classifies the phrase within that list and drafts texts. Anything that changes the seller account needs a button press by the owner. The post ends before any results: the authors say they do not yet know whether the answers are good.
Key numbers
- 3marketplaces covered through their official seller APIs: Wildberries, Ozon and Yandex Market
- 400max_tokens on the model call that classifies a seller's phrase into an allowed operation
As reported by the source.
Russian·Web page·opens habr.com
What it reports
- Day-one scope: orders and sales by period, warehouse stock and resupply timing, prices and promotions, product cards, advertising (read only), the sales funnel, buyer questions and reviews, an Excel report on one command, and a morning check that messages the owner if something is urgent.
- Intent parsing checks for "change" requests before "show" requests: showing an extra table is a cheap error, changing a price is an expensive one.
- Russian-language trap: the word for "marketplaces" must not match Yandex Market; the regex uses a negative lookahead for this.
- The model acts as a classifier. If it returns an operation outside the list, or nothing, the rules-based parse stands.
- Writes (price, promotion, reply to a buyer, card title) are never executed from text. The assistant prepares the change and shows it with a button.
- Reasons given for rules first: each answer traces to a rule, rules answer instantly, the whole assistant runs a smoke test against offline mock versions of the three marketplaces, and model calls stay short and cheap.
- Testing plan: a demo shop on all three platforms plus the first owners with live accounts, tracking unrecognised phrases, wrong answers, and prepared changes that owners do not confirm.
How they got it
A design write-up by the builders with shortened Python excerpts. No data from use had been collected at the time of writing.
Limits
- No results, costs, accuracy or usage figures; the authors state that they cannot yet say whether the answers are good.
- Vendor post about its own product.
- The authors name the weak point themselves: the assistant can do only what is on the operation list, while sellers write however they like.
Why it matters for companies
The useful pattern is the split of authority: code decides what is allowed, the model only picks within that set, and every money-moving write needs an explicit human click. It is a sensible starting point for any assistant that touches prices or budgets. Read it with parts 2 to 4, which show how this design fared with real sellers.
Key passages in translation
Russian original
Главное решение прототипа: что менеджер вообще может сделать, решает код.
The main decision in the prototype: what the manager can do at all is decided by code.
Russian original
Ошибиться в сторону «показал лишнюю таблицу» не страшно. Ошибиться в сторону «поменял цену» — очень.
Erring towards "showed an extra table" is harmless. Erring towards "changed a price" is very much not.
Russian original
Что бы ни менялось в устройстве менеджера, тратить деньги владельца без его явного согласия он не будет.
Whatever changes in how the manager is built, it will not spend the owner's money without explicit consent.
Summary based on the full text. Read the original for the full argument and data.Read the original on habr.com