Ultimately, Greptile found success by implementing a clustering approach. They generated vector embeddings of past comments and stored them in a vector database, allowing them to filter out comments similar to those that had been downvoted by developers. This method significantly improved the address rate of comments from 19% to over 55%, demonstrating a substantial reduction in noise. The clustering technique allowed the bot to learn and adapt to team-specific standards, proving to be the most effective solution in managing the LLM's output and enhancing the overall user experience.
Key takeaways:
- Greptile initially faced issues with its AI code review bot generating too many comments, leading to user complaints and ignored feedback.
- Attempts to reduce nit comments through prompt engineering and using LLMs as evaluators were unsuccessful.
- The realization that nits are subjective led to the development of a clustering approach using vector embeddings to filter comments based on team-specific feedback.
- The clustering method significantly improved the address rate of comments from 19% to over 55%, demonstrating its effectiveness in reducing noise.