u/RepresentativeKey122

▲ 9 r/rpa

An RPA agent where the person who knows the task writes the automation in plain language, and the bot asks before it guesses

Anyone who has maintained RPA bots knows the two classic pains: a selector breaks as soon as the site changes, and every automation needs a developer to build and maintain it, far from the person who actually knows the task.

I've been building ANCHOR, a research project at my university in Brazil, to try a different split. The person who knows the task describes it in plain language ("Register Maria Silva, IT department, contractor, and save"), and the system runs it in the browser. It runs locally, with small open models through Ollama (Qwen 3.5, 4B and 9B) on a 4 GB GPU, so no data leaves the machine.

Who controls what

  • The LLM only plans. It turns the request into steps, using the names of the elements on the page. It never clicks anything.
  • A deterministic heuristic finds each element, and refuses when it isn't sure.
  • Then the user decides: the candidates are numbered on the page, the user picks one, and the choice is remembered for the next runs.

What matters for day-to-day RPA (version 0.3)

  • Saved automations: the task is learned once with the model, then replayed without it, in about 3 s per run, with parameters and one run per row of a spreadsheet.
  • When the site changes, a saved automation recovers (by asking the user, or by replanning with the model when no one is there), keeps the fix, and records it: what failed, what replaced it, and how. Every recovery can be reviewed and undone.
  • Sensitive actions ask first: deleting, saving, sending, paying, downloading, uploading, cancelling something irreversible. The decision is saved per automation.
  • Each action's effect is checked (the page changed, the field kept the value, no error appeared), and the end of a run is checked against what was actually done, so a run that didn't do the task doesn't end as a success.
  • Page content can't give orders: instructions hidden in pages are treated as data.

A benchmark against a classic script

30 tasks on pages altered in 5 levels (renamed IDs and classes, synonyms like "Save" becoming "Submit", restructured layouts, cookie banners and hidden sections, lookalike decoys and injected instructions), 150 runs per executor and model, with no user:

Executor Tasks done False successes
Fixed-selector script 53% 0
LLM in control (4B / 9B) 68% / 72% 33 / 41
ANCHOR (4B / 9B) 82% / 84% 2 / 1

The script was perfect where labels changed (it doesn't read them) and failed where IDs and structure changed; the LLM in control often claimed success without doing the task. ANCHOR's weak spot is content hidden behind a "Show more" button. These are development numbers; a closed test set is waiting for the 1.0 run.

What's next: uploads, downloads, new tabs and data extraction (0.4), then a local interface with a "Run" button per saved automation (0.5).

I'd really value feedback from people who build and maintain bots: would you trust a bot that recovers on its own if every fix is recorded and undoable? What would you need to see before using something like this on a real process? And if you try it, failure cases on real sites are the most useful thing you can send me.

Repo (source-available, PolyForm Strict): https://github.com/LucasDantas2701/ANCHOR


Disclosure: this is my own project. I designed the system and the evaluation, and wrote the code with help from an AI assistant (Claude). English isn't my first language, so I also used it to help write this post.

u/RepresentativeKey122 — 5 days ago
▲ 12 r/ollama

Web automation with Ollama on a 4 GB GPU: Qwen 3.5 4B plans, a heuristic clicks, and saved tasks replay with no model at all

I've been building ANCHOR, a web automation agent that runs entirely on Ollama. You describe a task in plain language ("Register Maria Silva, IT department, contractor, and save"), point it at a site, and it runs the task in the browser with Playwright. Everything runs on a GTX 1050 Ti with 4 GB: no cloud, no API keys.

How it uses the models

  • The LLM only plans. Qwen 3.5 (4B or 9B) turns the request into goals and steps, using the names of the elements on the page. A deterministic heuristic finds each element and refuses when it isn't sure; then the user picks, and the choice is remembered. The model never clicks anything directly.
  • Small context, by design. The model gets a short summary of the page (numbered elements), not the HTML: a plan uses about 3,000 tokens and 2 model calls on average.
  • Vision, from the same model. Qwen 3.5 has the vision capability in Ollama, so ANCHOR uses it as a last check when the other checks doubt that a step worked: at 640 px, a question about a screenshot takes about 5.5 s on the 4B and 9.5 s on the 9B, and got all 6 probe questions right.
  • Model profiles are a small JSON file (ollama-small for the 4B, ollama-medium for the 9B), with temperature 0.

Times on the 1050 Ti

  • a full task with planning: about 30 s with the 4B, 50 s with the 9B;
  • a saved automation, replayed without the model: about 3 s, including one run per row of a spreadsheet.

What's in so far (0.1 to 0.3): the engine with user disambiguation and choice memory, the planner and agent loop with replanning, saved automations with parameters and spreadsheets, recovery when the site changes (with a reviewable, undoable record), checks of each action's effect, confirmation before sensitive actions, and defenses against prompt injection from page content.

A benchmark: on 30 tasks with pages altered in 5 levels (renamed IDs, synonyms, restructured layouts, cookie banners, lookalike decoys and injected instructions), ANCHOR completed 82% (4B) and 84% (9B) of the runs, vs 53% for a fixed-selector script and 68–72% for an agent where the LLM controls everything. It claimed success without doing the task 2 and 1 times in 150 runs, vs 33 and 41 for the LLM-in-control agent. These are development numbers; a closed test set is waiting for the 1.0 run.

What's next: uploads, downloads, new tabs and data extraction (0.4), then a local web interface with a "Run" button per saved automation (0.5).

I'd love people to try it with their own models and hardware, and tell me what breaks. I'm especially curious how other small models do as planners, and how it runs on CPU only (I haven't measured that).

Repo (source-available, PolyForm Strict): https://github.com/LucasDantas2701/ANCHOR


Disclosure: this is my own project (a research project at my university in Brazil). I designed the system and the evaluation, and wrote the code with heavy help from an AI assistant (Claude). English isn't my first language, so I also used it to help write this post.

u/RepresentativeKey122 — 5 days ago