惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Simon Willison's Weblog
Simon Willison's Weblog
Google DeepMind News
Google DeepMind News
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
P
Proofpoint News Feed
Recent Announcements
Recent Announcements
MongoDB | Blog
MongoDB | Blog
U
Unit 42
云风的 BLOG
云风的 BLOG
Recorded Future
Recorded Future
G
Google Developers Blog
I
InfoQ
Blog — PlanetScale
Blog — PlanetScale
A
About on SuperTechFans
Jina AI
Jina AI
量子位
宝玉的分享
宝玉的分享
The Cloudflare Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 聂微东
Last Week in AI
Last Week in AI
WordPress大学
WordPress大学
美团技术团队
The Hacker News
The Hacker News
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
Tailwind CSS Blog
博客园 - 司徒正美
博客园 - 叶小钗
Hugging Face - Blog
Hugging Face - Blog
P
Palo Alto Networks Blog
博客园_首页
阮一峰的网络日志
阮一峰的网络日志
博客园 - 【当耐特】
Spread Privacy
Spread Privacy
The GitHub Blog
The GitHub Blog
Y
Y Combinator Blog
Vercel News
Vercel News
Martin Fowler
Martin Fowler
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Forbes - Security
Forbes - Security
Attack and Defense Labs
Attack and Defense Labs
Google DeepMind News
Google DeepMind News
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Microsoft Azure Blog
Microsoft Azure Blog
P
Privacy International News Feed
G
GRAHAM CLULEY
The Last Watchdog
The Last Watchdog
C
Cyber Attacks, Cyber Crime and Cyber Security
AI
AI
V2EX - 技术
V2EX - 技术

PostHog's RSS Feed

