HN user

gillh

82 karma

www.coderabbit.ai

Posts44
Comments63
View on HN
www.coderabbit.ai 11mo ago

Why is GPT-5 a generational leap in reasoning?

gillh
1pts0
coderabbit.ai 2y ago

CodeRabbit – The AI-First Code Reviewer

gillh
1pts0
www.fluxninja.com 2y ago

Show HN: Rate limiting, caching and request prioritization for AI apps

gillh
10pts0
blog.fluxninja.com 2y ago

Managing OpenAI Rate Limits with Request Prioritization

gillh
1pts0
blog.fluxninja.com 2y ago

OpenAI client-side rate limits with request prioritization

gillh
2pts0
blog.fluxninja.com 2y ago

CodeRabbit Manages OpenAI Rate Limits with Request Prioritization

gillh
1pts0
coderabbit.ai 2y ago

CodeRabbit: Overcoming LLM limitations to review large pull requests

gillh
1pts0
coderabbit.ai 2y ago

AI and the Future of Code Reviews: A Deep Dive into CodeRabbit

gillh
2pts0
blog.fluxninja.com 2y ago

Observing Much, Achieving Little – The Reliability Paradox

gillh
1pts0
blog.fluxninja.com 2y ago

Observing Much, Achieving Little – The Reliability Paradox

gillh
2pts0
blog.fluxninja.com 2y ago

Observing Much, Achieving Little – The Reliability Paradox

gillh
13pts0
blog.fluxninja.com 2y ago

Rate-Limiting Primer

gillh
11pts0
coderabbit.ai 2y ago

CodeRabbit: AI-Powered Code Reviews

gillh
2pts0
blog.fluxninja.com 2y ago

Traffic Jams in the Cloud: Are Overloads Sabotaging Application’s Reliability?

gillh
4pts0
news.ycombinator.com 2y ago

Dueling AIs: AI reviewing AI generated code

gillh
3pts0
news.ycombinator.com 2y ago

Dueling AIs: AI reviewing AI generated code

gillh
5pts0
github.com 2y ago

Dueling AIs: AI reviewing AI generated code

gillh
4pts1
coderabbit.ai 3y ago

Show HN: Review GitHub PRs with AI/LLMs

gillh
2pts4
blog.fluxninja.com 3y ago

Protecting PostgreSQL with Adaptive Rate Limiting

gillh
4pts0
coderabbit.ai 3y ago

Show HN: AI-driven GitHub PR reviewer

gillh
4pts0
www.usenix.org 3y ago

Prioritized Load Shedding (SRECon'23 APAC Slides) [pdf]

gillh
2pts0
github.com 3y ago

Automate PR Reviews with ChatGPT

gillh
2pts0
github.com 3y ago

Show HN: OpenAI GPT based PR reviewer and summarizer

gillh
1pts1
github.com 3y ago

Show HN: OpenAI based PR reviewer and summarizer

gillh
3pts0
github.com 3y ago

Show HN: ChatGPT Based PR Reviewer and Summarizer

gillh
4pts2
docs.fluxninja.com 3y ago

Reliability “Spectrum”

gillh
3pts0
docs.fluxninja.com 3y ago

Protect Your GraphQL Services with Distributed Rate Limiter

gillh
1pts0
twitter.com 3y ago

Aha moments while building a deep tech startup

gillh
1pts0
github.com 3y ago

Show HN: Reliability-as-Code Platform (Aperture)

gillh
2pts0
docs.fluxninja.com 3y ago

Why Your Service Needs Adaptive Concurrency Limits

gillh
2pts0

Have to provide precise instructions to LLMs to get anything useful.

Instructions for operating the "Holy hand grenade of Antioch" from Monty Python and the Holy Grail are a good example:

''First shalt thou take out the Holy Pin. Then shalt thou count to three, no more, no less. Three shall be the number thou shalt count, and the number of the counting shall be three. Four shalt thou not count, neither count thou two, excepting that thou then proceed to three. Five is right out. Once the number three, being the third number, be reached, then lobbest thou thy Holy Hand Grenade of Antioch towards thy foe, who, being naughty in My sight, shall snuff it.'

I see that the handful of Ellipsis "buddies" here are upvoting your post. :)

CodeRabbit employees wouldn't usually be commenting here to spoil your "moment," but this reply is entirely wrong on so many levels. The fact is that CR is much further along the traction (several hundred paying customers and thousands of GitHub app installs) and product quality. Most of the CR clones are just copying the CR UX (and it's OSS prompts) at this point, including Ellipsis. The chat feature at CR is also pretty advanced - it even comes with a sandbox environment to execute AI-generated shell commands that help it deep dive into the codebase.

Again, I am sorry that we had to push back on this reply; we usually don't respond to competitors - but this statement was plain wrong, so we had to flag it.

Anyone looking to build a practical solution that involves weighted-fair queueing for request prioritization and load shedding should check out - https://github.com/fluxninja/aperture

