Lanzamiento HN: Greptile (YC W24) - RAG sobre bases de código que realmente funciona

Una nueva herramienta llamada Greptile aplica generación aumentada por recuperación (RAG) a bases de código completas para que los desarrolladores puedan hacer preguntas en lenguaje natural sobre proyectos y obtener respuestas con contexto, desde cómo se serializan tipos específicos hasta cómo interactúan distintos componentes. Los comentaristas están intrigados por su potencial para la comprensión de código, la integración con IDEs y su uso en repos grandes o multilenguaje, pero expresan preocupaciones sobre la fiabilidad a escala, los permisos de GitHub, la privacidad de los embeddings, la falta de metadatos como issues/PRs y la madurez del producto dada la existencia de caídas y errores durante el lanzamiento. Varios la comparan con herramientas existentes como Cursor, Cody y Bloop, y piden funciones como autoalojamiento, mejores flujos locales y soporte para más repositorios públicos y fuentes de documentación.

Producto y enfoque principal

  • La herramienta ofrece “RAG sobre bases de código”: usa ASTs (mediante tree‑sitter), embeddings y LLMs para responder preguntas sobre repos completos.
  • Se centra en la comprensión de código y en sustituir o complementar la documentación interna, no principalmente en la generación de código (aunque los usuarios sí la usan para generar código).
  • Actualmente indexa solo código; planea añadir mensajes de commits, PRs, issues, comentarios y un mejor uso de los comentarios de documentación.

Experiencias de usuarios y casos de uso

  • Informes positivos: respondió preguntas matizadas sobre frameworks (por ejemplo, la codificación JSON de BigDecimal en Rails) de forma que coincidía con lo que los usuarios aprendieron manualmente.
  • Algunos la ven como una ampliación de la ventana de contexto de los LLM para proyectos complejos; hay interés en usarla en grandes repos de Rails y multilenguaje.
  • Los usuarios quieren que ayude a depurar errores de API si el código fuente de la API está disponible.

Integraciones y plataformas

  • Tiene una extensión para VS Code; un plugin para JetBrains está en la hoja de ruta.
  • Demo pública: se pueden consultar unos 100 repos de código abierto sin iniciar sesión.
  • Se requiere una app de GitHub para repos privados; hubo cierta confusión sobre los permisos y la redacción de “act on your behalf”.

Problemas de fiabilidad, rendimiento y UX

  • Muchos informes de errores (“internal error while processing/locating sources”), procesamiento fallido o atascado (a menudo al 99%) y caídas de AWS/DB, especialmente durante el tráfico de HN.
  • Se señalaron fallos en enlaces de repos populares, la interfaz de votación, la selección de rama/repositorio y la marca residual (“Onboard”).
  • El indicador de progreso y la UI de selección de repos se consideran engañosos o poco manejables.

Privacidad, seguridad y autoalojamiento

  • Afirma no almacenar el código después del procesamiento; actualmente guarda embeddings de docstrings generados, con debate sobre que los embeddings pueden filtrar información.
  • Algunos usuarios preferirían almacenamiento explícito del código si mejora la velocidad, y/o versiones completamente locales o autoalojadas.
  • El equipo ve el autoalojamiento y el on‑prem como algo futuro, pero es poco probable que los LLMs se autoalojen en el corto plazo.

Precio, límites y fricción de adopción

  • El nivel gratuito tiene límites de tamaño de repos; los usuarios con grandes conjuntos de prueba tienen dificultades para evaluarlo.
  • Sugerencias: exclusiones estilo .greptileignore, herramientas de versionado de datos y una prueba más flexible (por ejemplo, un repositorio grande).
  • Preocupaciones sobre el uso automático del correo desde GitHub; se pide opción de aceptación explícita y una elección de correo separada.

Posicionamiento y comparaciones

  • Se compara con Bloop, Adrenaline, Cursor y Cody; se presenta como una comprensión de todo el código base más que como un reemplazo del IDE.
  • Varias personas señalan que la jerga “RAG” no se explica o resulta confusa y debería comunicarse mejor.