Training our own AI models - PostHog From 270GB RAM to 5GB: Moving local flag evaluation from Django to Rust The best analytics stack for vibe-coded apps The do's and don'ts of minimum viable product marketing - PostHog The best MCP servers for startups, by workflow 4,063 errors closed without a human opening PostHog – here's what we learned - PostHog PostHog Code and the self-driving product - PostHog Why attacking your competitors online is dumb - PostHog The best real-time analytics platforms for developers, compared DuckDB vs ClickHouse: Why we use both at PostHog - PostHog PostHog's next chapter - PostHog Making Claude Cowork actually useful - PostHog PostHog vs Matomo in-depth tool comparison You're doing lifecycle emails wrong Untangling Tokio and Rayon in production: From 2s latency spikes to 94ms flat The best HIPAA-compliant A/B testing tools - PostHog A beginner's guide to testing AI agents - PostHog I hate the standup bot (so I built an agent to do it for me) - PostHog The best CDPs for developers, compared The best error tracking tools for developers, compared The best feature flag software for developers, compared 7 best session replay tools for mobile apps 7 best free open source business intelligence tools right now 7 best free and open source LLM observability tools PostHog vs LogRocket in-depth tool comparison The most popular PostHog alternatives, compared Open source (and self-hosted) session replay tools - PostHog The 9 best GA4 alternatives for apps and websites - PostHog PostHog vs Google Analytics 4 in-depth tool comparison How we built automatic clustering for LLM traces - PostHog The 7 best HIPAA-compliant analytics tools 8 best open source analytics tools you can self-host - PostHog The best product analytics tools for startups, compared PostHog vs FullStory in-depth tool comparison The best in-app survey tools for product teams, compared The 7 best mobile app analytics tools PostHog vs Hotjar in-depth tool comparison The 8 best free and open-source feature flag services - PostHog The 5 best free and open-source A/B testing tools - PostHog The best mobile app A/B testing tools, compared What is a feature flag? Feature Flags vs Remote Config vs A/B Testing PostHog is now available in Vercel’s v0 The best Heap alternatives & competitors, compared PostHog vs Heap in-depth tool comparison PostHog vs Pendo in-depth tool comparison PostHog × Vercel: feature flags, minus the plumbing Your logs' final destination is in GA. You always end up here anyway Behind the scenes of a PostHog hackathon - PostHog The most popular Mixpanel alternatives & competitors, compared PostHog vs Mixpanel in-depth tool comparison The 9 best GDPR-compliant analytics tools How we use Logs at PostHog The best web analytics tools for developers, compared Stop AI slop: Run evals with LLM-as-a-Judge - PostHog You product data just got a job: Workflows is now out App onboarding: How to fix drop-off points Meet Logs (beta) – logs with all the tools you’re already using Why small teams crush tiger teams How we built user behavior analysis with multi-modal LLMs (in 5 not-so-easy steps) - PostHog The best Contentsquare alternatives & competitors, compared 8 learnings from 1 year of agents – PostHog AI - PostHog Why we killed our AI product assistant Workflows graduate to beta! Product data, meet automation The best Rollbar alternatives & competitors, compared Workflows are now in Alpha and I already broke mine - PostHog I've consistently underestimated how important communication is as a CEO - PostHog How we made feature flags even faster and more reliable The best session replay tools for developers, compared What I learned attending my first ever hackathon - PostHog Did you know AI is answering our community questions? - PostHog How not to be boring - PostHog We built an internal tool to generate changelog images for social media - PostHog What we built at our windswept Mykonos hackathon - PostHog How we built our onboarding email flow (with actual performance data) - PostHog We're building a better PostHog community by closing our public Slack - PostHog Introducing Notebooks for PostHog - PostHog Why we've launched PostHog user surveys - PostHog How we made feature flags faster and more reliable - PostHog In-depth: ClickHouse vs Redshift - PostHog Introducing HouseWatch: An open-source toolkit for ClickHouse - PostHog Introducing HogQL: Direct SQL access for PostHog - PostHog What we built at our sun-kissed Aruba hackathon - PostHog In-depth: ClickHouse vs BigQuery - PostHog In-depth: ClickHouse vs Elasticsearch - PostHog HogMail #22: Why do companies over-hire?" - PostHog Our simpler goal: Help engineers to be better at product - PostHog In-depth: ClickHouse vs Snowflake - PostHog HogMail #21: Avoiding the "Product Death Cycle" - PostHog Sunsetting Kubernetes support for PostHog - PostHog Why 'Product Engineer' is the most fun role I've had in tech - PostHog HogMail #20: Why do startups fail? - PostHog The best Google Optimize alternatives for apps and websites - PostHog Array 1.43.0: Massive performance improvements! - PostHog In-depth: ClickHouse vs Druid - PostHog HogMail #19: Which meetings should you kill? - PostHog CEO diary: The things I learned in 2022 - PostHog The essential tools used by product engineers - PostHog HogMail #18: What can SaaS learn from the New York Times? - PostHog What is a product engineer? - Product Engineer Handbook - PostHog Array 1.42.0: Get beta features via our roadmap! - PostHog
AI observability for your MVP
Natalia Amor · 2026-06-01 · via PostHog's RSS Feed

A lot of "LLM observability" content out there is written for teams running production AI at scale: enterprise governance, fancy eval pipelines, dedicated AI platform engineers. Useful if you're there, but wildly over-engineered if you just shipped your first AI feature on a Tuesday.

This guide is for the other half – the small teams, vibe coders, and solo founders who have a couple of agents or LLM calls in their app, no data team, and no idea where to start with AI observability.

The answer isn't to set up everything, but to set up the minimum that keeps you from getting blindsided, skip the stuff that won't pay off yet, and add depth as your product earns it.

Here's what that looks like in practice.

What is AI observability?

AI observability (often used interchangeably with LLM observability and LLM analytics) is the practice of monitoring what's happening inside the AI features of your app: the prompts you send, the responses you get back, how long calls take, how much they cost, and whether the outputs are any good.

