← Vetro Attest · Free Art. 12/14 checker · Free EU AI Act tools

Audit log for Agno agents

An Agno agent pairs a model with a set of tools — plain Python functions or toolkit classes — and runs them in a loop. Agno's model classes wrap the underlying provider SDK internally, and there is no documented public hook to intercept that call today, so the reliable recording points are the two you already control: the tools you define, and the boundary around each agent run.

What to record

Wrapping tools

Agno tools are ordinary Python callables. Wrap one once and every call through it is recorded, using vetro-py's Run API — the same package used in the AG2 guide:

from vetro import Vetro, load_policy

policy = load_policy(open("vetro.policy.json").read())
vetro = Vetro(dir=".vetro", policy=policy)
run = vetro.start_run(name="agno-agent")

def audited(fn):
    def wrapper(*args, **kwargs):
        run.tool_call(fn.__name__, {"args": args, "kwargs": kwargs})
        try:
            result = fn(*args, **kwargs)
        except Exception as exc:
            run.tool_result(fn.__name__, str(exc), is_error=True)
            raise
        run.tool_result(fn.__name__, result)
        return result
    return wrapper

run.tool_call() raises PolicyViolationError before fn runs if an inline policy blocks it, so enforcement happens before the tool acts, not after.

Recording the model call

Without a client-level hook into Agno's model wrapper, record the model leg at the point your own code calls agent.run(...): run.llm_request(model=..., provider="agno", messages=...) immediately before, run.llm_response(...) immediately after. It is coarser than an adapter that sees inside a streaming response, but it is accurate about what your code actually observes, rather than assuming a hook that may not exist in your installed version.

Multi-agent teams

Agno supports composing agents into a team, similar in shape to AutoGen's multi-agent conversations. Record which agent handled which step and any handoff between them, for the same reason covered in the AutoGen and AG2 guide: the question after an incident is not only what was done, but which agent did it.

Check your own logs

Paste the resulting ledger into the free checker: it verifies the hash chain and signature and shows which record-keeping obligations your evidence covers, in your browser. For a report to hand to an auditor or a customer, Vetro Attest issues a 29 USD counter-signed mapping to EU AI Act articles.

See a sample ledger verified in one click, check your own logs free or get the countersigned EU AI Act report.

Pricing