ZIm/crates/eval/examples/runtime_script_refactor/diff_criteria.md
Nathan Sobo bab28560ef
Systematically optimize agentic editing performance (#28961)
Now that we've established a proper eval in tree, this PR is reboots of
our agent loop back to a set of minimal tools and simpler prompts. We
should aim to get this branch feeling subjectively competitive with
what's on main and then merge it, and build from there.

Let's invest in our eval and use it to drive better performance of the
agent loop. How you can help: Pick an example, and then make the outcome
faster or better. It's fine to even use your own subjective judgment, as
our evaluation criteria likely need tuning as well at this point. Focus
on making the agent work better in your own subjective experience first.
Let's focus on simple/practical improvements to make this thing work
better, then determine how we can craft our judgment criteria to lock
those improvements in.

Release Notes:

- N/A

---------

Co-authored-by: Max <max@zed.dev>
Co-authored-by: Antonio <antonio@zed.dev>
Co-authored-by: Agus <agus@zed.dev>
Co-authored-by: Richard <richard@zed.dev>
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Michael Sloan <mgsloan@gmail.com>
2025-04-19 02:47:59 +00:00

1.1 KiB

  1. Added RuntimeCommands import and WebElement to page.py The changes add an import for RuntimeCommands and WebElement to page.py. The execute_js_script method is renamed to execute_script and enhanced to support execution in the context of a WebElement. The method now uses RuntimeCommands for script evaluation.
  2. Refactored Runtime-related commands from DomCommands to new RuntimeCommands class The changes move all Runtime-related command templates and methods from DomCommands in dom.py to a new runtime.py file. This includes EVALUATE_TEMPLATE, CALL_FUNCTION_ON_TEMPLATE, GET_PROPERTIES, and their associated methods. The DomCommands class now uses RuntimeCommands for JavaScript evaluation.
  3. Added Scripts constants and enhanced WebElement functionality The changes add a new Scripts class to constants.py containing JavaScript snippets for common operations. The element.py file is significantly enhanced with new methods for script execution, visibility checking, and improved click handling. New exceptions are added to exceptions.py for better error handling.