The overload problem is quite common in generative AI apps, necessitating a sophisticated approach. Even when using external models (e.g. by OpenAI), the developers have to deal with overloads in the form of service rate limits imposed by those providers. Here is a blog post that shares how Aperture helps manage OpenAI gpt-4 overload with WFQ scheduling - https://blog.fluxninja.com/blog/coderabbit-openai-rate-limit...

Interesting use-case: We recently started using ast-grep at CodeRabbit[0] to review pull request changes with AI.

We use gpt-4 to generate ast-grep patterns to deep-dive and verify pull-request integrity. We just rolled this feature out 3 days back and are getting excellent results!

Comments such as these are powered by AI-generate ast-grep queries: https://github.com/amorphie/contract/pull/100#discussion_r14...

[0] https://coderabbit.ai

FluxNinja [0] founder here. I developed an in-house AI-based code review tool [1] that CodeRabbit is now commercializing [2].

I did it because of the increasing frustration due to the time-consuming, manual code review process. We tried several techniques to improve velocity - e.g., stacked pull requests, but the AI tool helped the most.

[0] https://www.fluxninja.com

[1] https://github.com/coderabbitai/ai-pr-reviewer

[2] https://coderabbit.ai

We haven’t used functions as our text parsing has been pretty high fidelity so far. It’s because we provide an example of the format that we expect. We didn’t feel like fighting too hard with LLMs to get structured output. You will also notice that our input format is not structured as well. Instead of unidiff format we provide the AI side-by-side diff with line number annotations so the it can comment accurately - this is similar to how humans want to look at diffs.

Our OSS code is far behind our proprietary version. We have a lot more going on over there and we don’t use functions in that version as well.

We have been doing this at CodeRabbit[0] for incrementally reviewing PRs and allowing conversations in the context of code changes, giving the impression that the bot has much more context than it has. It's one of the few tricks we use to scale the AI to code review even large PRs (100+ files).

For each commit, we summarize diff for each file. Then, we create a summary of summaries, which is incrementally updated as further commits are made on a pull request. This summary of summaries is saved, hidden inside a comment on a pull request, and is used while reviewing each file and answering the user's queries.

Some of our code is in the open source. Here is the link to the relevant prompt for recursive summarization - https://github.com/coderabbitai/ai-pr-reviewer/blob/main/src...

[0]: coderabbit.ai

Fascinating historical insight!

We have a team of 20 engineers currently working on solving this problem in the context of API requests and service chains. Do you know JMS @ Penn? Asking because he did some work in ATM networks, QoS etc. He is advising us on the project.

This is the link to the project: https://github.com/fluxninja/aperture

We built a weighted-fair queueing scheduler as well - https://docs.fluxninja.com/concepts/scheduler/load-scheduler

Very interesting blog post! Our team has been working intensively in this area for the last couple of years - flow control, load shedding, controllability (PID control), and so on.

We have open-sourced our work at - https://github.com/fluxninja/aperture

We also did a Twitter Spaces discussion with Kelsey earlier today - https://twitter.com/kelseyhightower/status/16893552848026296...

We would love feedback from folks reading this blog post!

Disclaimer: I am one of the co-authors of the Aperture project. There are several interesting ideas we have built into this project, and I will be happy to dive into the technical details as well.

Very interesting blog post! Our team has been working intensively in this area for the last couple of years - flow control, load shedding, controllability (PID control), and so on.

We have open-sourced our work at - https://github.com/fluxninja/aperture

We would love feedback from folks reading this blog post!

Disclaimer: I am one of the co-authors of the Aperture project. There are several interesting ideas we have built into this project and I will be happy to dive into the technical details as well.

While the tech these companies built (stateful reconstruction) is quite hard to engineer, large-scale observability platforms like Datadog were much more successful as they could cover a much larger surface area with minimal incremental effort. Even APM companies like New Relic and AppD struggled to justify the value they were delivering with their well-engineered code-level agents in the face of large-scale server/process metrics collection done by the Datadog agent.

In addition, these techniques have been prone to event misses (partial reconstruction) in case the ring buffer overflows and are ineffective in the face of SSL traffic.

Good observation. We were able to prevent issues due to limited context by sending the entire file in the prompt and the results were pretty amazing. We eventually reverted the change due to 2 reasons -

1. Limited tokens: 8K tokens is sometimes not enough to hold the entire file. Perhaps 32K tokens (or 100K Claude2 tokens) can help circumvent this.

2. Cost: GPT-4 is super expensive. Our current usage is roughly $20 a day but when we send files the usage shot up to $60 a day or so.

Our hope is that both the cost and token limit improve in the future so that we can send the entire file in each review request.

Look at all these super knowledgeable “engineers” down voting this.

Load shedding is exactly what would prevent this in the future, scaling up capacity and adding a cache is only going to help buy some time.

Wish I could have a dollar for each time SREs duct tape rather than solve problems with systems thinking.