Repository navigation
Add AutomationBench benchmark - #1505
Merged
Merged
Conversation
Contributor
|
Caution The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased. |
Yunnglin
marked this pull request as ready for review
July 22, 2026 08:46
Contributor
|
Caution The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased. |
Collaborator
Author
|
/review |
There was a problem hiding this comment.
👋 Review Summary
Nice work wiring AutomationBench into EvalScope’s agent benchmarking pipeline, including the adapter, runtime guards, and focused tests around Python 3.13 and the simple baseline. The integration aligns well with the existing benchmark architecture and keeps the official environment in-process.
🛡️ Key Risks & Issues
- AutomationBench environment initialization currently suppresses
signal.signalandatexit.registerglobally while worker-thread environments are constructed. Because these functions are process-wide, any other thread registering signal handlers or atexit callbacks in that window will silently have its registrations dropped. This is a subtle concurrency risk that can lead to missing cleanup or signal handling in unrelated code. - Result normalization currently infers
partial_creditandtask_completed_correctlyfromrewardand defaults, and treats any non-emptyerror(including items surfaced fromdebug.errors) as a fullerror_rate=1.0. If AutomationBench evolves its metrics or uses debug errors for diagnostics, EvalScope’s metrics could diverge from the intended semantics or over-count errors.
🧪 Verification Advice
- Exercise AutomationBench against real upstream outputs beyond the mocked tests, especially cases where metrics are partially missing, reward is present, or errors are reported only in debug structures, and confirm that
pass_rate,partial_credit, anderror_ratematch Zapier’s reference implementation. - Run evaluations under workloads that import other libraries or register atexit hooks during execution to ensure that the environment init suppression does not interfere with unrelated code; if any registration is unexpectedly missing, consider narrowing the monkeypatch scope.
💡 Thoughts & Suggestions
- Consider replacing the process-wide monkeypatch of
signal/atexitwith a more targeted patch of the Verifiers environment or helper that installs hooks, so AutomationBench worker setup does not affect other threads. - Tighten
_normalize_resultandmatch_scoreto rely primarily on AutomationBench’s explicit metrics and completion flags, treating reward and debug errors as diagnostic metadata. Small unit tests around these paths would give a lot of confidence if the upstream environment changes. - Overall, the adapter and tests are in good shape; a bit more coverage around the runner glue and normalization logic will make this integration very robust over time.
🤖 Generated by Qoder • View workflow run
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.
Summary
AgentAdapterfor Zapier's official AutomationBench Python environmentsimplebaseline separateRuntime
AutomationBench requires Python 3.13+. The adapter reports the pinned installation command when the official package is unavailable; it does not create environments or install dependencies at runtime. Evaluation runs in process and does not require Docker or real SaaS credentials.
Validation
LC_ALL=C LANG=C conda run -n eval make linttests/benchmark/test_agent.py(5 passed)LC_ALL=C LANG=C conda run -n eval make docs(English and Chinese Sphinx builds succeeded)simpletask: pass rate 1.0)