Where should capability-level evaluation evidence attach in a composed workflow? #7478
Replies: 2 comments
|
On current The workflow evaluation helpers currently aggregate per-agent results by the local executor ID in both Python and .NET. However, neither Python's I would keep two identities separate:
For example, an evidence record could use: {
"capability": {
"kind": "workflow_node",
"id": "claims/security/analyze",
"version": "sha256:..."
},
"workflow_version": "sha256:...",
"evaluation_suite": "security-regression@3",
"invocation": {
"trace_id": "...",
"span_id": "...",
"session_id": "..."
},
"result": { "status": "pass", "scores": {} }
}I would not use a trace/span/checkpoint ID as the capability ID: those identify an execution or restoration point, not the reusable capability. Python's Likewise, I would not treat an unqualified executor ID as globally stable. The nested-workflow collision described in #7763 shows why a scoped path (or separate scope plus local ID) is needed. Tool IDs should be namespaced similarly because the same tool name can appear under multiple agents. With today's API, I would keep this envelope in the application's evaluation store and associate it with the per-executor sub-result. A small framework-level extension that adds an optional |
|
I couldn't find a framework-defined cross-runtime evidence schema for this. I'd give each capability an application-owned stable ID, then record the agent/tool/node version, config and workflow run/checkpoint with each evaluation result. |
Uh oh!
There was an error while loading. Please reload this page.
Agent Framework supports agents, tools, middleware, and graph workflows with checkpointing, human-in-the-loop control, and multiple providers. In a production system, that makes a single framework-level label too broad for deciding whether a reusable capability is reliable.
A failed workflow may come from one tool, one agent, routing logic, provider behavior, or environment dependencies. Recording evaluation evidence at the capability/node level—while preserving the full workflow context—could make failures and version changes easier to compare.
Does the framework have a recommended stable identifier and evidence model for attaching evaluation results to individual agents, tools, or workflow nodes across Python and .NET?
All reactions