Skip to content

fea(dea): Add support for tools metrics for DEA - #494

Merged
IsmailMehdi merged 2 commits into
GoogleCloudPlatform:mainfrom
minzznguyen:dea_skill_metrics
Jul 20, 2026
Merged

IsmailMehdi merged 2 commits into
GoogleCloudPlatform:mainfrom
minzznguyen:dea_skill_metrics

Conversation

@minzznguyen

@minzznguyen minzznguyen commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Description

Implement logic to extract tool names and details by:

  • decode the final conversation token in gcp_data_engineering_agent.py
  • add fields to store tools information in dataengineeringagentinput.py

Recorded accumulated_tools when running example_run_config.yaml

[
    'provide_recommendations',
    'validate_dataform_action',
    'compile_dataform',
    'write_dataform_file',
    'get_schema_and_samples',
    'assess_cleaning_quality'
]

Captured Execution Details (tools_by_name)

  • write_dataform_file: 4 execution calls captured (definitions/simple_constant_view.sqlx, workflow_settings.yaml, package.json)
  • compile_dataform: 6 execution calls captured (including all parameters and error stack traces)
  • validate_dataform_action: 1 call captured
  • assess_cleaning_quality: 1 call captured
  • get_schema_and_samples: 1 call captured
  • provide_recommendations: 3 calls captured

@minzznguyen minzznguyen changed the title fea(dea): Add support for tools metrics for DEA [WIP] fea(dea): Add support for tools metrics for DEA Jul 14, 2026
@minzznguyen minzznguyen changed the title [WIP] fea(dea): Add support for tools metrics for DEA fea(dea): Add support for tools metrics for DEA Jul 15, 2026
@prernakakkar-google

Copy link
Copy Markdown
Collaborator

/gcbrun

graceqi-g
graceqi-g previously approved these changes Jul 15, 2026

@IsmailMehdi IsmailMehdi left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Leaving the three blocker-level items inline. The rest of the review (regex fragility, URL-safe base64, missing .get() guards, per-turn reset, and a note on extractor test coverage) is posted separately — not repeated here.

Comment thread evalbench/generators/models/gcp_data_engineering_agent.py
Comment thread evalbench/generators/models/gcp_data_engineering_agent.py Outdated
Comment thread evalbench/evaluator/dataengineeringagentevaluator.py Outdated
James Nguyen added 2 commits July 19, 2026 18:24
…lemetry

- Implement stateless single-pass A2A ConversationToken decoding in gcp_data_engineering_agent.py
- Extract function call parameters, outputs, and failure flags without state locks or diffing
- Format structured per-turn tool telemetry inside conversation_history in dataengineeringagentevaluator.py
- Add typed state attributes to EvalDeaRequest in dataengineeringagentinput.py
{
"user": "What is target workspace?",
"agent": "It is test-workspace.",
"agent_stats": {"tools": {"byName": {}}},

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we add a more complex UT? it would be nice to test the tool deduplication logic you added is working correctly

@IsmailMehdi

Copy link
Copy Markdown
Collaborator

/gcbrun

@IsmailMehdi
IsmailMehdi merged commit 381a3b0 into GoogleCloudPlatform:main Jul 20, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants