Quién les habla

José Miguel Amaya — 15+ años construyendo software

  • CTO y socio fundador de Xprende Tech (Quito). Full Stack Engineer en Efilm Online.
  • Fundador de Piura AI, Tallanix, Python Piura y VICUX.
  • Especialista en Python, Django/FastAPI e IA (LangChain, LangGraph, RAG).
  • Hace 5 meses integré opencode a mi trabajo diario. Hoy es mi forma de trabajar.
comunidad
empresa
Antes de empezar · la herramienta

opencode: el agente de código, open source

Licencia · open source
MIT

El agente de código abierto. Hoy: más de 200.000 estrellas en GitHub.

Terminal primero
la TUI

Vive en tu terminal. También hay app de escritorio y extensión de IDE.

Trae tu modelo
agnóstico

Anthropic, OpenAI, Google o un modelo local. Tú eliges; no estás atado a nadie.

Corre en tu máquina
tus permisos

Tus archivos y tus llaves se quedan contigo. Nada sale si no lo autorizas.

curl -fsSL https://opencode.ai/install | bash

No es un chat: es un agente que lee, edita y ejecuta en tu repo.

Antes de empezar · cómo funciona

Una TUI, un servidor y tus herramientas

1

Tú

el prompt
›
2

TUI

cliente
›
3

Servidor

local · OpenAPI
›
4

Modelo + tools

read · edit · bash
›
5

Tu repo

archivos y git
Cliente / servidor
local

La TUI es el cliente: habla con un servidor HTTP local.

Sesiones
con memoria

Cada hilo es una sesión; se guarda en tu máquina.

Agentes
build / plan

Dos modos con Tab: build edita, plan solo lee. Tú apruebas cada acción sensible.

Se autocorrige · LSP
diagnósticos

Con lsp: true, los errores del editor vuelven al agente y se corrige solo.

El mismo esqueleto que después armé a mi manera.

28 de abril de 2026 · mi curva real

Empecé gratis, entendiendo código. En dos meses, 1.320 sesiones.

28 abr 2026 · el día 1
Primera sesión
14:23

un backend viejo · sin plan mode ni skills.

Primer modelo
gratis

minimax-m2.5-free. Probé gratis antes de pagar.

Mi primer prompt
“Analiza y explícame”

Le pedí que entendiera, no que escribiera.

Abril fue la duda. Mayo y junio, la explosión. Agosto bajó: no por trabajar menos, sino por trabajar mejor.

El salto de modelo, en datos

Probé 21 modelos. Ninguno arregló el fondo.

El que se quedó
2.795 sesiones

con deepseek-v4-flash. Dejé de saltar de modelo; la palanca no estaba ahí.

Lección
contexto > modelo

El agente fallaba por falta de contexto y verificación, no por “tonto”.

“21 modelos. Ninguno arregló el fondo”

En mayo y junio probé un modelo distinto casi cada día: 2.406 sesiones. La más cara, $25,55, una auditoría que se descarriló. Sin spec ni contexto, el modelo da igual.

La decisión que lo cambió todo

Un proyecto nuevo desde cero

El 15 de junio abrí un backend nuevo. En lugar de improvisar, monté el método que me faltó en mayo:

1

AGENTS.md del repo

154 líneas: cómo se corre, cómo se prueba y qué convenciones sigue. El detalle vive en PRPs/ y Linear.

2

PRP por feature

001 fundación y 002 catálogo: criterios con casillas y gotchas. En otro repo, ya llevo 159.

3

Skills adoptadas

prp-manager, tdd, code-reviewer. Las instalo con skills.sh y las fijo en skills-lock.json.

4

Verificación que corre el agente

make test, ruff y mypy sin errores nuevos. Si no pasa, no cuenta.

860 sesiones después, es mi proyecto mejor organizado. No por el modelo: por el orden. A ese orden lo llamo el arnés: lo que yo armo alrededor de opencode.

El arnés por dentro

Guías y sensores: las dos palancas del arnés

Guías para que acierte a la primera. Sensores para que se corrija antes de que yo mire.

Guías · antes

Evitan el error antes de que ocurra.

  • AGENTS.md que enlaza
  • PRP por feature
  • Empezar en plan · skills
