Repository navigation
Jev and the LLM hand work back and forth - #43
Merged
Merged
Conversation
- LLM -> Jev: the planner gets a `delegate` tool that runs fast mode on a
concrete sub-goal (open this email, go through this list) and returns what
Jev did plus the page it ended on. The planner keeps the thinking; Jev does
the legwork at ~0.3s per step instead of several seconds.
- Jev -> LLM: when Jev is blocked, stuck, guessing (p < 0.1), making no
progress, or its call fails, fast mode asks the LLM for that one step and
keeps driving; it hands the task to the planner only when the LLM says so
or the consults run out.
- Multi-part requests ("when is X, and also when is Y") are detected by a new
Jev preflight gate (or the LLM router) and go planner-first, one delegated
part at a time.
- Context: Jev requests are kept within its 32k-token window (trimmed to the
most relevant elements when needed, capped task/context/history text); the
planner's older page views keep their text but drop stale element lists.
- Planner answers only from pages it saw (no gap-filling from general
knowledge) and uses known search URLs (Gmail #search/...) directly.
- Bench: books_two_parts and mail_two_parts scenarios; bridge reload retries
until the browser runs the new build; bridge shutdown no longer hangs on
keep-alive polls.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Until now the collaboration was one-way. Jev drove fast mode and handed the whole task to the LLM planner as soon as it hit trouble. From then on the planner did every click itself, at 2–4s per step. A real two-part request on the user's MUN mailbox ("when is my rendez-vous with Horizon TNL, and when is the Dean's List") took 81–108s.
What changed
LLM → Jev (
delegate)observe()is needed.Jev → LLM, one step at a time
Multi-part requests
multiple_parts, ormulti_partfrom the LLM router, sends requests like "find X and also Y" planner-first.Context windows
compactToolResponseoption onToolChat, so later steps don't re-read tens of thousands of tokens.Answer quality
#search/<query>,?q=).Dev loop
reloadretries until the browser reports the new build (Chrome sometimes ignores self-reloads).Results
User's real MUN mailbox (Edge, LastPass present), starting in the MUN account: 18.6s, correct, with 6 LLM and 7 Jev calls.
Previous runs took 81–108s. Starting from a blank tab, the task still depends on knowing which Google account holds the MUN mail; that's the proposed follow-up (local "what WebPilot knows about you").
Realistic suite in the user's real browsers, including the new two-part scenarios:
mail_two_partsbooks_two_partsOther checks
npm test: 62/62. New tests cover: a blocked Jev consulting the LLM and continuing; the LLM advising a handoff; a failed Jev call handled by the LLM; the context budget trimming; the planner delegating each part of a multi-part request; history compaction.npm run extension:smoke: 11/11.npm run buildpasses.Follow-ups
mail.google.com/mail/u/3"), so personal tasks start in the right place.🤖 Generated with Claude Code