Remix.run Logo
Show HN: We analyzed 1,573 Claude Code sessions to see how AI agents work(github.com)
101 points by keks0r 4 hours ago | 55 comments

We built rudel.ai after realizing we had no visibility into our own Claude Code sessions. We were using it daily but had no idea which sessions were efficient, why some got abandoned, or whether we were actually improving over time.

So we built an analytics layer for it. After connecting our own sessions, we ended up with a dataset of 1,573 real Claude Code sessions, 15M+ tokens, 270K+ interactions.

Some things we found that surprised us: - Skills were only being used in 4% of our sessions - 26% of sessions are abandoned, most within the first 60 seconds - Session success rate varies significantly by task type (documentation scores highest, refactoring lowest) - Error cascade patterns appear in the first 2 minutes and predict abandonment with reasonable accuracy - There is no meaningful benchmark for 'good' agentic session performance, we are building one.

The tool is free to use and fully open source, happy to answer questions about the data or how we built it.

dmix 2 hours ago | parent | next [-]

I've seen Claude ignore important parts of skills/agent files multiple times. I was running a clean up SKILL.md on a hundred markdown files, manually in small groups of 5, and about half the time it listened and ran the skill as written. The other half it would start trying to understand the codebase looking for markdown stuff for 2min, for no good reason, before reverting back to what the skill said.

LLMs are far from consistent.

cbg0 2 hours ago | parent | next [-]

Try this: Keep your CLAUDE.md as simple as possible, disable skills, and request Opus to start a subagent for each of the files and process at most 10 at a time (so you don't get rate limited) and give it the instructions in the skill for whatever processing you're doing to the markdowns as a prompt, see if that helps.

keks0r 2 hours ago | parent | prev [-]

yes we had to tune the claude.md and the skill trigger quite a bit, to get it much better. But to be honest also 4.6 did improve it quite a bit. Did you run into your issues under 4.5 or 4.6?

dmix 2 hours ago | parent [-]

I was using Sonnet 4.6 since it was a menial task

ericwebb 11 minutes ago | parent | prev | next [-]

I 100% agree that we need tools to understand and audit these workflows for opportunities. Nice work.

TBH, I am very hesitant to upload my CC logs to a third-party service.

evrendom 8 minutes ago | parent [-]

you can host the whole thing locally :)

socialinteldev 2 hours ago | parent | prev | next [-]

We run an API that AI agents use via MCP (Instagram influencer search). From the server side we see the inverse of this study -- what agents do when out in the wild using tools, not coding.

A few data points from two weeks live:

- Agents send well-formed queries with specific parameters (country, gender, follower filters) -- suggests the reasoning chain before tool calls is solid - 50 unique agents hit our 402 response, only 1 converted to paying. The USDC friction kills conversion even when agent intent is clear - Node.js-based MCP clients dominate paid traffic vs Python

Your 26% session abandonment matches something we see: many hits are single 402 responses with no retry. The agent discovers the API, gets the payment requirement, but has no wallet configured to complete the transaction. It is essentially agent session abandonment at the payment step.

Would be curious whether your data shows patterns in external tool call failures vs successes -- whether agents retry on failure or abandon.

avilesrafa an hour ago | parent | next [-]

To clarify, our data set consists solely of Claude Code sessions, specifically those with a human behind them. Rudel AI, in its current form, focuses on "How teams code with AI". We have plans to expland to a larger range of agentic observability use cases.

What tools do you use to run your analysis?

DeltaCoast 15 minutes ago | parent | prev [-]

Can you expand on the USDC friction piece?

sriramgonella 3 hours ago | parent | prev | next [-]

This kind of dataset is really valuable because most conversations about AI coding tools are based on anecdotes rather than actual usage patterns. I’d be curious about a few things from the sessions:

1.how often developers accept vs modify generated code 2.which tasks AI consistently accelerates (tests, refactoring, boilerplate?) 3.whether debugging sessions become longer or shorter with AI assistance

My experience so far is that AI is great for generating code but the real productivity boost comes when it helps navigate large codebases and reason about existing architecture.

keks0r 2 hours ago | parent [-]

1. can only partly be answered, because we can only capture the "edits" that are prompted, vs manual ones. 2. for us actually all of them, since we do everything with ai, and invest heavily and continously, to just reduce the amount of iterations we need on it 3. thats a good one, we dont have anything specific for debugging yet, but it might be an interesting class for a type of session.

Aurornis 2 hours ago | parent | prev | next [-]

> 26% of sessions are abandoned, most within the first 60 seconds

Starting new sessions frequently and using separate new sessions for small tasks is a good practice.