Sensores · después

Lo corrigen antes de que yo lo mire.

  • make test · ruff · mypy computacional
  • Subagente reviewer inferencial
  • Revisión humana del PR inferencial
Acierta a la primera y se corrige solo. Por eso el modelo da igual: el criterio vive en tus guías y sensores.
Cómo fluye una sesión

Del código a un PR, en siete pasos

1

Entender

codegraph explore
›
2

Planificar

modo plan
›
3

Especificar

PRPs/00N--…
›
4

Construir

modo build
›
5

Verificar

make test · ruff · mypy
›
6

Revisar

subagente reviewer
›
7

Entregar

gh pr create + humano

No es un método de libro: es el orden que me funcionó. Cuando el paso 1 y el 3 están firmes, el resto casi se cuida solo.

Cómo trabajo hoy · agentes

Empiezo en plan, no en build

plan
659

solo lee y diseña

build
1.528

implementa y verifica

explore · subagente
1.656

investiga en un contexto aparte

build y plan son los agentes primarios; se alternan con Tab.

En septiembre, por primera vez, plan (281) superó a build (161). Dejé de construir tanto y empecé a dirigir.

Subagentes

Delego: un subagente investiga aparte y me devuelve el resumen

1

Le pido

task: explore / general

2

Trabaja en su contexto

lee 40 archivos, sin ensuciar el mío

3

Me devuelve

3 conclusiones, no el ruido

2.382

subagentes lanzados en 5 meses. Mi sesión principal no se ahoga: recibo la conclusión, no el ruido.

El contexto y su límite

Un AGENTS.md por repo. Mi config global está vacía.

El bueno
154 líneas

Enlaces, no historia: cómo se corre, cómo se prueba y qué convenciones sigue. Se crea con /init.

La deuda
734 líneas

Un AGENTS.md que intenta contarlo todo. Menos archivo, más enlaces.

El detalle vive en PRPs/ y en Linear, no en el AGENTS.md.

Compaction
/compact

Cuando una sesión se acerca al límite, opencode la resume y sigue. Yo lo llamo a mano antes de que se ahogue.

Ventana nueva
/new

Cambio de tarea, cambio de sesión. El contexto viejo no ayuda: estorba.

Ojo con el resumen
pierde detalle

Compaction libera espacio, no guarda la verdad. Lo que importa vive en el AGENTS.md o en el PRP, que son texto en el repo.

La especificación

230 sesiones con PRP. 159 en un repo.

Sesiones con PRP
230

en el título

PRPs en un solo repo
159

001 a 159, en un repo

Un PRP es un contrato con casillas: objetivo, criterios de éxito, gotchas y qué no romper. El nombre lleva el issue: PRPs/007--fix-target-tests.md.

Las manos · leer el código

Codegraph: leer código dejó de ser el cuello de botella

Un mapa, no un texto

Nodos: funciones, clases, métodos. Aristas: quién llama a quién.

Se indexa una vez

codegraph init deja el grafo en .codegraph/, en tu máquina.

Se pregunta en tu idioma

Una consulta devuelve símbolos y su ruta de llamada, no 40 archivos.

Es un servidor MCP

Por defecto explore; node, callers e impact, on-demand. Se habilita por agente.

Antes: grep y abrir archivo por archivo. Ahora: una consulta.

Mi repertorio

No uso una skill: uso 16, en 8 familias

Una skill es una carpeta con instrucciones y scripts que el agente carga cuando la tarea encaja. Filtra por familia.

CLI vs MCP

83.140 comandos de shell. 1.667 consultas a codegraph.

Antes de tu primer prompt
hasta ~50%

Un puñado de servidores MCP carga sus herramientas al contexto; lo pagas en cada request, los uses o no.

Mi regla
CLI primero

gh, docker, psql, pytest ya están autenticados y no cargan nada hasta que los llamo.

MCP
solo lo justo

MCP conecta herramientas externas al agente. codegraph (leer código) y Linear (issues); se habilitan por agente.

MCP por excepción, no por costumbre. Se habilita por agente, para que solo pague contexto quien lo usa.

Mis números, sin maquillaje

Cinco meses en una pantalla

Sesiones
4.341

