Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added version and role to Agent Semantic Convention #1879

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

gyliu513
Copy link
Member

@gyliu513 gyliu513 commented Feb 5, 2025

Fixes #1878

Changes

Please provide a brief description of the changes here.

Note: if the PR is touching an area that is not listed in the existing areas, or the area does not have sufficient domain experts coverage, the PR might be tagged as experts needed and move slowly until experts are identified.

Merge requirement checklist

@gyliu513 gyliu513 requested review from a team as code owners February 5, 2025 17:23
@github-actions github-actions bot added the enhancement New feature or request label Feb 5, 2025
capabilities for enhanced decision-making and task execution.
examples: ["1.0"]
- id: gen_ai.agent.role
stability: development
Copy link
Contributor

Choose a reason for hiding this comment

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

are there some existing agent frameworks or services that support it? How would it be different from the name and/or description?

Copy link
Member Author

Choose a reason for hiding this comment

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

CrewAI have this concept https://github.com/crewAIInc/crewAI/blob/77c7b7dfa1c2765a231a2e8f292ebb9dff8879f0/src/crewai/agents/agent_builder/base_agent.py#L36

  • For role, I want we have two roles first including worker and coordinator, we can add more roles as needed. For multiple agent framework, we may need to clarify what is the role of the agent, like there will be some coordinator agent, and some worker agent etc.
  • For name, it will be more flexible for customers, they can use any name that is meaningful for them
  • For description, it will be mainly used to clarify what will this agent do, it will probably be a sentence description for the agent.

Copy link
Contributor

Choose a reason for hiding this comment

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

Is it used by other frameworks? We can add have crewai-specific conventions, but I'm not sure if it's used by anyone else, so it might not be the right candidate for the general attribute.

Also, would you classify it as something essential for agent observability? I mean humans can figure out the role from name and description and not sure what visualization/tools would do with role information. So is there some specific scenario where it'd be important to have the role formalized?

Copy link
Member Author

Choose a reason for hiding this comment

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

MetaGPT also have roles concept https://github.com/geekan/MetaGPT/tree/main/metagpt/roles , like architect, assistant, engineer, researcher etc. But seems MetaGPT is using some other way to describe roles, let me do more research for this, thanks @lmolkova

@@ -192,6 +192,37 @@ groups:
type: string
brief: Human-readable name of the GenAI agent provided by the application.
examples: ["Math Tutor", "Fiction Writer"]
- id: gen_ai.agent.version
Copy link
Contributor

Choose a reason for hiding this comment

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

are there some existing frameworks out there that have a concept of agent version?

Copy link
Member Author

Choose a reason for hiding this comment

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

Not yet, for now, I can see sometimes we can add version info to agent name, like ResearchAssistant_v1, ResearchAssistant_v2 etc., but having a dedicate version field maybe better especially for some comparison of agents with different versions.

Copy link
Contributor

Choose a reason for hiding this comment

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

let's not add version now then - we can always add attributes when we need them. Also, it's a good question whether they should be supplied in instrumentation scope (when creating tracer/meter) vs in span attributes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Development

Successfully merging this pull request may close these issues.

Adding Agent version and Agent role to Agent Semantic Convention
2 participants