Skip to content

Find what’s hiding in your agent traces

Your agents generate more traces than anyone can read. FriskAI sifts through every one and surfaces what deserves your attention, from loops that go nowhere and tools that keep failing to the requests your users keep making.

A critical FriskAI finding for the Customer Support agent: it keeps repeating search_products without making progress, with its status, how it was found and the four layers from what happened to what to change

Works with

  • Python SDK
  • TypeScript SDK
  • LangChain and LangGraph
  • Claude Agent SDK
  • Strands Agents
  • Mastra
  • Claude Codeearly access
  • OpenTelemetryearly access
  • Datadogearly access
  • Langfuseearly access
  • Logs and exportscustom pipeline

Three tool calls, 1,516 tokens and a failed run nobody noticed

The trace stops there. FriskAI records the same session with what the user asked, what the agent tried, what came back and how it ended.

What the trace says
session
6c118cf7 · IT Ops
tool_calls
3
tokens
1,516 (1,317 in · 199 out)
model
friskai-oss:20b
What FriskAI records
  1. Asked

    “metrics-ingest is suddenly throwing a lot of errors in prod-apse2. Can you check what’s going on?”

  2. Intent

    Service Issue Diagnosis

  3. Path

    get_metrics, then search_logs

  4. Returned

    423 errors in the logs, led by an expired TLS certificate

  5. Outcome

    Failed

Every session keeps its full trace, with the arguments and output of each call. See a session

What thousands of sessions tell you

  • What users ask

    We group each agent’s requests into intents, so you can see what people want from it and which asks are growing.

    See intents
  • How agents work

    Every path an agent takes through its tools, ranked so the ones that fail or drag show up first.

    See sequences
  • Which tools carry risk

    Each tool gets a risk score, and the ones that change something in the real world, like issuing a refund, are flagged as irreversible.

    See the tool registry

Every finding tells you how sure it is

A finding starts with what happened. Then it tries to answer why, where it’s heading and what to change. Each answer shows how much evidence is behind it, and it gets firmer as more sessions come in. When you ship a fix, we check whether it worked.

  1. L1What happened
  2. L2Why, traced to a recorded change or the sessions it hit
  3. L3Where it’s heading over the next 30 days
  4. L4What to change, and whether the change worked
A finding's four layers filled in: the agent repeats search_products across 7 sessions, why it happened, a projection of 18 to 61 more loops in the next 30 days, and the fix to add a stop condition

Findings also carry what they cost. Spend is priced per model call at the rate you pay, and repeated calls and loops show the time they burn.

When an agent starts acting differently, see what changed first

A new model, a prompt rewrite or an SDK upgrade can change how an agent behaves without anyone noticing. We record SDK upgrades and new models on our own, and your team can log deploys and prompt changes. Every finding shows what changed just before it started.

What changed around a finding: the SDK version and Python runtime reported at the same time it started, and the first use of a new model 23 hours before

There’s more in the product, including findings, tools, detectors.

How FriskAI fits with what you already run

Most teams already collect the telemetry FriskAI reads, so it sits next to the tools you have.

AI vendor analytics
Each vendor shows you how its own product gets used. We put the agents you build and the AI tools you license in one place.
Observability and tracing
Keep your tracing. We read those traces and work out what the agent was trying to do, and whether today looks like a normal day for it.
Security tools
When your security tooling flags an event, we can show what the agent was asked to do and what it called before and after.
Usage dashboards
They count seats, tokens and spend. We show you the work those numbers paid for.

Start with one agent

Wrapping an agent with our SDK takes a few lines. If your telemetry already goes to Claude Code’s exporter, an OpenTelemetry pipeline, Datadog or Langfuse, we can read it from there instead.

import os
from langchain.agents import create_agent
from frisk_sdk.adapters.langchain import Frisk

frisk = Frisk(api_key=os.getenv("FRISK_API_KEY"))

agent = create_agent(
    model=get_llm(),
    tools=frisk.wrap_tools(llm_tools),
    system_prompt=system_prompt,
)

Questions we get a lot

Something we didn’t cover? Email us.

What do I need to get started?

One agent sending telemetry. Add the FriskAI SDK, or connect something you already run, like Claude Code, an OpenTelemetry pipeline, Datadog or Langfuse. Checks for loops, repeated calls and unused tools work from the first session. Checks that compare against a baseline need a little history first, and every finding tells you how much evidence it’s working from.

Do you need our prompts?

Only for the parts that are about content, like grouping what users ask into intents. Everything else runs on tool calls, arguments, timing and token counts. You decide what each source sends.

How do you work out spend?

Per model call, from list prices we keep up to date, at the rate that applied on the day. Add your negotiated rates and a monthly budget and the numbers match your bill. Tool calls are measured in time, so repeated calls and loops show the time they burn.

What won’t FriskAI catch?

We don’t grade whether an answer was correct. Judging quality and hallucination takes ground truth we don’t have, and splitting results by user needs a user id in your telemetry. What we tell you is whether a run behaved unusually or wastefully. The product lists these gaps right next to the detectors.

Will this be used to monitor employees?

No. FriskAI is built around agents, tools and sessions, and there are no per-person scores or rankings. You can open a single session to debug something, but the analysis is about how the work gets done.

Which agent frameworks do you support?

Python and TypeScript SDKs, with adapters for LangChain and LangGraph, the Claude Agent SDK, Strands Agents and Mastra. You can also wrap calls in a custom runtime. Claude Code, OpenTelemetry, Datadog and Langfuse are in early access.

Point FriskAI at one agent

Start free and connect it yourself, or book a demo and we’ll set it up with you.