Enterprise multi-agent systems with cryptographic audit trails. Every agent execution and structured response — permanently recorded and verifiable.
No credit card required • Cryptographic proofs included
When agents make decisions or produce structured outputs, auditors need immutable records of every turn, input, and final answer.
In GroupChat or modern teams, you need per-agent provenance — who said what, when, and why.
With output_content_type or JSON mode, the final answers must be captured cleanly for replay and verification.
pip install "audifact-sdk[autogen]" pyautogen
pip install "audifact-sdk[autogen]" "autogen-agentchat>=0.7" "autogen-ext[openai]>=0.7"
import autogen
from audifact.autogen import AudifactTracer
llm_config = { ... }
researcher = autogen.AssistantAgent(name="researcher", llm_config=llm_config, ...)
critic = autogen.AssistantAgent(name="critic", llm_config=llm_config, ...)
writer = autogen.AssistantAgent(name="writer", llm_config=llm_config, ...)
groupchat = autogen.GroupChat(agents=[researcher, critic, writer], ...)
manager = autogen.GroupChatManager(groupchat=groupchat, llm_config=llm_config)
# Wrap the manager — all agent turns are now traced
tracer = AudifactTracer(
api_key="af_YOUR_API_KEY",
agent_name="autogen-research-team",
# include_context=True # opt-in for full inputs/outputs
)
traced = tracer.wrap(manager)
user_proxy.initiate_chat(traced, message="Topic: ...")
Uses stable AudifactTracer (GroupChatManager instrumentation)
from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.teams import RoundRobinGroupChat
from autogen_agentchat.ui import Console
from pydantic import BaseModel
from audifact.autogen import AudifactTracerAG2
class StructuredAnswer(BaseModel):
answer: str
confidence: float
key_points: list[str]
analyst = AssistantAgent(
name="analyst",
model_client=...,
output_content_type=StructuredAnswer, # structured output → output_json
...
)
tracer = AudifactTracerAG2(
api_key="af_YOUR_API_KEY",
agent_name="ag2-modern-team",
include_context=True,
)
traced = tracer.wrap(analyst)
team = RoundRobinGroupChat(participants=[traced, ...], ...)
await Console(team.run_stream(task="..."))
Uses AudifactTracerAG2 (on_messages_stream + output_content_type support)
Safe demo — nothing written to ledger. Use your real API key + OPENAI key to record real runs.
Structured decisions and outputs with cryptographic hashes. Never raw prompts by default.
Every execution and response is hash-chained.
Instant proofs for auditors — stable or AG2.
Answers + reasoning land cleanly in output_json.
Signed identities. Full provenance for every participant.
Stable or modern — cryptographic proofs in minutes. No credit card required.
Enterprise plans: dedicated support, custom retention, on-prem options.