Skip to main content

Autocompletado y Chat Contextual

Analizamos Code Completion y Chat como capa base de productividad.

1. Definición

  • Completion: Sugerencias en línea (multi‑token) a partir de contexto cercano (ventana de código + modelo de lenguaje).
  • Chat: Interfaz conversacional capaz de razonar con múltiples archivos, historial y herramientas (extensions/skills).

2. GitHub Copilot (Referencia)

AspectoCompletionCopilot Chat
ContextoArchivo actual + buffers abiertosArchivo(s), repo index, símbolos, docs, KB opcional
ProfundidadAlta para patrones repetitivosRazonamiento multi‑paso, preguntas exploratorias
LimitacionesMenor control semántico globalPuede requerir re‑prompting para pasos largos
Valor ClaveVelocidad de escrituraAsistencia explicativa y refactor guiado

Funcionalidades Clave

  • Sugerencias inline y "next edit suggestions" (VSCode).
  • Chat con roles (explicar código, generar tests, refactorizar, crear PR).
  • Skills / Extensions para integrar herramientas externas.

3. Alternativas Principales

HerramientaDiferenciadorRiesgos / Consideraciones
CursorChat side-by-side + agente de refactor multi‑archivo rápidoModelo puede sobregenerar cambios; requiere revisión
Claude CodeRespuestas largas coherentes y segurasMenor integración directa con GitHub PR hoy
CodeiumGratuito para features baseCalidad variable en dominios muy específicos
Sourcegraph CodyComprensión profunda repo grandeConfiguración inicial (index) más compleja
Amazon QIntegración AWS infra y configuraciónRequiere ecosistema AWS para máximo valor

4. Flujo Recomendado (Repositorio Actual)

  1. Abrir archivo objetivo (ej: src/hooks/useFetchData.ts).
  2. Escribir encabezado de función/interface -> aceptar completion si coincide con diseño.
  3. En Chat: "Explica responsabilidades de useFetchData y genera test Vitest (happy + error)".
  4. Revisar resultado, integrar snippet test en src/__tests__/.
  5. Solicitar refactor: "Extrae lógica de reintento a helper separado".

Prompt Base (Chat)

Contexto: Hook useFetchData actual. Quiero añadir soporte a cancelación AbortController y testearlo.
Tareas:
1. Refactor para aceptar signal externo o crear uno interno.
2. Actualizar tipado genérico.
3. Generar test que verifique cancelación.
Formato: diff + explicación corta.

5. Métricas Sugeridas

MétricaCómo medirMeta inicial
Aceptación de sugerencias (%)(# aceptadas)/(# mostradas)25–40%
Latencia mediana (ms)VSCode telemetry / logs< 1200 ms
Tiempo ahorro por story(Estimado manual)≥ 15%
Bugs por cambio asistidoIncidencias QANo superior a baseline

6. Buenas Prácticas

  • Revisar cada completion (no aceptación ciega).
  • Limitar prompts a objetivos concretos (evitar mezcla de 5 tareas heterogéneas).
  • Encadenar: completion para scaffolding + chat para refinar + agente para tareas largas.
  • Añadir contexto relevante (archivos críticos) pegando fragmentos acotados.

7. Decisión de Uso

Usar Copilot como baseline; complementar con Cursor o Cody en repos monolíticos muy grandes o cuando necesitemos refactors multi‑archivo agresivos fuera del modo agente.


Siguiente: coding-agent.md para agentes autónomos y modos de edición.