Keeping context clean and focused is a highly effective way to keep the agent on task. Having an up to date AGENTS.md should allow for new sessions to get into simple tasks quickly so you can use single-purpose sessions for small tasks without carrying the baggage of a long past context into them.

sethammons 5 minutes ago | parent | next [-]

this jumped out at me too. What counts as "abandoned"? How do you know the goal was not simply met?

I have longer threads that I don't want to pollute with side quests. I will pull up multiple other chats and ask one or two questions about completely tangential or unrelated things.

longtermemory 2 hours ago | parent | prev [-]

I agree. In my experience: "single-purpose sessions for small tasks" is the key

longtermemory 2 hours ago | parent | prev | next [-]

From session analysis, it would be interesting to understand how crucial the documentation, the level of detail in CLAUDE.md, is. It seems to me that sometimes documentation (that's too long and often out of date) contributes to greater entropy rather than greater efficiency of the model and agent.

It seems to me that sometimes it's better and more effective to remove, clean up, and simplify (both from CLAUDE.md and the code) rather than having everything documented in detail.

Therefore, from session analysis, it would be interesting to identify the relationship between documentation in CLAUDE.md and model efficiency. How often does the developer reject the LLM output in relation to the level of detail in CLAUDE.md?

avilesrafa an hour ago | parent [-]

This is a great idea, documented and added to our roadmap.

dboreham 5 minutes ago | parent | prev | next [-]

One potential reason for sessions being abandoned within 60 seconds in my experience is realizing you forgot to set something in the environment: github token missing, tool set for the language not on the path, etc. Claude doesn't provide elegant ways to fix those things in-session so I'll just exit, fix up and start Claude again. It does have the option to continue a previous session but there's typically no point in these "oops I forgot that" cases.

emehex 3 hours ago | parent | prev | next [-]

For those unaware, Claude Code comes with a built in /insights command...

loopmonster 3 hours ago | parent | next [-]

insights is straight ego fluffing - it just tells you how brilliant you are and the only actionable insights are the ones hardcoded into the skill that appear for everyone. things like be very specific with the success criteria ahead of time (more than any human could ever possibly be), tell the llm exactly what steps to follow to the letter (instead of doing those steps yourself), use more skills (here's an example you can copy paste that has 2 lines and just tells it to be careful), and a couple of actually neat ideas (like having it use playwright to test changes visually after a UI change)

hombre_fatal an hour ago | parent [-]

It gave you a couple neat ideas and you're complaining.

fragmede 30 minutes ago | parent [-]

Some people just can't take a compliment, especially if it's generated. (I'm one of them.) Still, /insight did give useful help, but I wasn't able to target it to specific repo/sessions.

hombre_fatal 4 minutes ago | parent [-]

Isn't it using the sessions in the cwd where you're running it?

keks0r 3 hours ago | parent | prev | next [-]

Ohh this is exciting, I kinda overlooked it. I assume there are still a lot of differences, especially for accross teams. But I immediately ran it, when I saw your comment. Actually still running.

evrendom 2 hours ago | parent | prev [-]

true, the best comes out of it when one uses claude code and codex as a tag team

mbesto 2 hours ago | parent | prev | next [-]

So what conclusions have you drawn or could a person reasonably draw with this data?

avilesrafa an hour ago | parent [-]

Hey, here is Rafa, another Rudel AI developer. The ultimate goal is to make developers more productive. Suddenly, we had everyone having dozens of sessions per day, producing 10X more code, we were having 10X more activity but not necessarily 10X productivity.

With this data, you can measure if you are spending too many tokens on sessions, how successful sessions are, and what makes them successful. Developers can also share individual sessions where they struggle with their peers and share learnings and avoid errors that others have had.

ekropotin 3 hours ago | parent | prev | next [-]

> That's it. Your Claude Code sessions will now be uploaded automatically.

No, thanks

keks0r 3 hours ago | parent [-]

It will be only enabled for the repo where you called the `enable` command. Or use the cli `upload` command for specific sessions.

Or you can run your own instance, but we will need to add docs, on how to control the endpoint properly in the CLI.

tgtweak 3 hours ago | parent [-]

Big ask to expect people to upload their claude code sessions verbatim to a third party with nothing on site about how it's stored, who has access to it, who they are... etc.

keks0r 2 hours ago | parent [-]

We dont expect anything, we put it out there, and we might be able to build trust as well, but maybe you dont trust us, thats fair. You can still run it yourself. We are happy about everyone trying it out, either hosted or not. We are hosting it, just to make it easier for people that want to try it, but you dont have to. But you have a good point, we should probably put more about this on the website. Thanks.

152334H 3 hours ago | parent | prev | next [-]

is there a reason, other than general faith in humanity, to assume those '1573 sessions' are real?

I do not see any link or source for the data. I assume it is to remain closed, if it exists.

languid-photic 2 hours ago | parent | next [-]

it's reasonable to note that w/o sharing the data these findings can't be audited or built upon

but i think the prior on 'this team fabricated these findings' is v low

keks0r 3 hours ago | parent | prev [-]

Its our own sessions, from our team, over the last 3 months. We used them to develop the product and learn about our usage. You are right, they will remain closed. But I am happy to share aggregated information, if you have specific questions about the dataset.

blef 3 hours ago | parent | prev | next [-]

Reminds me https://www.agentsview.io/.

mentalgear 2 hours ago | parent | next [-]

> A local-first desktop and web app for browsing, searching, and analyzing your past AI coding sessions. See what your agents actually did across every project.

Thx for the link - sounds great !

keks0r 3 hours ago | parent | prev [-]

Our focus is a little bit more cross team, and in our internal version, we have also some continuous improvement monitoring, which we will probably release as well.

KaiserPister 3 hours ago | parent | prev | next [-]

This is awesome! I’m working on the Open Prompt Initiative as a way for open source to share prompting knowledge.

keks0r 3 hours ago | parent [-]

Cool, whats the link? We have some learnings, especially in the "Skill guiding" part of our example.

marconardus 3 hours ago | parent | prev | next [-]

It might be worthwhile to include some of an example run in your readme.

I scrolled through and didn’t see enough to justify installing and running a thing

keks0r 3 hours ago | parent [-]

Ah sorry, the readme is more about how to run the repo. The "product" information is rather on the website: https://rudel.ai

alyxya 3 hours ago | parent | prev | next [-]

Why does it need login and cloud upload? A local cli tool analyzing logs should be sufficient.

keks0r 3 hours ago | parent [-]

We used it across the team, and when you want to bring metrics together across multiple people, its easier on a server, than local.

anthonySs 3 hours ago | parent | prev | next [-]

is this observability for your claude code calls or specifically for high level insights like skill usage?

would love to know your actual day to day use case for what you built

keks0r 2 hours ago | parent [-]

the skill usage was one of these "I am wondering about...." things, and we just prompted it into the dashboard to undertand it. We have some of these "hunches" where its easier to analyze having sessions from everyone together to understand similarities as well as differences. And we answered a few of those kinda one off questions this way. Ongoing, we are also using a lot our "learning" tracking, which is not really usable right now, because it integrates with a few of our other things, but we are planning to release it also soon. Also the single session view sometimes helps to debug a sessions, and then better guide a "learning". So its a mix of different things, since we have multiple projects, we can even derive how much we are working on each project, and it kinda maps better than our Linear points :)

mentalgear 2 hours ago | parent | prev | next [-]

How diverse is your dataset?

keks0r 2 hours ago | parent [-]

Team of 4 engineers, 1 data & business person, 1 design engineer.

I would say roughly equal amount of sessions between them (very roughly)

Also maybe 40% of coding sessions in large brownfield project. 50% greenfield, and remaining 10% non coding tasks.

cluckindan 4 hours ago | parent | prev | next [-]

Nice. Now, to vibe myself a locally hosted alternative.

vidarh 3 hours ago | parent | next [-]

I was about to say they have a self-hosting guide, but I see they use third party services that seem absolutely pointless for such a tiny dataset. For comparison, I have a project that happily analyzes 150 million tokens worth of Claude session data w/some basic caching in plain text files on a $300 mini pc in seconds... If/when I reach billions, I might throw Sqlite into the stack. Maybe once I reach tens of billions, something bigger will be worthwhile.

keks0r 3 hours ago | parent [-]

There is also a docker setup in there to run everything locally.

vidarh 3 hours ago | parent [-]

That's great. It's still over-engineered given processing this data in-process is more than fast enough at a scale far greater than theirs.

keks0r 3 hours ago | parent | prev [-]

The docker-compose contain everything you should need: https://github.com/obsessiondb/rudel/blob/main/docker-compos...

lau_chan 4 hours ago | parent | prev | next [-]

Does it work for Codex?

keks0r 3 hours ago | parent [-]

Yes we added codex support, but its not yet extensively tested. Session upload works, but we kinda have to still QA all the analytics extraction.

vova_hn2 3 hours ago | parent | prev [-]

This is so sad that on top of black box LLMs we also build all these tools that are pretty much black box as well.

It became very hard to understand what exactly is sent to LLM as input/context and how exactly is the output processed.

keks0r 3 hours ago | parent [-]

The tool does have a quite detailed view for individual sessions. Which allows you to understand input and output much better, but obviously its still mysterious how the output is generated from that input.