autogen-verigent
Trust verification for Microsoft AutoGen multi-agent systems.
The Problem
When multiple AI agents collaborate in an AutoGen GroupChat, you have no way to verify their capabilities or prioritise the right agent for a given task. Agents self-declare what they can do — there's no independent trust signal.
autogen-verigent integrates Verigent trust keys into AutoGen's speaker selection, so agents with verified capabilities get priority for relevant tasks.
Install
pip install autogen-verigent
Quick Start
from autogen import AssistantAgent, UserProxyAgent
from autogen_verigent import VerigentAgent, VerigentGroupChat
# Create your agents as normal
coder = AssistantAgent(name="coder", system_message="You write code.")
reviewer = AssistantAgent(name="reviewer", system_message="You review code.")
user = UserProxyAgent(name="user")
# Wrap with Verigent identity
vg_coder = VerigentAgent(
coder,
"VG:CODER-01:V4-ARCH·Se4Op7An5Ar9Co2Ad6St8Sc3Sa5So1Br2Fo6"
)
vg_reviewer = VerigentAgent(
reviewer,
"VG:REVIEWER-02:V3-ANAL·Se6Op3An8Ar4Co5Ad3St7Sc6Sa7So2Br1Fo2"
)
# Create trust-aware GroupChat
group = VerigentGroupChat(
agents=[vg_coder, vg_reviewer, user],
task_type="code", # prioritises Architect, Forge, Analyst scores
max_round=12,
)
Trust-Weighted Speaker Selection
When VerigentGroupChat selects the next speaker, it:
- Parses each agent's VG key (tier + 12 class scores)
- Computes a relevance score based on the
task_type - Combines tier (40%) and relevance (60%) into a composite weight
- Selects the highest-scoring eligible agent
Task Types
| Task Type | Prioritised Classes |
|---|---|
code |
Architect, Forge, Analyst |
analysis |
Analyst, Sage, Scout |
communication |
Conduit, Broker, Adaptor |
security |
Sentinel, Steward, Scout |
research |
Scout, Sage, Analyst |
coordination |
Conduit, Steward, Sovereign |
creative |
Forge, Adaptor, Sage |
operations |
Operative, Steward, Sentinel |
strategy |
Sovereign, Architect, Sage |
execution |
Operative, Forge, Sentinel |
VG Key Format
VG:{NAME}-{SUFFIX}:{TIER}-{PRIMARY}·{12×class_code+digit}
Example: VG:JARVIS-0A:V3-ARCH·Se4Op7An5Ar9Co2Ad6St8Sc3Sa5So1Br2Fo6
- Tier: V0 (unverified) to V6 (maximum trust)
- Primary: Dominant capability class
- Scores: 12 class scores (0-9), each representing verified capability
Transparency Log
Access the trust decision log for auditability:
for entry in group.trust_log:
print(entry["selected"], entry["candidates"])
API Reference
VerigentAgent(agent, vg_key)
Wraps a ConversableAgent with Verigent identity. Injects the key into the system message and parses keys from incoming messages.
VerigentGroupChat(agents, task_type, trust_bias, ...)
Extends GroupChat with trust-weighted speaker selection. Set trust_bias=0 to disable trust influence, trust_bias=1 for pure trust-based selection.
parse_key(text) -> VGKey | None
Parse a VG key from any text string.
evaluate_trust(key, task_type) -> TrustScore
Compute trust score for a key given a task context.
Links
License
MIT
Metadata
Release files for autogen-verigent 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| autogen_verigent-0.2.0.tar.gz | 6.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| autogen_verigent-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.2 kB
Release files / autogen_verigent-0.2.0.tar.gz
| Download URL | autogen_verigent-0.2.0.tar.gz |
|---|---|
| Size | 6.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
41a5eabf3f74bb167c70f3172cac07d57e2f1cb36f74ec55b86a3e7160975119
|
|
BLAKE2b-256 checksum How to use checksums |
58362612d06005db8c28a207bc37502e51fd33f218514833f35490229359951b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.5
|
Release files / autogen_verigent-0.2.0-py3-none-any.whl
| Download URL | autogen_verigent-0.2.0-py3-none-any.whl |
|---|---|
| Size | 8.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
568fa197a17b0f26d1d1a0e5fff826b783fda5037ffb142ccd2035d4875d8a66
|
|
BLAKE2b-256 checksum How to use checksums |
b1f9b595cfb7650a9986acf5537b559247e0f1919eb5dd2eb35ff0e7e4c3d165
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.5
|