MiniWeb-demo / src /miniwebagent /planner.py
sparklabuofu's picture
Update the demo
22de727 verified
Raw History Blame Contribute Delete
3.36 kB
"""The family descriptions the planner agent and the router use.
FAMILY_DEFS defines each visuomotor family for the planner agent (miniwebagent.planner_agent): its prompt lists them, and
its delegate action picks one. FAMILY_HINTS is the short form the oracle router's done-gating note quotes
(miniwebagent.evaluate.router_note). The screenshot planner and the subtask routers that also lived here were removed on
2026-10-06 (archived in MiniWeb-archive/cleanup-20261006/removed_legacy_routing.py).
"""
from __future__ import annotations
FAMILY_HINTS = {
"Drag & gesture": "dragging, sliders, drawing or signing on a canvas, reordering by drag, panning/zooming a map, scrubbing media",
"Discrete selection": "clicking choices: filters, dropdowns, sorting, date ranges, ratings, reactions, toggles (follow, save), deleting rows, playing media",
"Text entry": "typing free text: search, messages, comments, spreadsheet cells, calculators, translation, code, typed signatures",
"Form transaction": "filling and submitting a multi-field form: create, edit, book, pay, check out, sign in, share, cancel, configure, compare",
"Navigation": "moving to a page: following menus or links, routes/directions, joining a meeting, carrying information to another site",
"Out-of-page I/O": "moving data in or out of the page: upload, export/download, copy to clipboard, save a file, image editing, a code from another app",
"Reasoning base": "reading the page to report an answer: find, count, compare or compute values",
}
# The family definitions (user, 2026-09-30: "a prompted planner ... explain and define each family in the prompt").
# Written once, before any WebArena run with them, and not tuned on WebArena.
FAMILY_DEFS = {
"Navigation": "getting to the page where the work happens: opening a menu, tab, section or link, opening an item's "
"own page from a list, going back. The step is finished when that page is open.",
"Text entry": "typing into one text field and submitting it: a search box, a message or comment, a cell, a calculator. "
"Searching for an item by name, number or keyword is Text entry.",
"Discrete selection": "choosing among options already on the page: dropdowns, checkboxes, radio buttons, sort orders, "
"filter chips, date ranges, ratings, reactions, toggles (follow, save, like), deleting a row, "
"playing media.",
"Form transaction": "filling in several fields of one form and submitting it to create or change something: posting, "
"creating, editing, booking, paying, checking out, signing in, sharing, configuring.",
"Drag & gesture": "an action that needs the pointer dragged: a slider handle, drag-and-drop, reordering by drag, "
"drawing or signing, panning or zooming a map by drag. Only when the task needs a drag.",
"Out-of-page I/O": "moving data into or out of the page: exporting or downloading a file, uploading a file, copying to "
"the clipboard, saving or printing.",
"Reasoning base": "reading what is on the screen and answering: finding, counting, comparing or computing values and "
"reporting the result. It does not change anything on the site; it may scroll to read.",
}