Traditional APM tools (Datadog or New Relic weren't built for this. They can tell you your API call to OpenAI succeeded with a 200, but they can't tell you the response was a hallucination, or that your prompt is costing 3x what it should be.

AI observability fills that gap.

The core building blocks are:

  • Traces – the full record of an LLM call (or chain of calls) including inputs, outputs, model, parameters, and timing
  • Cost and token tracking – how much each call costs, broken down by model, user, or feature
  • Evaluations (evals) – ways to score the quality of outputs, not just whether they succeeded
  • Prompt management – versioning and iterating on prompts without re-deploying code
  • Feedback loops – capturing user signals (thumbs up/down, retries, abandonment) on AI outputs

You don't need all of these on day one. Most MVPs need two.

Why does my MVP need observability at all?

Three reasons, in order of how painful they are when you skip them:

  1. AI features burn money and can be sneaky about ittrust us, we know. A single retry loop bug or a prompt that doubled in length can drain a daily API budget overnight. You won't see this in your traditional product analytics, but you'll see it in your monthly bill.
  2. AI failures look like working code. Your function returned a string. The string is wrong. There's no exception, no error log, no red flag in monitoring – just a user reading nonsense. You need a way to catch this that isn't "wait for a tweet dunking on your chatbot."
  3. You can't improve what you can't see. When a user says "the AI did something weird," "weird" is not a debuggable input. Without traces, you're guessing.

The good news is that the first version of AI observability is easy to set up, and the free tier of most tools will cover you well past your first thousand users.

Three things, all of which can be wired up in an afternoon (especially if you're using PostHog, since the Wizard can do all the heavy lifting for you).

1. Tracing every LLM call

The foundation of everything else. For each call, capture the full input (prompt + context + parameters), the full output, the model used, the latency, and the token counts.

This is the data you'll use to debug literally everything else: cost questions, latency questions, quality complaints, weird outputs.

If you remember nothing else from this guide, set up tracing.

Most LLM observability tools handle this with a small SDK wrapper around your OpenAI or Anthropic client. Initialize the wrapped client once, use it like the normal SDK, and every call is logged automatically.

2. Cost tracking

Once tracing is set up, cost tracking comes nearly for free – your tool calculates cost per call from the token counts and model. What you actually need to do is set up alerts so you know when something goes sideways.

At minimum:

  • An alert when daily spend exceeds your expected baseline by some multiplier (for example, 2x your 7-day rolling average)
  • A breakdown by model, so you can spot when something is calling gpt-5.5 instead of gpt-5.4-mini for example
  • A breakdown by user, so one power user (or one abuse case) doesn't tank your margins

Take it from us: the risk of overpaying isn't hypothetical.

When the PostHog team dug into the cost of our own AI agent (the PostHog Wizard), we found it was burning tokens on three things we hadn't expected: re-reading files it had already read, redoing work after context compactions, and spawning subagents that didn't reliably terminate. The only reason we caught it was because the cost data was sitting right there in AI observability. Without it, we would've just paid the oversized bill and moved on.

3. Error capture

LLM calls fail in more interesting ways than regular API calls. Beyond the usual suspects (rate limits, timeouts, network errors), you'll see things like:

  • Tool-call failures – the agent tried to call a tool, the tool errored or returned malformed data, and the loop may or may not have recovered
  • Agent loops that don't terminate – the model keeps calling itself, spawning subagents, or refusing to exit
  • Structured output parsing failures – the model returned valid text but invalid JSON when you expected structured data
  • Token/context limit errors – the prompt or conversation overflowed, often silently
  • Content policy violations – the provider blocked the response, your code needs to handle it gracefully

You want all of these surfaced. If you already have error tracking set up for the rest of your app, make sure LLM errors are flowing into it.

If you don't, add it.

The combination of traces + errors + logs is how you debug AI features without losing your mind. Errors tell you something broke; traces tell you what the agent was doing when it broke; logs (tool calls, intermediate state, decisions) tell you why.

The following are where most MVP-stage teams over-invest. These are all legitimate practices, they just might not be the right thing to spend your time on when you have less than a thousand users and one AI feature.

Complex eval suites

You don't need 15 evaluation criteria across five different dimensions of quality, or an ensemble of LLM judges cross-checking each other. You probably don't even need automated evals yet.

Evals are essential eventually, but at the MVP stage they tend to be premature. Why? Because:

  • You don't have enough traffic to make automated scoring statistically meaningful
  • You don't know what "good" looks like for your product yet, so any rubric you write could be wrong
  • You can do better than evals at this scale by reading your outputs. Spend 30 minutes a week looking at random traces. You'll catch more than any rubric will.

Add automated evals once you have enough generations that you can't read them all (usually a few hundred per day).

When you're ready, our beginner's guide to testing AI agents walks through what a minimal eval suite actually looks like – a small dataset from real user queries and recent bugs, one or two cheap code-based evaluators, one LLM-as-a-judge for a subjective criterion, and a regular trace review ritual.

A/B testing prompt variants

Prompt experimentation is great, we just shipped it in beta – you can A/B test up to 10 prompt versions side by side, with cost, latency, and eval pass rate as built-in metrics.

There's even an agent prompt you can paste into Cursor or Claude Code that wires the whole experiment up for you; we're already running our own experiments on it.

That said: it's a feature to grow into, not a feature to start with. Prompt experimentation is pointless before you have enough traffic to detect a difference between variants. If you have 50 users a day, a 10% lift in quality won't reach statistical significance for months.

Until you have meaningful traffic: just ship the better-feeling prompt and move on. Track outputs so you can revert if something breaks. Come back to it once you're seeing a few hundred generations a day and you have a real hypothesis worth testing.

Heavy prompt management infrastructure

If only one person on the team writes prompts, and you ship prompt changes through your normal code deploys, you don't need a separate prompt management system yet. A prompts.py file in your repo is fine.

Prompt management becomes valuable once (a) multiple people are editing prompts, (b) you want non-engineers to iterate on prompts without a deploy, or (c) you want to version and roll back prompts independently of code. None of those usually apply on day one.

Custom-built observability infra

Don't do it. You'll spend a month building something half as good as what already exists, then spend the rest of your valuable free time maintaining it instead of shipping your product.

You can always migrate later, but realistically you won't need to (also, migrations normally suck, so save yourself the headache).

There are free tiers everywhere – PostHog gives you 100K LLM events/mo free, Langfuse is free to self-host, Datadog includes 40K LLM spans/mo on its free tier... use one of them instead.

For a deeper dive into free and self-hostable options, see our comparison of the best open source LLM observability tools.

Drift detection, governance dashboards, AI red-teaming pipelines

All cool features. All things you do not need at MVP stage.

File these mentally under "stuff to revisit when you have a real AI ops function."

As your product matures, the bar for observability rises. Here's the rough order to layer things in.

Stage 1: You have meaningful traffic (a few hundred generations a day)

Add automated evals. Now you can't read every trace, and you need a way to spot regressions. Start with deterministic, code-based evals where you can – simple checks like "the agent called the right tool," "no forbidden keyword appeared in the output," "no error was raised," or Levenshtein distance against an expected response. They're cheap, fast, and don't add an LLM dependency to your test pipeline. Only reach for an LLM-as-a-judge when the criterion is genuinely subjective enough that code can't capture it (tone, helpfulness, hallucination detection). Run both on a sample of production traces.

Add user feedback collection. Even a simple thumbs up/down on AI outputs is gold for debugging. Pair that signal with the trace and you can quickly find patterns in what users hate – PostHog surveys handle this in-app and tie responses back to the same user.

Add session replay. Watching how users actually react to AI outputs reveals things no metric will. Did they retry? Edit? Copy-paste? Close the tab? See our guide on the best session replay tools if you don't already have this.

Stage 2: You have multiple AI features and a small team

Move evals online. Your offline evals only cover inputs you defined. Online evals run against a sample of live production traces (5-10% is plenty) so you catch things your test set never imagined. Use cheap code-based evaluators for everything you can, and cheaper LLM judges for the subjective stuff.

Start a trace review ritual. The PostHog teams working on AI features run a weekly Traces Hour where they look at flagged traces (low feedback scores, error spikes, support tickets, outlier clusters) and turn the patterns into new evals. This is where the next generation of evaluators comes from.

Connect LLM data to product analytics. "Users who hit our AI feature retain at 2x" is the kind of insight that justifies the whole investment. To do this, your LLM observability needs to share a user model with your product analytics – which is one reason bundled tools tend to win at this stage.

Consider prompt management (if it fits). Once more than one person edits prompts, or you want non-engineers to iterate without a deploy, prompt management starts earning its keep. Many teams never need this – a prompts.py file in your repo is fine if you're shipping prompt changes through code anyway.

Stage 3: You're scaling

Add drift monitoring. Models change (especially if you're on the latest version of an API). Inputs change. Your evals need to keep up. Track quality scores over time and alert on regressions.

Add cost optimization workflows. Things like routing simpler requests to cheaper models, caching responses where you can, and identifying users or prompts that are eating budget.

Add governance. If you're selling to enterprise, you'll need things like PII redaction, data residency, audit logs, and human-in-the-loop review queues for high-risk outputs. This is where dedicated tools start to earn their keep.

The right tool for "day one" should also support most of "later" without needing to migrate – otherwise you're going to do this all again in six months.

For a deeper comparison of tools available, see our roundup of the best open source LLM observability tools.

And if you're earlier in your product journey, our guide to the best analytics stack for vibe-coded apps covers the whole analytics stack, not just the AI parts.

Why PostHog works well for this

A quick pitch, since this is our blog after all:

PostHog's AI observability covers all of the above in one place, with a free tier (100K events/mo) generous enough to get you well past MVP. You get:

  • Tracing with a small SDK wrapper around OpenAI, Anthropic, and other providers
  • Cost, latency, and token tracking by model, user, and feature
  • Evaluations with LLM-as-a-judge and human review
  • Error tracking alongside traces, so AI-specific failures (tool calls, parsing errors, loop termination) show up next to the calls that caused them
  • Prompt management with versioning, fetch-at-runtime, and rollback
  • Connected product analytics – the same user IDs flow through, so you can correlate AI usage with retention, conversion, and churn
  • Session replay alongside traces, so you can see exactly what the user was doing when the model misbehaved
  • An MCP server that lets you query traces, costs, and evals directly from Claude Code or Cursor while you're iterating

If you want to take it for a spin, you can start free – no credit card needed.

And if you'd rather skip the manual setup entirely, the PostHog Wizard handles instrumentation for you.

Paste one command into Cursor or Claude Code and it detects your framework, installs the right SDK, wraps your client, and gets traces, cost data, and errors flowing in a few minutes.

How is AI observability different from regular APM?

APM tools tell you whether your code is running and how fast. They can see that you made an API call to OpenAI and got a response back. They can't see what the model said, whether it was any good, or how much that specific call cost.

AI observability adds the missing layer: the content of the calls, the quality of the outputs, and the economics of LLM usage.

Do I need evals on day one?

No. At MVP scale, manual review beats automated evals. Open your trace list once a day, read 10-20 random outputs, take notes. You'll learn more about what "good" means for your product in a week of doing this than you would from any rubric.

Once you can't keep up with the volume, that's the signal to set up automated evals.

How much should I expect to spend on observability as a solo founder?

For most MVPs: nothing; even at a few thousand users, you can usually stay on a free or cheap plan. The thing that costs money is the LLM calls themselves – which is exactly why you want cost tracking from day one.

What if I'm just calling OpenAI or Anthropic directly without a framework?

That's actually the easiest case. Most observability tools have a wrapper around the OpenAI/Anthropic SDK that captures everything automatically. You don't need LangChain or any other framework to get full observability.

Do I need separate tools for AI observability and product analytics?

You can have separate tools, but you'll lose the most interesting insights – like whether your AI feature actually drives retention or conversion.

Bundled platforms (PostHog being the obvious example) share a user model across both, so you can ask questions like "do users who use the AI feature stick around longer?" without stitching data sources together.

When should I switch from a free tier to a paid plan?

When you hit one of three triggers:

  1. Your event volume exceeds the free tier
  2. You need a feature that's gated to paid plans (often SSO, EU residency, longer retention)
  3. You need support SLAs to ship to enterprise.

Otherwise, free tier might work fine well into post-PMF.

What's the difference between observability and evaluation?

Observability is about what happened – the traces, costs, latency, errors. It's descriptive. Evaluation is about whether what happened was good – scoring outputs against quality criteria. It's prescriptive. You need observability before evaluation makes sense: you can't score outputs you can't see.

Subscribe to our newsletter

Product for Engineers

Read by 100,000+ founders and builders

We'll share your email with Substack