28 abr – 30 sep

Tool calls
285.000

acciones reales

Tokens entrada
990 M

≈ 990 millones

Costo total
$463

≈ $0,11 por sesión

Días activos
124

de 156 posibles

Modelos
21

probados

Proyectos
20

repos tocados

Sesión más cara
$25.55

auditoría Vue 2

Caché leída
24.400 M

25× lo que envié (990 M)

En deepseek
hasta 50×

más barato que un token nuevo

El costo no está en el modelo: está en cuánto contexto reenvías.

¿Ahorré tiempo o lo perdí?

La eficiencia no es menos sesiones: es menos correcciones

Mayo · pico
1.086

sesiones y mucho retrabajo. Velocidad sin método: sentía ir rápido y corregía el doble.

Septiembre · método
649

menos sesiones, plan > build, PRPs y codegraph. Cada sesión apunta mejor.

Costo real
$463

cinco meses, veinte proyectos. ≈ $0,11 por sesión. Menos que una hora de desarrollo.

No bajé el número de sesiones porque trabajara menos: subí la calidad de cada una. Eso es el arnés.

Lecciones honestas

Los tres errores que me costaron mayo

Si volviera al 28 de abril, no cambiaría el modelo: cambiaría estas tres cosas.

1

Creí que era el modelo

Cambiaba de modelo casi cada día, sin darle contexto ni verificación.

2

Escribí un AGENTS.md que lo contaba todo

734 líneas de deuda. Hoy enlaza, no explica.

3

Confundí velocidad con avance

1.086 sesiones en mayo y el doble de correcciones.

Ninguno se arreglaba con un modelo mejor. Los tres, con orden.

Preguntas incómodas

Las que siempre me hacen

¿La IA me va a reemplazar?

No en tu trabajo, sí en tus tareas. El agente propone; el merge lo firmas tú. La responsabilidad no se delega.

¿Esto es solo para seniors?

Al contrario. El arnés obliga a escribir contexto y convenciones, que es donde se aprende.

¿Y el código de mis clientes?

opencode corre en tu máquina. Tú controlas permisos, MCP y contexto. Nada sale si no lo autorizas.

¿Tengo que pagar mucho?

Empecé gratis y terminé en once centavos por sesión. El arnés se arma con archivos de texto.

Para el lunes · lo que yo haría

El arnés mínimo: tres archivos.

No necesitas 21 modelos ni 16 skills. Necesitas tres archivos que puedes crear hoy.

AGENTS.md
guía

Se genera con /init: las reglas del repo — cómo se corre, cómo se prueba y qué convenciones sigue.

Makefile
sensor

La verificación que corre el agente: make test, ruff y mypy. Si no pasa, no cuenta.

skills-lock.json
guía

Una skill adoptada con skills.sh y fijada en el lockfile: casi ninguna la escribirás tú. Así tu equipo hereda la misma.

Empieza por tu repo, no por el prompt perfecto.

Escena post-créditos

¿Dejé de programar?

Levanten la mano.

Escena post-créditos

Dejé de programar. Dejé de codificar.

Programar

Decidir qué construir, por qué y con qué límites.

Expresar intención. Eso lo sigo haciendo yo.

Codificar

Traducir esa intención a sintaxis que la máquina ejecuta.

Eso lo delegué: lo hace el agente.

von Neumann y Goldstine (1947) ya separaron planning de coding. Y Grace Hopper: la función del coder es «la primera operación humana que reemplaza la computadora».

Delegué codificar. Programar sigue siendo mío.

Escena post-créditos

El panorama cambió.

Adopción
90%

usa IA en su trabajo; 71% de quienes escriben código la usa para escribir código.

Confianza
46%

desconfía del output de la IA; solo 33% confía. Los senior, los más cautos.

El nuevo lenguaje
“en inglés”

Software 3.0: programamos computadoras en lenguaje natural; el agente genera, el humano verifica.

El agente teclea. Yo decido y verifico. El criterio no se alquila.

Nunca dejé de programar.
Solo dejé de teclear.

El modelo se alquila. El criterio no.

Gracias.

José Miguel Amaya Camacho
linkedin.com/in/miguelamaya99 · github.com/joseamaya · joseamaya.github.io