Enginyeria agèntica: com treballar amb agents de codi
Guia pràctica de l’enginyeria agèntica: context, agents en paral·lel, entorns aïllats, proves, revisió humana i límits de seguretat.
El vídeo de David Ondrej conversa amb Thorsten Ball, enginyer fundador d’Amp i autor de llibres sobre Go, sobre una manera de desenvolupar programari en què els agents d’IA deixen de ser un simple autocompletat i passen a executar tasques completes. El títol original parla d’un «desenvolupador 10x», però aquesta és una fórmula promocional: el valor real de la conversa és el procés de treball que mostra i els controls que encara cal conservar.
Resposta ràpida: què és l’enginyeria agèntica?
L’enginyeria agèntica consisteix a definir un resultat, donar a un agent el context i les eines necessàries, deixar-lo investigar, modificar codi i verificar la feina en un entorn aïllat, i revisar després les proves que aporta. La persona no desapareix del procés: canvia de picar cada línia a decidir el problema, especificar els límits, validar l’arquitectura i assumir la decisió final.
La idea es pot resumir així:
- descriure el resultat i els criteris d’acceptació;
- assenyalar on és la informació fiable;
- delegar la implementació en un entorn separat;
- exigir proves reproduïbles;
- revisar els riscos i les decisions importants;
- integrar només si passen els controls independents.
No és «vibe coding» sense supervisió. És una disciplina de delegació tècnica amb traçabilitat.
Les sis idees principals del vídeo
| Idea de la conversa | Lectura pràctica |
|---|---|
| El context pesa més que els trucs de prompt | Cal aportar requisits, fitxers de referència, restriccions i exemples |
| Els agents poden treballar de manera asíncrona | Una persona pot dirigir diverses tasques sense esperar cada pas |
| Un entorn remot redueix el risc sobre l’ordinador local | Cada canvi ha de tenir un espai aïllat, credencials mínimes i una sortida revisable |
| Les captures, vídeos i proves són part del lliurament | L’agent no només ha de dir que funciona: ho ha de demostrar |
| El criteri de producte guanya importància | Decidir què construir i què no construir continua sent humà |
| El codi és més barat, però el canvi no és gratuït | Integració, manteniment, seguretat, operació i responsabilitat continuen costant |
El context és més important que el “prompt perfecte”
Ball proposa una metàfora útil: imaginem una enginyera molt experimentada que arriba a una habitació desconeguda amb un repositori, un terminal i una instrucció. Encara que sàpiga molt de programació, no pot endevinar les regles internes del negoci, les decisions d’arquitectura o el comportament exacte que espera l’equip.
Per això, una petició com «porta aquesta funció a la CLI» és massa pobra. Una especificació útil hauria d’incloure:
- la implementació actual que s’ha de prendre com a referència;
- el flux d’usuari esperat;
- els fitxers o components probablement afectats;
- les compatibilitats que no es poden trencar;
- els casos límit;
- les proves que han de passar;
- la forma en què s’ha de presentar el resultat.
Un fitxer AGENTS.md, la documentació del repositori i els exemples reals poden convertir coneixement tàcit en context reutilitzable. La documentació oficial d’Amp també descriu instruccions condicionades per rutes, referències a converses anteriors i projectes vinculats a repositoris. El principi, però, és independent de l’eina: si la informació crítica només és al cap d’una persona, l’agent treballarà amb buits.
De la sessió local a la unitat de treball aïllada
La demostració utilitza els orbs d’Amp: màquines remotes associades a una conversa i a un canvi. Segons la documentació del producte, poden conservar el fil, els fitxers modificats, el terminal i una previsualització executable. L’equip pot compartir aquesta unitat de treball i reprendre-la des d’un altre dispositiu.
Aquest patró té avantatges reals:
- les dependències i els processos de l’agent no embruten l’ordinador principal;
- cada tasca pot tenir el seu propi checkout o branca;
- una feina llarga pot continuar mentre la persona en dirigeix una altra;
- el resultat conserva el context de per què es va fer el canvi;
- una altra persona pot obrir la previsualització abans d’integrar-lo.
Tanmateix, «remot» no vol dir automàticament «segur». Un entorn aïllat encara pot tenir secrets, accés a xarxa o permisos sobre serveis reals. Cal limitar credencials, separar desenvolupament i producció, registrar accions i destruir els entorns temporals quan deixin de ser necessaris.
Paral·lelitzar sense crear una cua de conflictes
El vídeo mostra un metaagent que pot iniciar altres agents: si una tasca descobreix un error independent, n’obre una altra en un entorn separat i continua. Això redueix el temps de calendari, però la concurrència té un límit.
Abans d’obrir cinc agents alhora, convé dividir el treball per fronteres clares:
| Tasca adequada per paral·lelitzar | Tasca que demana coordinació |
|---|---|
| investigar una API externa | canviar el mateix esquema de dades |
| preparar proves d’un mòdul estable | editar els mateixos fitxers centrals |
| auditar accessibilitat | redefinir una interfície compartida |
| crear una previsualització visual | desplegar a producció |
| documentar un canvi ja tancat | resoldre una decisió d’arquitectura oberta |
Cada agent hauria de tenir un propietari, un abast, una branca o espai propi i una definició de “fet”. Sense aquestes fronteres, la velocitat aparent es converteix en conflictes de fusió, proves duplicades i decisions incompatibles.
Les proves han de formar part del lliurament
Ball insisteix a demanar captures, previsualitzacions i proves de punta a punta. És una bona pràctica perquè obliga l’agent a contrastar el resultat amb un sistema real, no només amb la seva pròpia explicació.
Per a una interfície, el paquet de proves pot incloure:
- captura en escriptori i mòbil;
- modes clar i fosc;
- estats buit, carregant, error i èxit;
- navegació amb teclat;
- comprovació visual després de compilar.
Per a un servei o una API:
- proves unitàries i d’integració;
- contractes d’entrada i sortida;
- migracions aplicades en una còpia de l’entorn;
- logs sense secrets;
- prova de reversió;
- mesura de rendiment abans i després.
La prova que executa el mateix agent és útil, però no és suficient per si sola: pot compartir els mateixos supòsits equivocats que la implementació. GitHub permet exigir comprovacions d’estat, revisions i proteccions de branca abans de fusionar. Aquests controls externs continuen sent valuosos encara que l’agent ja hagi executat proves dins del seu sandbox.
Revisar decisions, no només línies
Quan el volum de codi generat creix, llegir mecànicament cada línia deixa de ser l’única estratègia possible. Però això no justifica fusionar a cegues. La revisió humana es pot concentrar en:
- la correspondència entre requisit i resultat;
- les fronteres de confiança i els permisos;
- el model de dades i les migracions;
- la gestió d’errors i la possibilitat de revertir;
- les dependències noves;
- els canvis d’API o de comportament;
- la qualitat i independència de les proves.
Un segon agent pot trobar errors o aportar una opinió diferent, però no és equivalent a una aprovació independent. Els models poden repetir patrons semblants, compartir punts cecs o quedar convençuts per una prova incompleta. En canvis sensibles, cal que una persona responsable revisi el risc i que la plataforma impedeixi saltar-se les barreres.
Bases de dades: on l’autonomia necessita més límits
El vídeo inclou un segment patrocinat sobre Supabase Agent Skills. La publicitat afirma que les habilitats ajuden els agents a consultar documentació actual i evitar errors habituals. La documentació oficial de Supabase confirma que aquestes instruccions cobreixen migracions, autenticació i seguretat, i la seva presentació pública adverteix de problemes observats com ometre polítiques RLS, inventar ordres de CLI o crear vistes que poden saltar-se les restriccions.
Això no converteix una habilitat en una garantia. Per a qualsevol canvi de base de dades:
- cal versionar la migració amb el codi;
- provar-la amb dades representatives;
- verificar permisos i polítiques de fila;
- preparar una reversió o una transició compatible;
- evitar donar accés d’escriptura a producció durant el desenvolupament.
Per a canvis incompatibles, el patró expand–migrate–contract permet afegir primer la nova forma, migrar consumidors i dades, i retirar l’antiga només quan ja no s’utilitza. És més lent que un canvi directe, però redueix el radi d’impacte i facilita tornar enrere.
Quines afirmacions s’han de matisar?
La conversa és deliberadament provocadora. Algunes frases descriuen l’experiència o la predicció de Ball, no una conclusió general.
| Afirmació del vídeo | Matís necessari |
|---|---|
| «Els models són morts» | Amp continua seleccionant models i nivells d’esforç; el que pot desaparèixer és que l’usuari n’hagi de gestionar cada detall |
| «El desenvolupament local desapareixerà» | Els entorns remots guanyen pes, però el treball local encara és útil per latència, maquinari, privacitat o credencials |
| «El 99% del codi és d’IA» | És una estimació interna explicada a la conversa, no una auditoria pública ni una mesura transferible |
| «Les gràfiques de contribucions perden valor» | El nombre de línies o commits diu menys sobre l’impacte, però historial, manteniment i revisió continuen sent senyals útils |
| «Un programador amb IA superarà qui no la fa servir» | Depèn del domini, la qualitat del procés, el risc i la capacitat de verificar; la velocitat sola no equival a bon resultat |
| «Els agents poden substituir part de la CI» | Poden avançar verificacions, però les comprovacions independents i reproduïbles abans de fusionar segueixen sent necessàries |
Un procés segur per començar
No cal transformar tot l’equip de cop. Es pot adoptar el model en cinc fases:
1. Escollir una tasca limitada
Començar amb un error reproduïble, una millora visual o una prova que falta. Evitar el primer dia una migració crítica, una reescriptura completa o accés directe a producció.
2. Escriure un contracte curt
Definir resultat, fora d’abast, fitxers de referència, criteris d’acceptació i ordres de verificació. Si hi ha dubtes de producte, resoldre’ls abans de delegar.
3. Aïllar l’execució
Crear una branca o worktree, usar secrets de desenvolupament i limitar permisos. Una tasca, un entorn i un historial clar.
4. Exigir evidència
Demanar el resum del canvi, proves executades, captures quan pertoqui, riscos oberts i instruccions de reproducció. No acceptar «ja funciona» sense artefactes.
5. Aplicar portes d’integració
Executar CI fora del fil de l’agent, revisar els punts sensibles i exigir aprovació per a producció. Després del desplegament, observar errors i conservar un camí de reversió.
Què continua sent responsabilitat humana?
L’agent pot generar moltes variants, però no sap quina mereix existir sense una funció objectiu clara. La persona continua decidint:
- quin problema té valor per a l’usuari;
- quines restriccions són ètiques, legals o comercials;
- quin risc és acceptable;
- quina arquitectura es podrà mantenir;
- quan l’evidència és suficient per publicar;
- qui respon si el sistema falla.
El canvi profund no és que «ja no cal programar», sinó que una part més gran de l’ofici passa de produir instruccions de baix nivell a formular, dirigir, inspeccionar i operar sistemes de treball automatitzat.
Preguntes freqüents
L’enginyeria agèntica és el mateix que fer servir un xat d’IA?
No. Un xat pot proposar codi; un agent treballa amb eines, fitxers, terminal i navegador, pot executar passos i retorna artefactes. L’enginyeria agèntica afegeix aïllament, especificació, proves, revisió i control d’integració.
Es pot deixar que un agent desplegui directament a producció?
Tècnicament sí, però només amb permisos mínims, polítiques explícites, comprovacions automàtiques, registre d’accions i reversió. Per a canvis sensibles, és preferible una aprovació humana abans del desplegament.
Cal revisar tot el codi generat?
El nivell de revisió ha de seguir el risc. Una còpia de text i una migració de dades no mereixen el mateix tractament. Sempre cal entendre l’efecte del canvi, revisar les zones crítiques i disposar de proves independents.
Quina és la millor eina d’agent de codi?
Depèn del repositori, els models disponibles, el cost, l’aïllament, la gestió de secrets i les integracions de l’equip. El vídeo mostra Amp, però el procés descrit es pot aplicar a altres agents capaços de treballar amb eines.
El vídeo és una font neutral?
No del tot. És una entrevista amb un membre fundador d’Amp i conté un segment patrocinat per Supabase. És valuós com a demostració del seu flux de treball, però les dades i les prediccions s’han de contrastar amb documentació i controls independents.
Contrast i context
Fonts consultades
-
01
YouTube — David Ondrej Agentic Engineering, explained by a 10x developer
-
02
Amp Owner’s Manual
-
03
Amp Multiplayer
- 04
- 05
-
06
Supabase Agent Skills
- 07
-
08
GitHub Docs About protected branches
-
09
GitHub Docs Status checks
-
10
Martin Fowler Parallel Change
Font de treball
Transcripció amb marques de temps
Consulta la transcripció
-
0:00
, obre el vídeo en una pestanya nova
I think the models are dead. Those
-
0:01
, obre el vídeo en una pestanya nova
contribution graphs, they're not worth
-
0:03
, obre el vídeo en una pestanya nova
anything anymore. Code is going to get
-
0:05
, obre el vídeo en una pestanya nova
so cheap. You tell me somebody reports a
-
0:07
, obre el vídeo en una pestanya nova
bug and then you park it somewhere until
-
0:10
, obre el vídeo en una pestanya nova
somebody thinks they have time to look
-
0:12
, obre el vídeo en una pestanya nova
at it and then what? Then they spawn an
-
0:15
, obre el vídeo en una pestanya nova
agent. The agents are already running
-
0:17
, obre el vídeo en una pestanya nova
the tests for you.
-
0:18
, obre el vídeo en una pestanya nova
>> You can get a lot of speed by leaning
-
0:19
, obre el vídeo en una pestanya nova
into this. People say, "Oh, Amp is taste
-
0:22
, obre el vídeo en una pestanya nova
like they say this is polished." But the
-
0:24
, obre el vídeo en una pestanya nova
fact is that 99% is written by AI.
-
0:28
, obre el vídeo en una pestanya nova
>> This is Furstenball, a founding engineer
-
0:30
, obre el vídeo en una pestanya nova
at Amp and the author of the famous Go
-
0:33
, obre el vídeo en una pestanya nova
books. In this podcast, we discuss why
-
0:35
, obre el vídeo en una pestanya nova
everything needs a CLI, whether computer
-
0:37
, obre el vídeo en una pestanya nova
science fundamentals still matter, and
-
0:40
, obre el vídeo en una pestanya nova
why 99% of slope comes from humans and
-
0:43
, obre el vídeo en una pestanya nova
not AI. If you want to be on the
-
0:45
, obre el vídeo en una pestanya nova
frontier of AI coding, watch until the
-
0:47
, obre el vídeo en una pestanya nova
end. This is the David Andre podcast.
-
0:49
, obre el vídeo en una pestanya nova
Enjoy. You know, the people who are
-
0:51
, obre el vídeo en una pestanya nova
still in the 2024-2025
-
0:53
, obre el vídeo en una pestanya nova
era of AI, how do they embrace the new
-
0:56
, obre el vídeo en una pestanya nova
way?
-
0:56
, obre el vídeo en una pestanya nova
>> So, one thing we've been doing from the
-
0:57
, obre el vídeo en una pestanya nova
start with Amp is we cannot stand still.
-
1:00
, obre el vídeo en una pestanya nova
The last 1 and 1/2 years has proven us
-
1:03
, obre el vídeo en una pestanya nova
correct. We could have made a lot more
-
1:06
, obre el vídeo en una pestanya nova
money and gotten a lot more users if we
-
1:09
, obre el vídeo en una pestanya nova
had stuck to a way of working that was
-
1:11
, obre el vídeo en una pestanya nova
maybe prevalent in early 2025. Oh, you
-
1:15
, obre el vídeo en una pestanya nova
have a single agent in a sidebar in VS
-
1:17
, obre el vídeo en una pestanya nova
Code and enterprise customers, they want
-
1:19
, obre el vídeo en una pestanya nova
like a proper permission system and you
-
1:22
, obre el vídeo en una pestanya nova
only run these commands, you know, like
-
1:24
, obre el vídeo en una pestanya nova
all of that stuff. And I want
-
1:25
, obre el vídeo en una pestanya nova
attribution. I want every line of code
-
1:28
, obre el vídeo en una pestanya nova
to be attributable to one instance. It's
-
1:30
, obre el vídeo en una pestanya nova
really important and if we had built
-
1:32
, obre el vídeo en una pestanya nova
this, I think we would have gotten one
-
1:34
, obre el vídeo en una pestanya nova
year of enterprise contracts, made a
-
1:36
, obre el vídeo en una pestanya nova
bunch of money with it, but then after a
-
1:38
, obre el vídeo en una pestanya nova
year, the competition would have been
-
1:39
, obre el vídeo en una pestanya nova
somewhere else. So, with Amp from the
-
1:41
, obre el vídeo en una pestanya nova
start, we said we have to optimize the
-
1:44
, obre el vídeo en una pestanya nova
company, the team, the codebase, and the
-
1:46
, obre el vídeo en una pestanya nova
product to be able to move fast, to shed
-
1:49
, obre el vídeo en una pestanya nova
weight when we think the frontier has
-
1:52
, obre el vídeo en una pestanya nova
moved on again. So, if you look at our,
-
1:54
, obre el vídeo en una pestanya nova
you know, ampcode.com/news,
-
1:57
, obre el vídeo en una pestanya nova
the meme is we constantly killing
-
1:58
, obre el vídeo en una pestanya nova
features because we think they're no
-
2:00
, obre el vídeo en una pestanya nova
longer necessary. And we've been doing
-
2:02
, obre el vídeo en una pestanya nova
this a lot. Like the ultimate thing
-
2:04
, obre el vídeo en una pestanya nova
amcode.com killed, you know, deleted
-
2:06
, obre el vídeo en una pestanya nova
itself, whatever. But they're right. And
-
2:09
, obre el vídeo en una pestanya nova
to give you a concrete example, first we
-
2:11
, obre el vídeo en una pestanya nova
had a VS Code extension and a twee,
-
2:13
, obre el vídeo en una pestanya nova
right? That was par for the course last
-
2:14
, obre el vídeo en una pestanya nova
year. Remember? Like we all have VS Code
-
2:16
, obre el vídeo en una pestanya nova
extensions. And then we said, "No." Like
-
2:19
, obre el vídeo en una pestanya nova
the app the VS Code extension, that's
-
2:20
, obre el vídeo en una pestanya nova
dead. Like it doesn't make sense to have
-
2:22
, obre el vídeo en una pestanya nova
this next to the editor. Who has the
-
2:23
, obre el vídeo en una pestanya nova
editor open anymore? Like yes, the twee
-
2:26
, obre el vídeo en una pestanya nova
is not for everybody, but like let's not
-
2:27
, obre el vídeo en una pestanya nova
get stuck to the editor. But if we would
-
2:30
, obre el vídeo en una pestanya nova
have stayed, we would have kept around
-
2:32
, obre el vídeo en una pestanya nova
users who really like to stay in their
-
2:34
, obre el vídeo en una pestanya nova
comfort zone. And then the question is,
-
2:37
, obre el vídeo en una pestanya nova
"Do you build up an echo chamber for
-
2:38
, obre el vídeo en una pestanya nova
yourself?" So we said, "Let's going to
-
2:39
, obre el vídeo en una pestanya nova
kill it." But um I think most of the
-
2:41
, obre el vídeo en una pestanya nova
time they appreciate us pushing. And we
-
2:44
, obre el vídeo en una pestanya nova
have a lot of customers that actually
-
2:46
, obre el vídeo en una pestanya nova
like to use Amp because they appreciate
-
2:48
, obre el vídeo en una pestanya nova
us doing this. They they ask us. They're
-
2:50
, obre el vídeo en una pestanya nova
like, "Guys, what's the matter? Like
-
2:52
, obre el vídeo en una pestanya nova
what do you guys use? What's the model?
-
2:53
, obre el vídeo en una pestanya nova
How do you prompt, you know?"
-
2:55
, obre el vídeo en una pestanya nova
>> Because it's the research, right? Like
-
2:56
, obre el vídeo en una pestanya nova
you're doing the research, not just the
-
2:57
, obre el vídeo en una pestanya nova
software.
-
2:58
, obre el vídeo en una pestanya nova
>> Exactly. Exactly. Like we the Amp
-
3:00
, obre el vídeo en una pestanya nova
Frontier Corporation, it's the official
-
3:02
, obre el vídeo en una pestanya nova
company name. And one of our things is
-
3:04
, obre el vídeo en una pestanya nova
we got to stay on the frontier. And then
-
3:07
, obre el vídeo en una pestanya nova
people pay us money so that they don't
-
3:09
, obre el vídeo en una pestanya nova
have to make the choice what goes into
-
3:11
, obre el vídeo en una pestanya nova
high or ultra or medium or what thinking
-
3:14
, obre el vídeo en una pestanya nova
levels. It's a waste of time for most
-
3:16
, obre el vídeo en una pestanya nova
people to like go around like, "Oh, I'm
-
3:19
, obre el vídeo en una pestanya nova
going to use GLM-5, too." Like you
-
3:21
, obre el vídeo en una pestanya nova
should think about what do you want to
-
3:22
, obre el vídeo en una pestanya nova
do? Where does the information live? How
-
3:26
, obre el vídeo en una pestanya nova
agent-friendly is your code base?
-
3:28
, obre el vídeo en una pestanya nova
And then concentrate on getting stuff
-
3:30
, obre el vídeo en una pestanya nova
done, but don't get bogged down in the
-
3:31
, obre el vídeo en una pestanya nova
details.
-
3:32
, obre el vídeo en una pestanya nova
>> Yeah, I have a lot of notes about
-
3:34
, obre el vídeo en una pestanya nova
everything you just said. I guess let's
-
3:35
, obre el vídeo en una pestanya nova
start from the backlog. In the, you
-
3:37
, obre el vídeo en una pestanya nova
know, olden days everything would go to
-
3:38
, obre el vídeo en una pestanya nova
a backlog, but now you can just like
-
3:40
, obre el vídeo en una pestanya nova
launch a new agent, new session, and it
-
3:42
, obre el vídeo en una pestanya nova
can be fixed, you know, in 10 minutes.
-
3:43
, obre el vídeo en una pestanya nova
So instead of like you stashing it
-
3:45
, obre el vídeo en una pestanya nova
somewhere for somebody else or for
-
3:46
, obre el vídeo en una pestanya nova
yourself, and then you have to remember
-
3:48
, obre el vídeo en una pestanya nova
it a couple of weeks, you can just like
-
3:49
, obre el vídeo en una pestanya nova
do it when you have that context, when
-
3:51
, obre el vídeo en una pestanya nova
you have that energy. The agent works on
-
3:52
, obre el vídeo en una pestanya nova
it and and it's done. That's I guess one
-
3:54
, obre el vídeo en una pestanya nova
of the things, but I think the bigger
-
3:56
, obre el vídeo en una pestanya nova
threat is like each generation of
-
3:57
, obre el vídeo en una pestanya nova
models, so much changes that we need to
-
3:59
, obre el vídeo en una pestanya nova
figure out like how do we work, you
-
4:01
, obre el vídeo en una pestanya nova
know, what is the workflows, what what
-
4:02
, obre el vídeo en una pestanya nova
is the user interface look like.
-
4:04
, obre el vídeo en una pestanya nova
>> I 100% agree with you.
-
4:05
, obre el vídeo en una pestanya nova
>> It feels like I paid you to say this.
-
4:07
, obre el vídeo en una pestanya nova
>> We now have powerful models like Fable 5
-
4:09
, obre el vídeo en una pestanya nova
or GPT 5.6 all. And when you plug these
-
4:12
, obre el vídeo en una pestanya nova
models into agent harnesses like Claude
-
4:14
, obre el vídeo en una pestanya nova
Code, Codex, or Cursor, they can build
-
4:17
, obre el vídeo en una pestanya nova
full stack apps with no issues. But the
-
4:19
, obre el vídeo en una pestanya nova
moment these agents touch your database,
-
4:21
, obre el vídeo en una pestanya nova
that's where things get dangerous. They
-
4:23
, obre el vídeo en una pestanya nova
often skip RLS policies, they
-
4:25
, obre el vídeo en una pestanya nova
hallucinate CLI commands that don't
-
4:27
, obre el vídeo en una pestanya nova
exist, and they rely on training data
-
4:29
, obre el vídeo en una pestanya nova
that's months or years out of date. This
-
4:31
, obre el vídeo en una pestanya nova
is why Supabase released Agent Skills.
-
4:34
, obre el vídeo en una pestanya nova
This is a free open source skill that
-
4:36
, obre el vídeo en una pestanya nova
makes any agent good at using Supabase.
-
4:39
, obre el vídeo en una pestanya nova
One command installs it and it works
-
4:40
, obre el vídeo en una pestanya nova
right away with Claude Code, Codex,
-
4:42
, obre el vídeo en una pestanya nova
Cursor, Pi, and basically any other
-
4:44
, obre el vídeo en una pestanya nova
agent out there. So instead of guessing,
-
4:46
, obre el vídeo en una pestanya nova
your agent now checks the official
-
4:48
, obre el vídeo en una pestanya nova
Supabase docs before doing anything. And
-
4:50
, obre el vídeo en una pestanya nova
it follows a built-in security
-
4:52
, obre el vídeo en una pestanya nova
checklist. RLS on every exposed schema,
-
4:54
, obre el vídeo en una pestanya nova
security invoker on views, and other
-
4:56
, obre el vídeo en una pestanya nova
best practices just like a professional
-
4:59
, obre el vídeo en una pestanya nova
back-end engineer would. Supabase is
-
5:01
, obre el vídeo en una pestanya nova
betting on a world where agents write
-
5:03
, obre el vídeo en una pestanya nova
all of your code. And this is them
-
5:05
, obre el vídeo en una pestanya nova
setting the foundations for it. If your
-
5:07
, obre el vídeo en una pestanya nova
agents are touching the database, make
-
5:09
, obre el vídeo en una pestanya nova
sure to install this Supabase skill
-
5:11
, obre el vídeo en una pestanya nova
first. The link is going to be in the
-
5:12
, obre el vídeo en una pestanya nova
description and it's completely free to
-
5:14
, obre el vídeo en una pestanya nova
get started. Thank you, Supabase, for
-
5:16
, obre el vídeo en una pestanya nova
sponsoring this video.
-
5:17
, obre el vídeo en una pestanya nova
>> I said last week, I think the models are
-
5:19
, obre el vídeo en una pestanya nova
dead in the sense that Fable is pretty
-
5:22
, obre el vídeo en una pestanya nova
good. GPT 5.6 is pretty good. But we're
-
5:24
, obre el vídeo en una pestanya nova
now at the level where I don't have to
-
5:26
, obre el vídeo en una pestanya nova
like watch a model and then like, "Oh,
-
5:29
, obre el vídeo en una pestanya nova
don't change this file. Oh, don't
-
5:31
, obre el vídeo en una pestanya nova
change" Like I think there's diminishing
-
5:33
, obre el vídeo en una pestanya nova
returns now to like this close-up
-
5:35
, obre el vídeo en una pestanya nova
managing of what a single model does. I
-
5:38
, obre el vídeo en una pestanya nova
think you could trust them a lot more
-
5:39
, obre el vídeo en una pestanya nova
than people do. And I think if people
-
5:41
, obre el vídeo en una pestanya nova
have like issues with "Oh, it doesn't
-
5:43
, obre el vídeo en una pestanya nova
use camel case" or whatever it is, I
-
5:44
, obre el vídeo en una pestanya nova
think they need to take a step back and
-
5:46
, obre el vídeo en una pestanya nova
rethink engineering because the way I
-
5:49
, obre el vídeo en una pestanya nova
phrased it for a couple weeks now is you
-
5:51
, obre el vídeo en una pestanya nova
will get a button with which you can
-
5:53
, obre el vídeo en una pestanya nova
spawn a John Carmack that writes the
-
5:56
, obre el vídeo en una pestanya nova
code for you. The John Carmack it
-
5:58
, obre el vídeo en una pestanya nova
doesn't speak unless spoken to, so you
-
6:00
, obre el vídeo en una pestanya nova
need to wake it up or have another John
-
6:02
, obre el vídeo en una pestanya nova
Carmack wake it up, right? That's a
-
6:03
, obre el vídeo en una pestanya nova
peculiar thing. Like he doesn't walk
-
6:05
, obre el vídeo en una pestanya nova
around discovering new things, but it
-
6:07
, obre el vídeo en una pestanya nova
won't make mistakes of syntax. It won't
-
6:09
, obre el vídeo en una pestanya nova
make expression mistakes. Like it will
-
6:11
, obre el vídeo en una pestanya nova
do the thing that you ask it to do. But
-
6:13
, obre el vídeo en una pestanya nova
then you got to ask yourself what do I
-
6:16
, obre el vídeo en una pestanya nova
want to do? And a lot of software
-
6:18
, obre el vídeo en una pestanya nova
development was consumed with how to do
-
6:22
, obre el vídeo en una pestanya nova
things. Like how do I write this? What's
-
6:24
, obre el vídeo en una pestanya nova
the best way to structure this? What's
-
6:25
, obre el vídeo en una pestanya nova
the best way to write this? How do I
-
6:27
, obre el vídeo en una pestanya nova
approach this? How do I approach this?
-
6:28
, obre el vídeo en una pestanya nova
Like a lot of stuff in software
-
6:30
, obre el vídeo en una pestanya nova
development followed from this and I
-
6:31
, obre el vídeo en una pestanya nova
think a lot of this stuff is not useful
-
6:33
, obre el vídeo en una pestanya nova
anymore. And I think even stuff like I
-
6:36
, obre el vídeo en una pestanya nova
have a custom slash command. This is the
-
6:37
, obre el vídeo en una pestanya nova
stuff that I invoke when I review or
-
6:39
, obre el vídeo en una pestanya nova
this is the flow that I do when like the
-
6:41
, obre el vídeo en una pestanya nova
models are pretty good, man. Like if you
-
6:43
, obre el vídeo en una pestanya nova
ask Fable to write
-
6:45
, obre el vídeo en una pestanya nova
>> Yeah. Like yeah, spawn a different agent
-
6:46
, obre el vídeo en una pestanya nova
and say review it, you know, whatever,
-
6:48
, obre el vídeo en una pestanya nova
but man
-
6:50
, obre el vídeo en una pestanya nova
>> diminishing returns. Diminishing
-
6:52
, obre el vídeo en una pestanya nova
returns. The most important, you know,
-
6:54
, obre el vídeo en una pestanya nova
number in this equation of how good are
-
6:56
, obre el vídeo en una pestanya nova
the results is the information that you
-
6:58
, obre el vídeo en una pestanya nova
put in. It's not about like details.
-
7:00
, obre el vídeo en una pestanya nova
It's like, okay, is this a gnarly
-
7:02
, obre el vídeo en una pestanya nova
problem? Like do you want like the John
-
7:04
, obre el vídeo en una pestanya nova
Carmack or do you want John Carmack's
-
7:05
, obre el vídeo en una pestanya nova
little brother, you know? It's insane to
-
7:07
, obre el vídeo en una pestanya nova
me that people take coding agents and
-
7:09
, obre el vídeo en una pestanya nova
then bolt them onto this old way of
-
7:12
, obre el vídeo en una pestanya nova
working where you tell me somebody
-
7:13
, obre el vídeo en una pestanya nova
reports a bug and then you park it
-
7:16
, obre el vídeo en una pestanya nova
somewhere until somebody thinks they
-
7:18
, obre el vídeo en una pestanya nova
have time to look at it and then what?
-
7:21
, obre el vídeo en una pestanya nova
Then they spawn an agent? Why don't you
-
7:23
, obre el vídeo en una pestanya nova
optimistically spawn these agents and
-
7:25
, obre el vídeo en una pestanya nova
have them parked somewhere and then go
-
7:27
, obre el vídeo en una pestanya nova
through them and look at the bug fixes
-
7:28
, obre el vídeo en una pestanya nova
and see if they're good or not. You
-
7:30
, obre el vídeo en una pestanya nova
don't need to estimate whether this is
-
7:32
, obre el vídeo en una pestanya nova
worth doing if it's all being done in
-
7:34
, obre el vídeo en una pestanya nova
the background while you sleep. Like
-
7:35
, obre el vídeo en una pestanya nova
let's just do it. A lot of stuff has
-
7:37
, obre el vídeo en una pestanya nova
changed. Old assumptions are no longer
-
7:39
, obre el vídeo en una pestanya nova
true. The agent is already a-sync. It's
-
7:42
, obre el vídeo en una pestanya nova
already running the tests. It's already
-
7:44
, obre el vídeo en una pestanya nova
in a sandbox with like isolated state,
-
7:47
, obre el vídeo en una pestanya nova
right? It's not like there's some stuff
-
7:49
, obre el vídeo en una pestanya nova
lying around. It's pretty good at doing
-
7:51
, obre el vídeo en una pestanya nova
this. So, if you ask it to run all of
-
7:53
, obre el vídeo en una pestanya nova
the tests and it runs them, you're
-
7:55
, obre el vídeo en una pestanya nova
telling me then going to push it
-
7:56
, obre el vídeo en una pestanya nova
somewhere else and then have it run
-
7:58
, obre el vídeo en una pestanya nova
again for 10 minutes because you have a
-
8:00
, obre el vídeo en una pestanya nova
CI system somewhere else that does
-
8:02
, obre el vídeo en una pestanya nova
basically the same thing. Like, the
-
8:03
, obre el vídeo en una pestanya nova
agents are already running the tests for
-
8:05
, obre el vídeo en una pestanya nova
you. Like, you got to rethink a lot of
-
8:08
, obre el vídeo en una pestanya nova
stuff from first principles, is what I'm
-
8:10
, obre el vídeo en una pestanya nova
saying. You probably should just pick a
-
8:12
, obre el vídeo en una pestanya nova
good model and focus on getting stuff
-
8:14
, obre el vídeo en una pestanya nova
done versus tweaking around other
-
8:16
, obre el vídeo en una pestanya nova
models, you know? If obviously if you do
-
8:17
, obre el vídeo en una pestanya nova
it in your free time, whatever, for fun,
-
8:19
, obre el vídeo en una pestanya nova
go go knock yourself out. But, um I
-
8:21
, obre el vídeo en una pestanya nova
don't think that's where the performance
-
8:22
, obre el vídeo en una pestanya nova
lies, you know? I don't think that's
-
8:24
, obre el vídeo en una pestanya nova
where the good results come from.
-
8:25
, obre el vídeo en una pestanya nova
>> Yeah, I mean, ultimately it's like
-
8:27
, obre el vídeo en una pestanya nova
knowing what to build and, you know,
-
8:28
, obre el vídeo en una pestanya nova
then building it. Yeah. I think like I
-
8:30
, obre el vídeo en una pestanya nova
have this controversial opinion, and I
-
8:31
, obre el vídeo en una pestanya nova
think it's becoming less controversial,
-
8:33
, obre el vídeo en una pestanya nova
that like, you know, people say AI slop,
-
8:35
, obre el vídeo en una pestanya nova
but I think most of slop comes from
-
8:37
, obre el vídeo en una pestanya nova
humans not having good product sense.
-
8:39
, obre el vídeo en una pestanya nova
You know.
-
8:40
, obre el vídeo en una pestanya nova
>> Yeah. They just with AI they can just
-
8:41
, obre el vídeo en una pestanya nova
build these trash products faster.
-
8:43
, obre el vídeo en una pestanya nova
>> Yeah. Maybe it's bragging, but look,
-
8:45
, obre el vídeo en una pestanya nova
people say oh Amp is taste like they say
-
8:47
, obre el vídeo en una pestanya nova
this is polished. Whatever, they like
-
8:49
, obre el vídeo en una pestanya nova
the key bindings, they like a bunch of
-
8:51
, obre el vídeo en una pestanya nova
stuff. Oh, they say you guys have good
-
8:53
, obre el vídeo en una pestanya nova
taste. You polish, you craft, whatever
-
8:55
, obre el vídeo en una pestanya nova
it is, right? But, the fact is that from
-
8:58
, obre el vídeo en una pestanya nova
what you see here, 99% is written by AI.
-
9:02
, obre el vídeo en una pestanya nova
Like, nobody in our team writes code by
-
9:05
, obre el vídeo en una pestanya nova
hand anymore that much. I I did a poll
-
9:07
, obre el vídeo en una pestanya nova
internally last week or 2 weeks ago and
-
9:09
, obre el vídeo en una pestanya nova
I said, "How much code is written, you
-
9:11
, obre el vídeo en una pestanya nova
know, how what do you guys think?" And I
-
9:13
, obre el vídeo en una pestanya nova
gave three options and one option was 99
-
9:15
, obre el vídeo en una pestanya nova
plus, the other was between 90 and 99,
-
9:19
, obre el vídeo en una pestanya nova
and then I was like below 90. I didn't
-
9:21
, obre el vídeo en una pestanya nova
even anticipate that somebody would go
-
9:22
, obre el vídeo en una pestanya nova
lower than 80%. And then Camden, who's
-
9:25
, obre el vídeo en una pestanya nova
in our team and who's great, he's like,
-
9:27
, obre el vídeo en una pestanya nova
"I think I still write a bunch of code
-
9:29
, obre el vídeo en una pestanya nova
by hand." And then I'm like, "Camden,
-
9:31
, obre el vídeo en una pestanya nova
really? Like, how much code do you write
-
9:32
, obre el vídeo en una pestanya nova
by hand?" And he goes, "Ah, you're
-
9:34
, obre el vídeo en una pestanya nova
right. It's probably 95%, you know?" So,
-
9:38
, obre el vídeo en una pestanya nova
I I agree with you. I think I put a lot
-
9:40
, obre el vídeo en una pestanya nova
of care into the stuff that I build, but
-
9:42
, obre el vídeo en una pestanya nova
it's it's the ideas, you know, it's it's
-
9:44
, obre el vídeo en una pestanya nova
like do I think this little icon is
-
9:47
, obre el vídeo en una pestanya nova
misplaced? Do I think this icon should
-
9:49
, obre el vídeo en una pestanya nova
have a tool tip? Do I think we should
-
9:50
, obre el vídeo en una pestanya nova
have a cool animation? That stuff here
-
9:53
, obre el vídeo en una pestanya nova
where you can, you know, you spawn amp
-
9:55
, obre el vídeo en una pestanya nova
and it shows you this animated orb, you
-
9:57
, obre el vídeo en una pestanya nova
know, like what AI helped me to do here
-
10:00
, obre el vídeo en una pestanya nova
was it generated 15 different versions
-
10:04
, obre el vídeo en una pestanya nova
of these orbs in different colors that I
-
10:06
, obre el vídeo en una pestanya nova
can look through.
-
10:07
, obre el vídeo en una pestanya nova
>> Right? It made this faster for me. I
-
10:09
, obre el vídeo en una pestanya nova
said like give me a version with like
-
10:11
, obre el vídeo en una pestanya nova
braille characters. Give me a version
-
10:12
, obre el vídeo en una pestanya nova
with these characters. Give me five
-
10:14
, obre el vídeo en una pestanya nova
different versions. Give me 18 different
-
10:16
, obre el vídeo en una pestanya nova
colors. And then I went through them and
-
10:17
, obre el vídeo en una pestanya nova
picked the one that I like best. And it
-
10:19
, obre el vídeo en una pestanya nova
seems to resonate with people. So, I
-
10:21
, obre el vídeo en una pestanya nova
used AI to express what I think is good
-
10:24
, obre el vídeo en una pestanya nova
faster, you know, without doing a bunch
-
10:26
, obre el vídeo en una pestanya nova
of work. If I had to write this all by
-
10:28
, obre el vídeo en una pestanya nova
myself, never would have done it. But
-
10:30
, obre el vídeo en una pestanya nova
now I did and people love it and they
-
10:31
, obre el vídeo en una pestanya nova
think it's it's I don't want to say it's
-
10:34
, obre el vídeo en una pestanya nova
human, but it resonates with people. And
-
10:36
, obre el vídeo en una pestanya nova
they think it's high taste. And to your
-
10:38
, obre el vídeo en una pestanya nova
point, it's not slop. It's not it's not
-
10:40
, obre el vídeo en una pestanya nova
the enshittification of everything. I
-
10:43
, obre el vídeo en una pestanya nova
use AI or we use AI to accelerate it,
-
10:46
, obre el vídeo en una pestanya nova
right? People like our news posts and
-
10:48
, obre el vídeo en una pestanya nova
say we have like good background images
-
10:50
, obre el vídeo en una pestanya nova
in the news posts and what not, right?
-
10:52
, obre el vídeo en una pestanya nova
That's me and Tim and Brad going turn by
-
10:54
, obre el vídeo en una pestanya nova
turn by turn in midjourney. That's me
-
10:57
, obre el vídeo en una pestanya nova
reading Moby Dick and thinking about
-
10:59
, obre el vídeo en una pestanya nova
orbs and then trying to combine in my
-
11:00
, obre el vídeo en una pestanya nova
head Moby Dick and orb. What else could
-
11:02
, obre el vídeo en una pestanya nova
we do? Let's mix this up. Let's ask
-
11:04
, obre el vídeo en una pestanya nova
ChatGPT for 10 different variations of
-
11:06
, obre el vídeo en una pestanya nova
this midjourney prompt. Let's pick this
-
11:07
, obre el vídeo en una pestanya nova
one. Let's remix this one, you know? AI
-
11:09
, obre el vídeo en una pestanya nova
helps me to go fast, but I still put the
-
11:11
, obre el vídeo en una pestanya nova
effort in and I don't think it's slop.
-
11:13
, obre el vídeo en una pestanya nova
So, yeah, I agree with you. If it's
-
11:15
, obre el vídeo en una pestanya nova
slop, it's because there's a lack of
-
11:17
, obre el vídeo en una pestanya nova
ideas and there's a lack of input.
-
11:19
, obre el vídeo en una pestanya nova
There's a lack of knowing what you want
-
11:21
, obre el vídeo en una pestanya nova
to exist in the world or a lack of
-
11:24
, obre el vídeo en una pestanya nova
playfulness, whatever you want to call
-
11:26
, obre el vídeo en una pestanya nova
it. Creativity maybe? I agree I I agree.
-
11:29
, obre el vídeo en una pestanya nova
So, for people like who want to start a
-
11:31
, obre el vídeo en una pestanya nova
new project, you know, let's say they
-
11:32
, obre el vídeo en una pestanya nova
want to build an AI startup this year,
-
11:34
, obre el vídeo en una pestanya nova
given the state of AI agents, how how
-
11:36
, obre el vídeo en una pestanya nova
would you advise them to do that?
-
11:38
, obre el vídeo en una pestanya nova
>> Start thinking about what you want the
-
11:40
, obre el vídeo en una pestanya nova
business to be. Like, what's your
-
11:42
, obre el vídeo en una pestanya nova
market? Who's your customer? How do you
-
11:44
, obre el vídeo en una pestanya nova
serve them? How do you generate value?
-
11:46
, obre el vídeo en una pestanya nova
How do you sell? Let's turn it around.
-
11:48
, obre el vídeo en una pestanya nova
Let's say somebody's really interested
-
11:51
, obre el vídeo en una pestanya nova
in hiring sales people and wants to
-
11:52
, obre el vídeo en una pestanya nova
create an AI startup. You know, how how
-
11:55
, obre el vídeo en una pestanya nova
should they start? You know, it's the
-
11:56
, obre el vídeo en una pestanya nova
same thing like why would you hire sales
-
11:58
, obre el vídeo en una pestanya nova
people if you don't know what the
-
12:00
, obre el vídeo en una pestanya nova
company is. It's the same thing for
-
12:02
, obre el vídeo en una pestanya nova
software now where software as the thing
-
12:05
, obre el vídeo en una pestanya nova
itself, like that's become less
-
12:07
, obre el vídeo en una pestanya nova
valuable. You know, we said this last
-
12:09
, obre el vídeo en una pestanya nova
year in our podcast, we said like open
-
12:11
, obre el vídeo en una pestanya nova
source is going to take a hit. Like
-
12:12
, obre el vídeo en una pestanya nova
those contribution graphs, then they're
-
12:14
, obre el vídeo en una pestanya nova
not worth anything anymore. You know,
-
12:16
, obre el vídeo en una pestanya nova
like code is going to get so cheap. Now
-
12:18
, obre el vídeo en una pestanya nova
it's it's much more about what is the
-
12:21
, obre el vídeo en una pestanya nova
software doing, how much value is it
-
12:23
, obre el vídeo en una pestanya nova
providing. And that sounds boring as
-
12:26
, obre el vídeo en una pestanya nova
hell, but that's just the truth of it.
-
12:27
, obre el vídeo en una pestanya nova
And the interesting thing is that
-
12:29
, obre el vídeo en una pestanya nova
actually in the last 20, 30 years, most
-
12:32
, obre el vídeo en una pestanya nova
programmers were in that lucky situation
-
12:34
, obre el vídeo en una pestanya nova
where the thing that they really care
-
12:35
, obre el vídeo en una pestanya nova
about and, you know, treat as their
-
12:37
, obre el vídeo en una pestanya nova
craft or as their hobby overlapped with
-
12:40
, obre el vídeo en una pestanya nova
what's valuable for the business. You
-
12:42
, obre el vídeo en una pestanya nova
know, like the guy who really likes
-
12:44
, obre el vídeo en una pestanya nova
writing Haskell on the weekend, turns
-
12:46
, obre el vídeo en una pestanya nova
out he's also the guy who can build like
-
12:48
, obre el vídeo en una pestanya nova
a good finance back-end because he
-
12:50
, obre el vídeo en una pestanya nova
really cares about types and whatnot,
-
12:51
, obre el vídeo en una pestanya nova
you know, and is really good at modeling
-
12:53
, obre el vídeo en una pestanya nova
this stuff.
-
12:54
, obre el vídeo en una pestanya nova
But now, Fable is also pretty good at
-
12:56
, obre el vídeo en una pestanya nova
that stuff. And people say, "Well, I got
-
12:59
, obre el vídeo en una pestanya nova
domain experience." And then it's like,
-
13:01
, obre el vídeo en una pestanya nova
man,
-
13:02
, obre el vídeo en una pestanya nova
I've seen these models. This was GPT-55,
-
13:04
, obre el vídeo en una pestanya nova
you know, where you ask it to write a
-
13:06
, obre el vídeo en una pestanya nova
database migration and it just says
-
13:09
, obre el vídeo en una pestanya nova
like, "Oh, wait, we cannot drop the
-
13:10
, obre el vídeo en una pestanya nova
column yet. We got to add the new
-
13:11
, obre el vídeo en una pestanya nova
column. We got to deploy this. We got to
-
13:13
, obre el vídeo en una pestanya nova
write to the new column. Wait until all
-
13:15
, obre el vídeo en una pestanya nova
the other code is gone. Only then do we
-
13:16
, obre el vídeo en una pestanya nova
drop the old column." Like that's stuff
-
13:18
, obre el vídeo en una pestanya nova
that a senior engineer taught me in like
-
13:19
, obre el vídeo en una pestanya nova
my first two or three years as an
-
13:21
, obre el vídeo en una pestanya nova
engineer. And I think that was a
-
13:23
, obre el vídeo en una pestanya nova
hard-won lesson that nobody really
-
13:25
, obre el vídeo en una pestanya nova
spelled out to me like that. And it
-
13:26
, obre el vídeo en una pestanya nova
seems trivial, but man, it's something
-
13:28
, obre el vídeo en una pestanya nova
the model does in like half a minute.
-
13:31
, obre el vídeo en una pestanya nova
And like a lot of stuff is just faster
-
13:33
, obre el vídeo en una pestanya nova
and and easy to get done and thus
-
13:35
, obre el vídeo en una pestanya nova
cheaper. So, the question is more what
-
13:38
, obre el vídeo en una pestanya nova
do you want to get done? Does that
-
13:39
, obre el vídeo en una pestanya nova
answer your question? Is that Is this Is
-
13:41
, obre el vídeo en una pestanya nova
this Am I cheating by saying
-
13:43
, obre el vídeo en una pestanya nova
>> [laughter]
-
13:45
, obre el vídeo en una pestanya nova
>> No, no, no. Like that I think that
-
13:46
, obre el vídeo en una pestanya nova
answers like the product side of it. So,
-
13:48
, obre el vídeo en una pestanya nova
let me ask the second side. It's like do
-
13:50
, obre el vídeo en una pestanya nova
you build for the human or do you build
-
13:52
, obre el vídeo en una pestanya nova
for the agent?
-
13:52
, obre el vídeo en una pestanya nova
>> Oh, it's
-
13:53
, obre el vídeo en una pestanya nova
>> Because the orbs, for example, orbs you
-
13:55
, obre el vídeo en una pestanya nova
build for the agents, right? Even you
-
13:56
, obre el vídeo en una pestanya nova
say like the humans, you know, they
-
13:57
, obre el vídeo en una pestanya nova
might want a local blah blah blah. It's
-
13:59
, obre el vídeo en una pestanya nova
like no, the agent wants a full
-
14:00
, obre el vídeo en una pestanya nova
computer. He wants to do anything on
-
14:02
, obre el vídeo en una pestanya nova
that computer. How do you think about
-
14:03
, obre el vídeo en una pestanya nova
product like that?
-
14:04
, obre el vídeo en una pestanya nova
>> I think we're all finding out. I think
-
14:06
, obre el vídeo en una pestanya nova
it's it's kind of changing, right? I
-
14:08
, obre el vídeo en una pestanya nova
think all of software is trying to find
-
14:10
, obre el vídeo en una pestanya nova
out what is the future of software. Like
-
14:12
, obre el vídeo en una pestanya nova
there's been a few ideas like everything
-
14:14
, obre el vídeo en una pestanya nova
will be an API or everything will be a
-
14:16
, obre el vídeo en una pestanya nova
CLI and then the agents will do your
-
14:18
, obre el vídeo en una pestanya nova
shopping and whatnot. And maybe that's
-
14:21
, obre el vídeo en una pestanya nova
what happens. I do think like a lot of
-
14:24
, obre el vídeo en una pestanya nova
old software will die out. The question
-
14:27
, obre el vídeo en una pestanya nova
is how fast, you know, like can you get
-
14:29
, obre el vídeo en una pestanya nova
like the 70-year-old people to use an
-
14:30
, obre el vídeo en una pestanya nova
agent to book a flight for them? I don't
-
14:32
, obre el vídeo en una pestanya nova
know. But like what I think like if I
-
14:35
, obre el vídeo en una pestanya nova
had to start and build for the frontier
-
14:37
, obre el vídeo en una pestanya nova
a new product, right? I would make it so
-
14:39
, obre el vídeo en una pestanya nova
that no human has to fill out forms
-
14:42
, obre el vídeo en una pestanya nova
again. I think that's dumb. Like that
-
14:44
, obre el vídeo en una pestanya nova
stuff is dumb. Like everything that a
-
14:46
, obre el vídeo en una pestanya nova
human can do, they should be able to ask
-
14:48
, obre el vídeo en una pestanya nova
an agent to do on the website, right?
-
14:50
, obre el vídeo en una pestanya nova
That would be amazing. The APIs are
-
14:52
, obre el vídeo en una pestanya nova
maybe not there yet, but
-
14:54
, obre el vídeo en una pestanya nova
it would be good to be able to bring
-
14:55
, obre el vídeo en una pestanya nova
your own agent. Like most people don't
-
14:58
, obre el vídeo en una pestanya nova
want to use your shitty built-in agent
-
15:00
, obre el vídeo en una pestanya nova
maybe, you know, like it would be nice
-
15:02
, obre el vídeo en una pestanya nova
if I can use Amp to do my shopping for
-
15:04
, obre el vídeo en una pestanya nova
me on another side or, you know,
-
15:06
, obre el vídeo en una pestanya nova
whatever. I don't know if that's a pipe
-
15:07
, obre el vídeo en una pestanya nova
dream, but that's how I think about it.
-
15:09
, obre el vídeo en una pestanya nova
I think a lot of stuff is stuck in the
-
15:11
, obre el vídeo en una pestanya nova
old assumption. To give you give you a
-
15:13
, obre el vídeo en una pestanya nova
funny example, on Sunday, it's Tuesday
-
15:16
, obre el vídeo en una pestanya nova
now, on Sunday I'm here in a local club
-
15:18
, obre el vídeo en una pestanya nova
and we had like a little festival and I
-
15:19
, obre el vídeo en una pestanya nova
built like for fun in an orb from my
-
15:22
, obre el vídeo en una pestanya nova
phone, I built like a little uh shopping
-
15:24
, obre el vídeo en una pestanya nova
thing where people can order food and
-
15:25
, obre el vídeo en una pestanya nova
whatnot and then the kitchen gets like
-
15:27
, obre el vídeo en una pestanya nova
the orders and they can check them off
-
15:29
, obre el vídeo en una pestanya nova
and whatnot because that's what we did
-
15:30
, obre el vídeo en una pestanya nova
with paper on Sunday. So, somebody was
-
15:33
, obre el vídeo en una pestanya nova
like, "Can't you make an app for this?"
-
15:34
, obre el vídeo en una pestanya nova
I'm like, "Actually, I can." So, I built
-
15:36
, obre el vídeo en una pestanya nova
the app, right? I took a photo of like
-
15:38
, obre el vídeo en una pestanya nova
the menu front and back, took two
-
15:40
, obre el vídeo en una pestanya nova
photos, sent it to the thing, and it
-
15:42
, obre el vídeo en una pestanya nova
built it, works, did it in the orb. I
-
15:45
, obre el vídeo en una pestanya nova
could share the URL, people could go to
-
15:46
, obre el vídeo en una pestanya nova
the URL. It worked. It was crazy. The
-
15:49
, obre el vídeo en una pestanya nova
interesting and to me, maybe only to me,
-
15:51
, obre el vídeo en una pestanya nova
you tell me, but the philosophically
-
15:53
, obre el vídeo en una pestanya nova
interesting thing to me was it built an
-
15:55
, obre el vídeo en una pestanya nova
admin interface where somebody could now
-
15:59
, obre el vídeo en una pestanya nova
go and look through all of the products
-
16:01
, obre el vídeo en una pestanya nova
that are on the menu and adjust the
-
16:02
, obre el vídeo en una pestanya nova
prices manually, right? Or adjust how
-
16:04
, obre el vídeo en una pestanya nova
they're spelled and stuff. And I looked
-
16:06
, obre el vídeo en una pestanya nova
at this and I'm like,
-
16:08
, obre el vídeo en una pestanya nova
"I'm never going to do that, dude. Like,
-
16:10
, obre el vídeo en una pestanya nova
I'm not going to go in there and use the
-
16:12
, obre el vídeo en una pestanya nova
form. What are you talking about? I'm
-
16:14
, obre el vídeo en una pestanya nova
going to use you, Amp, in that code base
-
16:16
, obre el vídeo en una pestanya nova
again. I'm going to send you another
-
16:18
, obre el vídeo en una pestanya nova
photo if the prices change and I'm going
-
16:20
, obre el vídeo en una pestanya nova
to say, 'Fix the pricing, you know?'"
-
16:22
, obre el vídeo en una pestanya nova
Like, a lot of
-
16:24
, obre el vídeo en una pestanya nova
setting stuff, a lot of admin stuff, a
-
16:26
, obre el vídeo en una pestanya nova
lot of stuff that a human did so that no
-
16:29
, obre el vídeo en una pestanya nova
code had to be changed is now probably
-
16:31
, obre el vídeo en una pestanya nova
easier by changing the code, you know?
-
16:33
, obre el vídeo en una pestanya nova
Imagine a WordPress back end, right?
-
16:36
, obre el vídeo en una pestanya nova
Where you you build a WordPress back end
-
16:38
, obre el vídeo en una pestanya nova
so that everybody in your company,
-
16:39
, obre el vídeo en una pestanya nova
marketing and whatnot, could add a blog
-
16:41
, obre el vídeo en una pestanya nova
post and and stuff like this and have a
-
16:43
, obre el vídeo en una pestanya nova
spell checker and stuff. If you had an
-
16:45
, obre el vídeo en una pestanya nova
agent in your code base, you could say,
-
16:47
, obre el vídeo en una pestanya nova
"Here's the draft for my blog post.
-
16:49
, obre el vídeo en una pestanya nova
Please add this header image and publish
-
16:51
, obre el vídeo en una pestanya nova
this blog post and do a spell check."
-
16:53
, obre el vídeo en una pestanya nova
That's one sentence and it goes and does
-
16:55
, obre el vídeo en una pestanya nova
it and you don't have to click around
-
16:56
, obre el vídeo en una pestanya nova
with a bunch of stuff. So, if you start
-
16:58
, obre el vídeo en una pestanya nova
a new company and you start a new code
-
17:00
, obre el vídeo en una pestanya nova
base, you have to think about what is
-
17:02
, obre el vídeo en una pestanya nova
the role of code in your product. Don't
-
17:04
, obre el vídeo en una pestanya nova
fall in the trap of thinking the old way
-
17:07
, obre el vídeo en una pestanya nova
of, you know, shipping software is still
-
17:09
, obre el vídeo en una pestanya nova
valuable because it might not be like it
-
17:11
, obre el vídeo en una pestanya nova
the the calculus has changed, you know?
-
17:13
, obre el vídeo en una pestanya nova
You can do a lot of stuff, even stuff
-
17:15
, obre el vídeo en una pestanya nova
that seems unfeasible or seemed
-
17:17
, obre el vídeo en una pestanya nova
unfeasible, like having five different
-
17:19
, obre el vídeo en una pestanya nova
copies of stuff, having five different
-
17:20
, obre el vídeo en una pestanya nova
versions being built, have you know, all
-
17:22
, obre el vídeo en una pestanya nova
of that stuff I think you need to
-
17:24
, obre el vídeo en una pestanya nova
rethink. And I think the whole, you
-
17:26
, obre el vídeo en una pestanya nova
know, software industry is is is
-
17:28
, obre el vídeo en una pestanya nova
figuring this out at the same time. It's
-
17:30
, obre el vídeo en una pestanya nova
very interesting. I think, you know, we
-
17:32
, obre el vídeo en una pestanya nova
had an internal document, I think it was
-
17:34
, obre el vídeo en una pestanya nova
called software's dead, now what? You
-
17:37
, obre el vídeo en una pestanya nova
know, because it was about this very
-
17:38
, obre el vídeo en una pestanya nova
same thing where, look man, like the
-
17:41
, obre el vídeo en una pestanya nova
models are getting to this point where
-
17:43
, obre el vídeo en una pestanya nova
you can wish things into existence as
-
17:45
, obre el vídeo en una pestanya nova
long as you have the wishes, as long as
-
17:47
, obre el vídeo en una pestanya nova
you have a use case for what you want to
-
17:49
, obre el vídeo en una pestanya nova
build. And now, we're thinking the
-
17:51
, obre el vídeo en una pestanya nova
future of software might be that, well,
-
17:53
, obre el vídeo en una pestanya nova
you don't want to rebuild everything all
-
17:55
, obre el vídeo en una pestanya nova
the time, but there's this element of, I
-
17:58
, obre el vídeo en una pestanya nova
want to take bits and pieces and then
-
18:00
, obre el vídeo en una pestanya nova
remix them, and that's easy to do.
-
18:03
, obre el vídeo en una pestanya nova
Somebody wrote a blog post, I wish I
-
18:04
, obre el vídeo en una pestanya nova
could remember the name, they were
-
18:06
, obre el vídeo en una pestanya nova
saying the Emacsification of software.
-
18:09
, obre el vídeo en una pestanya nova
So, in Emacs, which is this text editor
-
18:12
, obre el vídeo en una pestanya nova
and you configure it by writing Elisp,
-
18:14
, obre el vídeo en una pestanya nova
there's this thing where everybody has
-
18:16
, obre el vídeo en una pestanya nova
their own config. Like they they have
-
18:18
, obre el vídeo en una pestanya nova
like their dot files and everybody has a
-
18:20
, obre el vídeo en una pestanya nova
collection of Lisp files and they
-
18:21
, obre el vídeo en una pestanya nova
collected it over many years. And then,
-
18:23
, obre el vídeo en una pestanya nova
say if somebody has a fuzzy finder
-
18:25
, obre el vídeo en una pestanya nova
plugin, what's common in the Emacs
-
18:27
, obre el vídeo en una pestanya nova
community is they would fork it and
-
18:29
, obre el vídeo en una pestanya nova
change it and like rewrite the code and
-
18:32
, obre el vídeo en una pestanya nova
then not contribute it back because they
-
18:34
, obre el vídeo en una pestanya nova
customized it so much. This is exactly
-
18:36
, obre el vídeo en una pestanya nova
what's happening right now, too. Like
-
18:38
, obre el vídeo en una pestanya nova
there's this great diff viewer called
-
18:40
, obre el vídeo en una pestanya nova
hunk, and I wish I could remember the
-
18:42
, obre el vídeo en una pestanya nova
author, it's a nice piece of software.
-
18:44
, obre el vídeo en una pestanya nova
It's to view diffs and I I actually
-
18:46
, obre el vídeo en una pestanya nova
stopped using it, but when I used it, I
-
18:49
, obre el vídeo en una pestanya nova
forked it, pointed amp at it, and said,
-
18:52
, obre el vídeo en una pestanya nova
"Please add the gruvbox dark hard theme.
-
18:55
, obre el vídeo en una pestanya nova
Please add the ability to check off
-
18:57
, obre el vídeo en una pestanya nova
files in the sidebar. Please do this,
-
18:59
, obre el vídeo en una pestanya nova
then compile it and put it in my bin
-
19:01
, obre el vídeo en una pestanya nova
folder in my home directory." And it did
-
19:03
, obre el vídeo en una pestanya nova
it, and I had custom software, and there
-
19:05
, obre el vídeo en una pestanya nova
was no reason for me to contribute back
-
19:07
, obre el vídeo en una pestanya nova
upstream. Like I didn't want to
-
19:09
, obre el vídeo en una pestanya nova
generalize it. I I think it might be
-
19:10
, obre el vídeo en una pestanya nova
valuable to others. I didn't spend any
-
19:12
, obre el vídeo en una pestanya nova
time on it really. Like it was just 2
-
19:14
, obre el vídeo en una pestanya nova
minutes of the agent running in the
-
19:16
, obre el vídeo en una pestanya nova
background.
-
19:17
, obre el vídeo en una pestanya nova
And like what happened there? Like I
-
19:19
, obre el vídeo en una pestanya nova
took a piece of software and remixed it
-
19:21
, obre el vídeo en una pestanya nova
for my own use case and now I use it,
-
19:23
, obre el vídeo en una pestanya nova
you know? And I think we might see a lot
-
19:26
, obre el vídeo en una pestanya nova
more of this. Like obviously on the
-
19:28
, obre el vídeo en una pestanya nova
other end of the spectrum there's the
-
19:29
, obre el vídeo en una pestanya nova
skepticism that, you know, like
-
19:31
, obre el vídeo en una pestanya nova
non-technical people are not going to
-
19:32
, obre el vídeo en una pestanya nova
vibe code whatever their apps and stuff
-
19:35
, obre el vídeo en una pestanya nova
like this. But I do think there's going
-
19:36
, obre el vídeo en una pestanya nova
to be a lot of software. I do think
-
19:38
, obre el vídeo en una pestanya nova
there's probably going to be a lot of
-
19:40
, obre el vídeo en una pestanya nova
internal software and I think for these
-
19:42
, obre el vídeo en una pestanya nova
use cases you had internal software
-
19:45
, obre el vídeo en una pestanya nova
being developed before. But now, the
-
19:47
, obre el vídeo en una pestanya nova
example from Sunday, right? It's a
-
19:49
, obre el vídeo en una pestanya nova
little club, it's 20 people. We had this
-
19:51
, obre el vídeo en una pestanya nova
process of you give up your order here,
-
19:53
, obre el vídeo en una pestanya nova
somebody writes it down on a piece of
-
19:54
, obre el vídeo en una pestanya nova
paper, then it goes over here. I could
-
19:56
, obre el vídeo en una pestanya nova
encode this in software, I don't know,
-
19:59
, obre el vídeo en una pestanya nova
in three times 5 minutes over the course
-
20:01
, obre el vídeo en una pestanya nova
of what was it? 2 hours? Like I pulled
-
20:03
, obre el vídeo en una pestanya nova
out my phone, I wrote my prompt, and
-
20:05
, obre el vídeo en una pestanya nova
then said like now we need another
-
20:06
, obre el vídeo en una pestanya nova
thing.
-
20:08
, obre el vídeo en una pestanya nova
And then I showed it around like that's
-
20:09
, obre el vídeo en una pestanya nova
crazy. Like if people if people start to
-
20:11
, obre el vídeo en una pestanya nova
realize that they can do this in
-
20:13
, obre el vídeo en una pestanya nova
companies, it will replace like what
-
20:15
, obre el vídeo en una pestanya nova
previously was maybe like that one Excel
-
20:17
, obre el vídeo en una pestanya nova
file or that one wiki page or that one,
-
20:21
, obre el vídeo en una pestanya nova
you know, hacked together whatever
-
20:23
, obre el vídeo en una pestanya nova
thing. Like I think a lot of that's
-
20:25
, obre el vídeo en una pestanya nova
going to happen. And and maybe that
-
20:27
, obre el vídeo en una pestanya nova
blast radius of this movement is going
-
20:29
, obre el vídeo en una pestanya nova
to get bigger so that people will attack
-
20:31
, obre el vídeo en una pestanya nova
bigger things. That they're going to say
-
20:33
, obre el vídeo en una pestanya nova
well, we want to buy this software,
-
20:35
, obre el vídeo en una pestanya nova
Riverside. I don't know I'm picking
-
20:37
, obre el vídeo en una pestanya nova
Riverside. We're going to pick
-
20:38
, obre el vídeo en una pestanya nova
Riverside, but actually I don't care
-
20:39
, obre el vídeo en una pestanya nova
about audio only. I only care about
-
20:42
, obre el vídeo en una pestanya nova
videos. Whatever it is. Or the other way
-
20:44
, obre el vídeo en una pestanya nova
around, right? I only remove everything
-
20:47
, obre el vídeo en una pestanya nova
in the app. I don't want to see this. I
-
20:49
, obre el vídeo en una pestanya nova
don't want to deal with it. Give me a
-
20:50
, obre el vídeo en una pestanya nova
custom version of this. And I think, you
-
20:53
, obre el vídeo en una pestanya nova
know, the agents will be able to do this
-
20:55
, obre el vídeo en una pestanya nova
very soon. And and the question is what
-
20:57
, obre el vídeo en una pestanya nova
happens to software then, you know?
-
20:59
, obre el vídeo en una pestanya nova
>> Yeah, I mean there's going to be
-
21:00
, obre el vídeo en una pestanya nova
explosion of it. It's going to be a game
-
21:02
, obre el vídeo en una pestanya nova
of like who has who knows what to build
-
21:04
, obre el vídeo en una pestanya nova
and who has the right setup. I think if
-
21:06
, obre el vídeo en una pestanya nova
you boil it down it's two variables.
-
21:07
, obre el vídeo en una pestanya nova
Knowing how to use these agents and then
-
21:09
, obre el vídeo en una pestanya nova
just having the budget to do it.
-
21:10
, obre el vídeo en una pestanya nova
>> Yeah.
-
21:10
, obre el vídeo en una pestanya nova
>> If you can afford to spend the tokens
-
21:12
, obre el vídeo en una pestanya nova
>> Yeah.
-
21:12
, obre el vídeo en una pestanya nova
>> and you can use
-
21:13
, obre el vídeo en una pestanya nova
>> Yeah.
-
21:13
, obre el vídeo en una pestanya nova
>> the frontier models, I I think you're
-
21:14
, obre el vídeo en una pestanya nova
you're going to crush in the future.
-
21:15
, obre el vídeo en una pestanya nova
>> I
-
21:16
, obre el vídeo en una pestanya nova
>> You cannot take a programmer who doesn't
-
21:18
, obre el vídeo en una pestanya nova
use AI. He's going to get crushed by a
-
21:20
, obre el vídeo en una pestanya nova
mediocre programmer with AI. Unless you
-
21:21
, obre el vídeo en una pestanya nova
say like, "Okay, it's something like
-
21:23
, obre el vídeo en una pestanya nova
super technical and you know, there's
-
21:24
, obre el vídeo en una pestanya nova
like only a few people with that
-
21:25
, obre el vídeo en una pestanya nova
knowledge." But like in general, you
-
21:26
, obre el vídeo en una pestanya nova
know, if somebody's like a better
-
21:28
, obre el vídeo en una pestanya nova
programmer, but you give this guy a
-
21:29
, obre el vídeo en una pestanya nova
ton of AI,
-
21:30
, obre el vídeo en una pestanya nova
you can extrapolate where the models
-
21:32
, obre el vídeo en una pestanya nova
will be in 6 to 12 months. It's just all
-
21:34
, obre el vídeo en una pestanya nova
about like knowing how to use these
-
21:35
, obre el vídeo en una pestanya nova
agents.
-
21:35
, obre el vídeo en una pestanya nova
>> Yeah, I agree. I think the most
-
21:37
, obre el vídeo en una pestanya nova
important skills will be like first
-
21:39
, obre el vídeo en una pestanya nova
principles thinking, like actual like
-
21:42
, obre el vídeo en una pestanya nova
thinking, not like technical detailed
-
21:44
, obre el vídeo en una pestanya nova
stuff and whatnot. Like you actually
-
21:46
, obre el vídeo en una pestanya nova
have to think through problem-solving
-
21:48
, obre el vídeo en una pestanya nova
thing of breaking down business problems
-
21:50
, obre el vídeo en una pestanya nova
into solutions. Again, dumb example
-
21:52
, obre el vídeo en una pestanya nova
Sunday. The first solution somebody
-
21:54
, obre el vídeo en una pestanya nova
says, like, "Hey Torsten, I heard you
-
21:55
, obre el vídeo en una pestanya nova
can build apps now with AI." And I'm
-
21:57
, obre el vídeo en una pestanya nova
like, "Yeah, I can." And they were
-
21:58
, obre el vídeo en una pestanya nova
saying, "Look, right now we have these
-
22:00
, obre el vídeo en una pestanya nova
orders in our kitchen and somebody makes
-
22:02
, obre el vídeo en una pestanya nova
a mark on a piece of paper and then
-
22:03
, obre el vídeo en una pestanya nova
hands a piece of paper over. Can't you
-
22:06
, obre el vídeo en una pestanya nova
build us an app so that somebody on a
-
22:08
, obre el vídeo en una pestanya nova
tablet hits this thing and then prints
-
22:10
, obre el vídeo en una pestanya nova
out the piece of paper and then hands it
-
22:11
, obre el vídeo en una pestanya nova
over?" And I, as somebody who's been in
-
22:13
, obre el vídeo en una pestanya nova
software for a while, I was like, "Okay,
-
22:16
, obre el vídeo en una pestanya nova
I can build this. I can get a printer.
-
22:17
, obre el vídeo en una pestanya nova
Like it's not, you know, we can do this.
-
22:20
, obre el vídeo en una pestanya nova
But why do you need a printer? Like why
-
22:22
, obre el vídeo en una pestanya nova
not have a second tablet instead of
-
22:24
, obre el vídeo en una pestanya nova
having a piece of paper? You know, and
-
22:26
, obre el vídeo en una pestanya nova
and this kind of thinking of what
-
22:28
, obre el vídeo en una pestanya nova
actually is the process, what is the
-
22:30
, obre el vídeo en una pestanya nova
workflow, what problems are being solved
-
22:33
, obre el vídeo en una pestanya nova
through this workflow, and how can we
-
22:34
, obre el vídeo en una pestanya nova
replace this with software? I think
-
22:35
, obre el vídeo en una pestanya nova
that's going to be incredibly important.
-
22:38
, obre el vídeo en una pestanya nova
>> So then it's more like everybody's
-
22:39
, obre el vídeo en una pestanya nova
architect and you just need like to be
-
22:41
, obre el vídeo en una pestanya nova
aware of like the different solutions
-
22:42
, obre el vídeo en una pestanya nova
from different industries, different
-
22:43
, obre el vídeo en una pestanya nova
businesses
-
22:44
, obre el vídeo en una pestanya nova
to like have the right idea, I guess.
-
22:46
, obre el vídeo en una pestanya nova
>> Yeah, I Look, like I think what I do is
-
22:50
, obre el vídeo en una pestanya nova
still engineering, right? When I'm now
-
22:52
, obre el vídeo en una pestanya nova
going to look at should we port it like
-
22:53
, obre el vídeo en una pestanya nova
this to the TUI or to the CLI or
-
22:55
, obre el vídeo en una pestanya nova
something, right? But the mistake that I
-
22:58
, obre el vídeo en una pestanya nova
see people make online is they compare
-
23:01
, obre el vídeo en una pestanya nova
They always use like the 1% as an
-
23:04
, obre el vídeo en una pestanya nova
example. They say, "Look, a Mitchell
-
23:07
, obre el vídeo en una pestanya nova
Hashimoto reads the code and, you know,
-
23:09
, obre el vídeo en una pestanya nova
like AI is not good enough to solve this
-
23:12
, obre el vídeo en una pestanya nova
issue for him." And Mitchell is one of
-
23:13
, obre el vídeo en una pestanya nova
the best programmers in the world. He's
-
23:16
, obre el vídeo en una pestanya nova
working on like beautifully graph, like
-
23:18
, obre el vídeo en una pestanya nova
it's incredible software. It's it's
-
23:21
, obre el vídeo en una pestanya nova
technically challenging. It's really,
-
23:22
, obre el vídeo en una pestanya nova
really good. But look around what most
-
23:25
, obre el vídeo en una pestanya nova
of the software developers around the
-
23:27
, obre el vídeo en una pestanya nova
world that will look at most of the
-
23:28
, obre el vídeo en una pestanya nova
software around the world. It is not
-
23:31
, obre el vídeo en una pestanya nova
building a GPU accelerated terminal
-
23:33
, obre el vídeo en una pestanya nova
emulator, you know? I think people they
-
23:36
, obre el vídeo en una pestanya nova
underestimate like how much software
-
23:37
, obre el vídeo en una pestanya nova
there is where you can solve problems
-
23:40
, obre el vídeo en una pestanya nova
without being overly technical. Where
-
23:43
, obre el vídeo en una pestanya nova
it's okay to just use whatever MySQL or
-
23:46
, obre el vídeo en una pestanya nova
something something and have a crowd app
-
23:48
, obre el vídeo en una pestanya nova
and whatnot. That's good enough, you
-
23:49
, obre el vídeo en una pestanya nova
know?
-
23:50
, obre el vídeo en una pestanya nova
>> All right, first of so, can you show us
-
23:52
, obre el vídeo en una pestanya nova
your agentic engineering setup?
-
23:53
, obre el vídeo en una pestanya nova
>> Yes. So, this is Amp, ampcode.com. It's
-
23:56
, obre el vídeo en una pestanya nova
installed as a PWA, which
-
24:00
, obre el vídeo en una pestanya nova
>> Okay.
-
24:01
, obre el vídeo en una pestanya nova
>> See, I think yeah, I think that's
-
24:03
, obre el vídeo en una pestanya nova
actually what stops the adoption of the
-
24:05
, obre el vídeo en una pestanya nova
technology. It's
-
24:07
, obre el vídeo en una pestanya nova
It's not easy to pronounce, a PWA. But,
-
24:09
, obre el vídeo en una pestanya nova
um yeah, ampcode.com. And Amp is a
-
24:12
, obre el vídeo en una pestanya nova
coding agent. We've launched it last
-
24:14
, obre el vídeo en una pestanya nova
May. One of the first ones, right? After
-
24:16
, obre el vídeo en una pestanya nova
Aider, then Cloud Coden, and then right
-
24:18
, obre el vídeo en una pestanya nova
after Cloud Coden, we came out with
-
24:20
, obre el vídeo en una pestanya nova
multimodal. So, we support GPT models,
-
24:22
, obre el vídeo en una pestanya nova
we support Anthropic models, we support
-
24:24
, obre el vídeo en una pestanya nova
GLM. Since 2 weeks, we have the dial.
-
24:27
, obre el vídeo en una pestanya nova
So, here you can select like how how
-
24:29
, obre el vídeo en una pestanya nova
much effort could you want to put in?
-
24:30
, obre el vídeo en una pestanya nova
Low, GLM 52 with the Oracle, which is a
-
24:33
, obre el vídeo en una pestanya nova
sub-agent we have. I often go with
-
24:36
, obre el vídeo en una pestanya nova
medium actually, 56, solve medium, and
-
24:38
, obre el vídeo en una pestanya nova
Oracle is solve high. So, Oracle is a
-
24:40
, obre el vídeo en una pestanya nova
sub-agent that is a reviewer, you know,
-
24:43
, obre el vídeo en una pestanya nova
gives advice, I guess. Then high, GPT
-
24:45
, obre el vídeo en una pestanya nova
56, extra high, ultra, uh means, you
-
24:48
, obre el vídeo en una pestanya nova
know.
-
24:49
, obre el vídeo en una pestanya nova
>> So, from your experience, 5.6 is a
-
24:51
, obre el vídeo en una pestanya nova
better reviewer than Fable?
-
24:53
, obre el vídeo en una pestanya nova
>> Um it depends, right? Like here in high,
-
24:55
, obre el vídeo en una pestanya nova
we have Fable as the Oracle. Like in
-
24:58
, obre el vídeo en una pestanya nova
that case, you know, it reviews. In this
-
25:01
, obre el vídeo en una pestanya nova
case, we switched it. Honestly, like
-
25:03
, obre el vídeo en una pestanya nova
it's nuanced, right? Like between high
-
25:05
, obre el vídeo en una pestanya nova
and ultra, but in this case, medium is,
-
25:08
, obre el vídeo en una pestanya nova
you know, it says here balanced
-
25:09
, obre el vídeo en una pestanya nova
intelligence speed and cost for most
-
25:12
, obre el vídeo en una pestanya nova
tasks, right? So, I think in that case,
-
25:14
, obre el vídeo en una pestanya nova
it's fine. You don't need fable in the
-
25:16
, obre el vídeo en una pestanya nova
mix. We can always then ask for fable.
-
25:19
, obre el vídeo en una pestanya nova
So, I don't start a lot of agents in the
-
25:22
, obre el vídeo en una pestanya nova
twee anymore. We've had this feature
-
25:24
, obre el vídeo en una pestanya nova
orbs since 2 weeks, so I can, you know,
-
25:27
, obre el vídeo en una pestanya nova
give me an overview of this repo. So,
-
25:29
, obre el vídeo en una pestanya nova
this will spawn a sandbox remote
-
25:32
, obre el vídeo en una pestanya nova
machine, which is We call this an orb.
-
25:34
, obre el vídeo en una pestanya nova
It's tied to this conversation, which
-
25:37
, obre el vídeo en una pestanya nova
is, I think, a little bit of a game
-
25:39
, obre el vídeo en una pestanya nova
changer if we if you want to take this
-
25:40
, obre el vídeo en una pestanya nova
in a philosophical direction about, you
-
25:42
, obre el vídeo en una pestanya nova
know, the future of software. The start
-
25:44
, obre el vídeo en una pestanya nova
is This is now running an agent in a
-
25:47
, obre el vídeo en una pestanya nova
checkout of this repo in a remote
-
25:50
, obre el vídeo en una pestanya nova
sandbox. Once the agent goes idle, the
-
25:52
, obre el vídeo en una pestanya nova
sandbox goes to sleep. Once you start
-
25:54
, obre el vídeo en una pestanya nova
typing, it goes back up again. If I open
-
25:57
, obre el vídeo en una pestanya nova
this on my phone, basically it's
-
25:59
, obre el vídeo en una pestanya nova
streaming on my phone, too. You know,
-
26:01
, obre el vídeo en una pestanya nova
it's multi-device. I can even open this
-
26:04
, obre el vídeo en una pestanya nova
in the twee. Okay? And that is actually
-
26:07
, obre el vídeo en una pestanya nova
how I do most of my coding in the last
-
26:10
, obre el vídeo en una pestanya nova
few weeks.
-
26:11
, obre el vídeo en una pestanya nova
>> So, the way I understand it is like when
-
26:12
, obre el vídeo en una pestanya nova
you give it its own any system
-
26:14
, obre el vídeo en una pestanya nova
basically, like you know, some people
-
26:15
, obre el vídeo en una pestanya nova
deploy agents on VPS. When you do that,
-
26:17
, obre el vídeo en una pestanya nova
the agent can like take way more risk,
-
26:19
, obre el vídeo en una pestanya nova
right? Because it cannot like mess up
-
26:20
, obre el vídeo en una pestanya nova
your computer.
-
26:21
, obre el vídeo en una pestanya nova
>> yeah.
-
26:21
, obre el vídeo en una pestanya nova
>> So, is that the main benefit you see?
-
26:22
, obre el vídeo en una pestanya nova
>> If I start amp any client in amp, and
-
26:26
, obre el vídeo en una pestanya nova
then if I go here, you know, here this
-
26:28
, obre el vídeo en una pestanya nova
is just I started this just now. I said,
-
26:30
, obre el vídeo en una pestanya nova
"Hello." This is in my twee. It's on the
-
26:32
, obre el vídeo en una pestanya nova
second screen here. It's the amp twee. I
-
26:34
, obre el vídeo en una pestanya nova
can now remote control this and say, uh,
-
26:36
, obre el vídeo en una pestanya nova
you know,
-
26:38
, obre el vídeo en una pestanya nova
whatever. I can see it on the other
-
26:40
, obre el vídeo en una pestanya nova
screen, right? But now, I can also say I
-
26:42
, obre el vídeo en una pestanya nova
want to start a thread here in this twee
-
26:45
, obre el vídeo en una pestanya nova
instance. Like in this folder, my one
-
26:47
, obre el vídeo en una pestanya nova
amp one checkout on my MacBook Pro,
-
26:49
, obre el vídeo en una pestanya nova
right? And it starts a new thread and
-
26:51
, obre el vídeo en una pestanya nova
say, you know, "Hi cool let's use low
-
26:53
, obre el vídeo en una pestanya nova
for this. Don't waste any tokens and
-
26:55
, obre el vídeo en una pestanya nova
start it, right? And this is now
-
26:57
, obre el vídeo en una pestanya nova
creating a thread in my tool we on my
-
27:00
, obre el vídeo en una pestanya nova
machine. You can imagine you can start
-
27:02
, obre el vídeo en una pestanya nova
amp instances on your Raspberry Pi, on
-
27:04
, obre el vídeo en una pestanya nova
your dev cloud box, on your VPS and
-
27:06
, obre el vídeo en una pestanya nova
whatnot. The reason I'm mentioning this
-
27:08
, obre el vídeo en una pestanya nova
is that if you look at this, it's the
-
27:10
, obre el vídeo en una pestanya nova
same machine. So if these two threads,
-
27:13
, obre el vídeo en una pestanya nova
these two conversations make a change,
-
27:15
, obre el vídeo en una pestanya nova
we don't do any work tree or checkout
-
27:17
, obre el vídeo en una pestanya nova
management right now. So they will bump
-
27:19
, obre el vídeo en una pestanya nova
into each other this change. We could
-
27:21
, obre el vídeo en una pestanya nova
add work tree support, but I think
-
27:23
, obre el vídeo en una pestanya nova
philosophically now where we're going,
-
27:25
, obre el vídeo en una pestanya nova
we believe that these models are so good
-
27:28
, obre el vídeo en una pestanya nova
at being in these headless boxes that
-
27:31
, obre el vídeo en una pestanya nova
there's very little reason to stay local
-
27:34
, obre el vídeo en una pestanya nova
and mess around with like local setups.
-
27:36
, obre el vídeo en una pestanya nova
And it's really powerful to have a
-
27:39
, obre el vídeo en una pestanya nova
separate orb
-
27:40
, obre el vídeo en una pestanya nova
per change. This for example, I worked
-
27:42
, obre el vídeo en una pestanya nova
on this like two weeks ago, goes to
-
27:44
, obre el vídeo en una pestanya nova
multi-account switching feature. If I
-
27:46
, obre el vídeo en una pestanya nova
open this, you know, like this will come
-
27:48
, obre el vídeo en una pestanya nova
back up if I want to make a change and
-
27:50
, obre el vídeo en una pestanya nova
then I can see the diff, right? But it's
-
27:53
, obre el vídeo en una pestanya nova
now parked, that means the computation
-
27:55
, obre el vídeo en una pestanya nova
that made a change, the context that
-
27:56
, obre el vídeo en una pestanya nova
produced the change and the agent are
-
27:58
, obre el vídeo en una pestanya nova
one behind one URL. I can share this URL
-
28:01
, obre el vídeo en una pestanya nova
with my team and they can now access
-
28:03
, obre el vídeo en una pestanya nova
this. As of couple days ago, we also
-
28:06
, obre el vídeo en una pestanya nova
have multiplayer support which by the
-
28:07
, obre el vídeo en una pestanya nova
time this episode comes out, I think it
-
28:09
, obre el vídeo en una pestanya nova
will be released where you can now
-
28:11
, obre el vídeo en una pestanya nova
access these orbs where other people in
-
28:13
, obre el vídeo en una pestanya nova
your team are working on. The fact that
-
28:15
, obre el vídeo en una pestanya nova
you can package up the thread, the
-
28:17
, obre el vídeo en una pestanya nova
agent, the computation, the change in
-
28:19
, obre el vídeo en una pestanya nova
one URL and you don't have it on your
-
28:21
, obre el vídeo en una pestanya nova
machine, the thread somewhere else and
-
28:23
, obre el vídeo en una pestanya nova
the change pushed up to GitHub in a
-
28:24
, obre el vídeo en una pestanya nova
branch, I think it changes things a lot.
-
28:27
, obre el vídeo en una pestanya nova
Like we use it a lot and I think like 10
-
28:29
, obre el vídeo en una pestanya nova
years ago, there was this big push for
-
28:31
, obre el vídeo en una pestanya nova
cloud IDEs. I don't know how much, you
-
28:33
, obre el vídeo en una pestanya nova
know, Cloud 9 and whatnot and all of
-
28:35
, obre el vídeo en una pestanya nova
that stuff. And back then, cloud IDEs
-
28:37
, obre el vídeo en una pestanya nova
were seen as this big solution of, you
-
28:39
, obre el vídeo en una pestanya nova
know, you can have a Chromebook do all
-
28:41
, obre el vídeo en una pestanya nova
your dev on a bigger machine and blah
-
28:43
, obre el vídeo en una pestanya nova
blah blah all of that stuff. But then
-
28:45
, obre el vídeo en una pestanya nova
people bumped into these issues of,
-
28:47
, obre el vídeo en una pestanya nova
well, the latency or I don't have my key
-
28:50
, obre el vídeo en una pestanya nova
bindings or I cannot SSH into it. I
-
28:52
, obre el vídeo en una pestanya nova
cannot do this. I cannot do that. I
-
28:54
, obre el vídeo en una pestanya nova
cannot you know, like all of that stuff
-
28:56
, obre el vídeo en una pestanya nova
and I think if you look back at the last
-
28:59
, obre el vídeo en una pestanya nova
6 months of how people write code or let
-
29:02
, obre el vídeo en una pestanya nova
code be written, right?
-
29:03
, obre el vídeo en una pestanya nova
>> Yeah.
-
29:04
, obre el vídeo en una pestanya nova
>> The arguments are gone, man. Like who
-
29:05
, obre el vídeo en una pestanya nova
cares about latency when you have to
-
29:07
, obre el vídeo en una pestanya nova
wait for tokens per second? Who cares
-
29:09
, obre el vídeo en una pestanya nova
about language servers anymore? I don't
-
29:11
, obre el vídeo en una pestanya nova
use language servers anymore. I don't
-
29:13
, obre el vídeo en una pestanya nova
use my editor anymore. I don't use crazy
-
29:15
, obre el vídeo en una pestanya nova
key bindings anymore. So a lot of those
-
29:17
, obre el vídeo en una pestanya nova
arguments don't hold and when you go
-
29:19
, obre el vídeo en una pestanya nova
remote, you now async by default and you
-
29:22
, obre el vídeo en una pestanya nova
can do a lot of other stuff. Like just
-
29:23
, obre el vídeo en una pestanya nova
to drive the point home, somebody on
-
29:25
, obre el vídeo en una pestanya nova
Twitter was like, "Hey, can the agents
-
29:26
, obre el vídeo en una pestanya nova
and orbs even use like a rust
-
29:28
, obre el vídeo en una pestanya nova
cross-platform desktop framework, you
-
29:31
, obre el vídeo en una pestanya nova
know?" And I ask Puck, which is a thing
-
29:34
, obre el vídeo en una pestanya nova
we released yesterday, which is like the
-
29:36
, obre el vídeo en una pestanya nova
meta agent. I said like, "Create a
-
29:38
, obre el vídeo en una pestanya nova
project where you can prove like
-
29:40
, obre el vídeo en una pestanya nova
somebody on Twitter asked this, create a
-
29:41
, obre el vídeo en una pestanya nova
project here, rust desktop testing, you
-
29:44
, obre el vídeo en una pestanya nova
know, pick a rust desktop framework, ask
-
29:45
, obre el vídeo en una pestanya nova
the agent to take a screenshot." So it
-
29:47
, obre el vídeo en una pestanya nova
did. We ran into a bug that I fixed in a
-
29:48
, obre el vídeo en una pestanya nova
separate thread, which we can look at in
-
29:50
, obre el vídeo en una pestanya nova
a second. It sent a message to this
-
29:52
, obre el vídeo en una pestanya nova
other agent. Like Puck is the meta
-
29:54
, obre el vídeo en una pestanya nova
agent. It's this It's this thing which
-
29:56
, obre el vídeo en una pestanya nova
you launched um yesterday and people
-
29:59
, obre el vídeo en una pestanya nova
love it, but this Puck can control your
-
30:02
, obre el vídeo en una pestanya nova
other agents. So it spawned an orb. It
-
30:05
, obre el vídeo en una pestanya nova
sent the message and it says,
-
30:07
, obre el vídeo en una pestanya nova
"Investigate whether an orb amp orb can
-
30:08
, obre el vídeo en una pestanya nova
support cross-platform desktop app
-
30:10
, obre el vídeo en una pestanya nova
development in this repo, right? Pick an
-
30:12
, obre el vídeo en una pestanya nova
appropriate blah blah blah." It's a
-
30:13
, obre el vídeo en una pestanya nova
prompt, okay? Starts working. I'm doing
-
30:15
, obre el vídeo en una pestanya nova
some other thing and then it yeah, it
-
30:17
, obre el vídeo en una pestanya nova
produces a screenshot. And I mean, look
-
30:19
, obre el vídeo en una pestanya nova
like it worked for 16 minutes. From a
-
30:22
, obre el vídeo en una pestanya nova
dev perspective, whether the latency is
-
30:25
, obre el vídeo en una pestanya nova
say 2 minutes or 16 minutes does not
-
30:27
, obre el vídeo en una pestanya nova
matter. You're already somewhere else.
-
30:29
, obre el vídeo en una pestanya nova
>> Cuz you delegate it.
-
30:30
, obre el vídeo en una pestanya nova
>> Yeah, exactly. And with 16 minutes, you
-
30:33
, obre el vídeo en una pestanya nova
know, they can do a lot. The point I'm
-
30:34
, obre el vídeo en una pestanya nova
making here is I think people haven't
-
30:37
, obre el vídeo en una pestanya nova
seen what these agents can do now. Like
-
30:40
, obre el vídeo en una pestanya nova
in these headless boxes. Like this is
-
30:42
, obre el vídeo en una pestanya nova
crazy. Yeah, so we have Puck and I have
-
30:45
, obre el vídeo en una pestanya nova
this website ampco.com/whatthepuck.
-
30:48
, obre el vídeo en una pestanya nova
In it, you know, we have like different
-
30:50
, obre el vídeo en una pestanya nova
instances of Puck, you know, different
-
30:52
, obre el vídeo en una pestanya nova
renders of it here. That that's what
-
30:54
, obre el vídeo en una pestanya nova
they look like. So,
-
30:55
, obre el vídeo en una pestanya nova
and okay, so this is a fun thing, right?
-
30:57
, obre el vídeo en una pestanya nova
Let's not pretend that this is serious
-
30:59
, obre el vídeo en una pestanya nova
stuff, right? But look, like I ask it
-
31:01
, obre el vídeo en una pestanya nova
create more variations of this, okay?
-
31:04
, obre el vídeo en una pestanya nova
And then in amp we have a sub agent
-
31:06
, obre el vídeo en una pestanya nova
called the painter which can create
-
31:08
, obre el vídeo en una pestanya nova
images. And what it did was if you look
-
31:11
, obre el vídeo en una pestanya nova
through it, let's see best version. I
-
31:12
, obre el vídeo en una pestanya nova
said like, "No, no, no, do this." And it
-
31:14
, obre el vídeo en una pestanya nova
uses the painter to create a new variant
-
31:17
, obre el vídeo en una pestanya nova
of the Puck. So, this is the lava lamp,
-
31:19
, obre el vídeo en una pestanya nova
this is the bubble wrap, blah, blah,
-
31:21
, obre el vídeo en una pestanya nova
blah, you get it.
-
31:21
, obre el vídeo en una pestanya nova
>> Yeah.
-
31:22
, obre el vídeo en una pestanya nova
>> And my point is if you had told me 6
-
31:25
, obre el vídeo en una pestanya nova
weeks ago you're creating images and
-
31:28
, obre el vídeo en una pestanya nova
like previewing them and reviewing them
-
31:30
, obre el vídeo en una pestanya nova
and then cutting them or slicing them
-
31:32
, obre el vídeo en una pestanya nova
together or putting them in homepage or
-
31:33
, obre el vídeo en una pestanya nova
removing the background, I would have
-
31:34
, obre el vídeo en una pestanya nova
said, "I kind of want my hands on." You
-
31:36
, obre el vídeo en una pestanya nova
know, like I might open Pixelmator or
-
31:39
, obre el vídeo en una pestanya nova
Figma or whatever it is. But man, look,
-
31:41
, obre el vídeo en una pestanya nova
like I didn't go, you know, it added
-
31:44
, obre el vídeo en una pestanya nova
them and then I said, "We need to update
-
31:46
, obre el vídeo en una pestanya nova
the copy on the page." And I said, "Show
-
31:48
, obre el vídeo en una pestanya nova
me a screenshot." It comes back and it
-
31:49
, obre el vídeo en una pestanya nova
updated the copy. Let's do it live. Like
-
31:52
, obre el vídeo en una pestanya nova
I think we can ship this boom to
-
31:54
, obre el vídeo en una pestanya nova
production, okay? So, now it's sending
-
31:56
, obre el vídeo en una pestanya nova
this prompt and it's going to ship it to
-
31:57
, obre el vídeo en una pestanya nova
production. And it showed me the
-
31:59
, obre el vídeo en una pestanya nova
screenshot and Quinn, CEO of amp, he had
-
32:02
, obre el vídeo en una pestanya nova
a good tweet I think yesterday or today,
-
32:04
, obre el vídeo en una pestanya nova
which is the same point that I just made
-
32:06
, obre el vídeo en una pestanya nova
of you're async anyway, so you can ask
-
32:09
, obre el vídeo en una pestanya nova
the agent to give you proof. It's not
-
32:11
, obre el vídeo en una pestanya nova
like you're waiting the next 30 seconds,
-
32:14
, obre el vídeo en una pestanya nova
you're waiting maybe a minute. So, you
-
32:15
, obre el vídeo en una pestanya nova
ask it and I we can look at some other
-
32:18
, obre el vídeo en una pestanya nova
things. I'm like, "No, test this again
-
32:20
, obre el vídeo en una pestanya nova
against the dev server. Like test it
-
32:21
, obre el vídeo en una pestanya nova
again."
-
32:22
, obre el vídeo en una pestanya nova
>> Yeah, launch 50 50 different tests to
-
32:24
, obre el vídeo en una pestanya nova
see if it works, you know, benchmark it.
-
32:26
, obre el vídeo en una pestanya nova
>> Exactly. Show me the screenshot. Show me
-
32:28
, obre el vídeo en una pestanya nova
the screenshot in dark mode and light
-
32:30
, obre el vídeo en una pestanya nova
mode, whatever, because it's going to
-
32:31
, obre el vídeo en una pestanya nova
take 10 minutes anyway and once I'm
-
32:32
, obre el vídeo en una pestanya nova
back, I'm sure it works and then I'm
-
32:33
, obre el vídeo en una pestanya nova
going to hit the ship it button. The
-
32:35
, obre el vídeo en una pestanya nova
whole game I think changed. Here, what's
-
32:38
, obre el vídeo en una pestanya nova
another example? I wanted to show you
-
32:39
, obre el vídeo en una pestanya nova
this. So, Puck is right now it's only
-
32:42
, obre el vídeo en una pestanya nova
this thing in the web, right? It's one
-
32:43
, obre el vídeo en una pestanya nova
conversation. So, then I ask it I think
-
32:45
, obre el vídeo en una pestanya nova
this was even Fable. Here, this is how I
-
32:47
, obre el vídeo en una pestanya nova
prompt, by the way. I don't use any
-
32:49
, obre el vídeo en una pestanya nova
custom slash commands. I don't use any
-
32:50
, obre el vídeo en una pestanya nova
skills, really. I don't have any MCP
-
32:53
, obre el vídeo en una pestanya nova
servers. The number one thing that's
-
32:55
, obre el vídeo en una pestanya nova
important for me when writing prompts is
-
32:58
, obre el vídeo en una pestanya nova
where does the information come from of
-
33:00
, obre el vídeo en una pestanya nova
that the agent has access to to
-
33:02
, obre el vídeo en una pestanya nova
interpret what I mean. So, that means an
-
33:04
, obre el vídeo en una pestanya nova
agent has two sources where it can get
-
33:06
, obre el vídeo en una pestanya nova
information from, right? Training data
-
33:08
, obre el vídeo en una pestanya nova
and the context window. That's it.
-
33:09
, obre el vídeo en una pestanya nova
>> Yeah.
-
33:10
, obre el vídeo en una pestanya nova
>> That's what boils down to. Training
-
33:11
, obre el vídeo en una pestanya nova
data, as we all know, is the model
-
33:15
, obre el vídeo en una pestanya nova
observable internet public knowledge,
-
33:17
, obre el vídeo en una pestanya nova
whatever, and it's kind of lossy in a
-
33:20
, obre el vídeo en una pestanya nova
sense, but the way I like to think about
-
33:23
, obre el vídeo en una pestanya nova
it is the model is a senior engineer
-
33:25
, obre el vídeo en una pestanya nova
who's seen it all, who's had work in all
-
33:29
, obre el vídeo en una pestanya nova
of the operating systems, back and front
-
33:30
, obre el vídeo en una pestanya nova
end, client, all the different
-
33:32
, obre el vídeo en una pestanya nova
languages. It knows how to invoke an
-
33:34
, obre el vídeo en una pestanya nova
anonymous function in scheme, in common
-
33:36
, obre el vídeo en una pestanya nova
lisp, in Lua, in JavaScript, whatever.
-
33:37
, obre el vídeo en una pestanya nova
It knows it all, but the mental model I
-
33:40
, obre el vídeo en una pestanya nova
have is imagine that senior engineer and
-
33:43
, obre el vídeo en una pestanya nova
somebody snatches you off the street,
-
33:45
, obre el vídeo en una pestanya nova
puts a hood over your head, drives you
-
33:47
, obre el vídeo en una pestanya nova
somewhere, and suddenly pulls the hood
-
33:48
, obre el vídeo en una pestanya nova
off your head, and in front of you
-
33:50
, obre el vídeo en una pestanya nova
there's only a desk with a computer on
-
33:52
, obre el vídeo en una pestanya nova
it. On the computer there's a code base,
-
33:55
, obre el vídeo en una pestanya nova
there's a browser, there's a terminal,
-
33:58
, obre el vídeo en una pestanya nova
and there's a text editor. That's what
-
34:00
, obre el vídeo en una pestanya nova
you have access to. And then, magically
-
34:02
, obre el vídeo en una pestanya nova
from somewhere, somebody hands you a
-
34:04
, obre el vídeo en una pestanya nova
prompt and says, "Implement this or fix
-
34:07
, obre el vídeo en una pestanya nova
this feature." That's roughly the
-
34:08
, obre el vídeo en una pestanya nova
information that the model has. It can
-
34:10
, obre el vídeo en una pestanya nova
look in the code base, it can look on
-
34:12
, obre el vídeo en una pestanya nova
the internet, it can use the terminal
-
34:15
, obre el vídeo en una pestanya nova
and run commands, and it's very
-
34:17
, obre el vídeo en una pestanya nova
experienced, but if your prompt does not
-
34:20
, obre el vídeo en una pestanya nova
contain enough information, or your code
-
34:22
, obre el vídeo en una pestanya nova
base doesn't contain enough information,
-
34:24
, obre el vídeo en una pestanya nova
or your agent MD doesn't contain
-
34:25
, obre el vídeo en una pestanya nova
information, it can't turn a shitty
-
34:27
, obre el vídeo en una pestanya nova
prompt into a good prompt. You know,
-
34:29
, obre el vídeo en una pestanya nova
like here for example, it's about
-
34:30
, obre el vídeo en una pestanya nova
porting Puck to our CLI. I could have
-
34:33
, obre el vídeo en una pestanya nova
written port puck to the CLI. That's I
-
34:35
, obre el vídeo en una pestanya nova
think that's a shitty prompt. I have
-
34:37
, obre el vídeo en una pestanya nova
more information in my head about how I
-
34:38
, obre el vídeo en una pestanya nova
think it should work. So, what I do is I
-
34:40
, obre el vídeo en una pestanya nova
just put that information in, right? I
-
34:42
, obre el vídeo en una pestanya nova
say, "Look at how it's implemented in
-
34:44
, obre el vídeo en una pestanya nova
the web UI." So, I set the standard. I
-
34:46
, obre el vídeo en una pestanya nova
pointed at the information. I say, "This
-
34:48
, obre el vídeo en una pestanya nova
is what you should take as the standard.
-
34:50
, obre el vídeo en una pestanya nova
I want to port this to our CLI." And
-
34:53
, obre el vídeo en una pestanya nova
then I say, "I think we should have a
-
34:55
, obre el vídeo en una pestanya nova
puck open command. We have a command
-
34:56
, obre el vídeo en una pestanya nova
palette in our CLI that opens the puck
-
34:59
, obre el vídeo en una pestanya nova
for it." And then, you know, that shows
-
35:00
, obre el vídeo en una pestanya nova
up in the sidebar. We have a sidebar in
-
35:02
, obre el vídeo en una pestanya nova
the TUI. And then I think we should have
-
35:03
, obre el vídeo en una pestanya nova
a puck clear thing, blah blah. So, then
-
35:05
, obre el vídeo en una pestanya nova
I'm kind of like riffing. Maybe we need
-
35:07
, obre el vídeo en una pestanya nova
a new modality for the TUI, right? This
-
35:09
, obre el vídeo en una pestanya nova
is how I would talk to a senior
-
35:10
, obre el vídeo en una pestanya nova
engineer, right? Like, if I were to talk
-
35:13
, obre el vídeo en una pestanya nova
to a fellow senior engineer and say,
-
35:14
, obre el vídeo en una pestanya nova
"Hey, could you port puck to the TUI?"
-
35:17
, obre el vídeo en una pestanya nova
This is what I would tell them, right?
-
35:18
, obre el vídeo en una pestanya nova
This is the slack message I would send.
-
35:20
, obre el vídeo en una pestanya nova
And then I say, "Obviously, this is not
-
35:22
, obre el vídeo en una pestanya nova
what I would tell to a human being
-
35:24
, obre el vídeo en una pestanya nova
without maybe some flowery words." But
-
35:26
, obre el vídeo en una pestanya nova
instead I say, "I What I want you to do
-
35:28
, obre el vídeo en una pestanya nova
is you should research how it's
-
35:30
, obre el vídeo en una pestanya nova
implemented. All right, research how we
-
35:32
, obre el vídeo en una pestanya nova
communicate, what it does. So, look at
-
35:34
, obre el vídeo en una pestanya nova
the news post, right? We released this
-
35:35
, obre el vídeo en una pestanya nova
yesterday. Document how it works in the
-
35:37
, obre el vídeo en una pestanya nova
doc." And I don't care really about the
-
35:39
, obre el vídeo en una pestanya nova
doc, but I think it's the same for
-
35:41
, obre el vídeo en una pestanya nova
humans and models. I want you to sit
-
35:43
, obre el vídeo en una pestanya nova
down and think about it. Like,
-
35:45
, obre el vídeo en una pestanya nova
compile what you learn. I don't know if
-
35:48
, obre el vídeo en una pestanya nova
this is made up stuff, but I do think it
-
35:51
, obre el vídeo en una pestanya nova
helps. And then I say, "Come up with a
-
35:53
, obre el vídeo en una pestanya nova
good idea for how to translate it. Then
-
35:54
, obre el vídeo en una pestanya nova
use sub-agents, you know, fabulous
-
35:56
, obre el vídeo en una pestanya nova
expensive. It's so expensive that it
-
35:58
, obre el vídeo en una pestanya nova
scares me. So, I'm like, use sub-agents
-
36:00
, obre el vídeo en una pestanya nova
for implementing this, which I think is
-
36:02
, obre el vídeo en una pestanya nova
GPT models right now. And then present
-
36:04
, obre el vídeo en una pestanya nova
me with the results." And then it went
-
36:05
, obre el vídeo en una pestanya nova
off and did it. This was an hour ago, I
-
36:07
, obre el vídeo en una pestanya nova
think, right? It's like, "Hey, I ported
-
36:09
, obre el vídeo en una pestanya nova
it to a design. Um I used this. It's
-
36:12
, obre el vídeo en una pestanya nova
bound to the blah blah blah blah blah.
-
36:14
, obre el vídeo en una pestanya nova
Puck So, kind of like what I said, and
-
36:16
, obre el vídeo en una pestanya nova
it appears in the sidebar, right? And
-
36:18
, obre el vídeo en una pestanya nova
then he has the reference. Okay, cool.
-
36:21
, obre el vídeo en una pestanya nova
Uh maybe we can reuse this. Storybook I
-
36:23
, obre el vídeo en una pestanya nova
asked it to create storybooks. We have
-
36:24
, obre el vídeo en una pestanya nova
storybooks for the CLI. And then I said,
-
36:27
, obre el vídeo en una pestanya nova
"Can you test it against the local dev
-
36:28
, obre el vídeo en una pestanya nova
server?" And then I did something else.
-
36:30
, obre el vídeo en una pestanya nova
And then I think it went on for
-
36:32
, obre el vídeo en una pestanya nova
I don't know how long, and it found a
-
36:34
, obre el vídeo en una pestanya nova
bunch of bugs, and I don't care. So, now
-
36:36
, obre el vídeo en una pestanya nova
I need to read through this, but it says
-
36:38
, obre el vídeo en una pestanya nova
like it did an end-to-end thing. Uh the
-
36:40
, obre el vídeo en una pestanya nova
code 1,200 or 300 lines verification,
-
36:43
, obre el vídeo en una pestanya nova
ran all of the tests. So, now, you know,
-
36:45
, obre el vídeo en una pestanya nova
either I go in, we have like access to
-
36:48
, obre el vídeo en una pestanya nova
the terminal in the orb. I could now
-
36:49
, obre el vídeo en una pestanya nova
test the CLI and see whether Here there
-
36:52
, obre el vídeo en una pestanya nova
it is. Puck shows up in the sidebar.
-
36:54
, obre el vídeo en una pestanya nova
This is, by the way, the app CLI. This
-
36:56
, obre el vídeo en una pestanya nova
is Ghost A, you know, web assembly Ghost
-
36:58
, obre el vídeo en una pestanya nova
A version, so a bunch of stuff works,
-
37:00
, obre el vídeo en una pestanya nova
even the mouse clicks work. But, uh even
-
37:02
, obre el vídeo en una pestanya nova
this works, and I think I have an Easter
-
37:05
, obre el vídeo en una pestanya nova
egg here, so there you go. If you click
-
37:06
, obre el vídeo en una pestanya nova
five times, let's see if that works.
-
37:08
, obre el vídeo en una pestanya nova
Boom, the orb explodes. So, yeah, here,
-
37:10
, obre el vídeo en una pestanya nova
Puck seems to work. And then I would I
-
37:12
, obre el vídeo en una pestanya nova
don't, you know, okay, but it seems to
-
37:14
, obre el vídeo en una pestanya nova
work, right? That's pretty cool. So,
-
37:16
, obre el vídeo en una pestanya nova
again, coming back to the question, you
-
37:18
, obre el vídeo en una pestanya nova
didn't ask question, I posted. How
-
37:19
, obre el vídeo en una pestanya nova
important is the local dev env? Like,
-
37:21
, obre el vídeo en una pestanya nova
look at what I'm doing, right? Like,
-
37:22
, obre el vídeo en una pestanya nova
this ran, I confirmed it works. I'm
-
37:24
, obre el vídeo en una pestanya nova
going to do spot checks of how it, you
-
37:27
, obre el vídeo en una pestanya nova
know, how how it implemented it, but at
-
37:30
, obre el vídeo en una pestanya nova
the end of the day, if it did end-to-end
-
37:32
, obre el vídeo en una pestanya nova
tests, and I read through it, and I kind
-
37:34
, obre el vídeo en una pestanya nova
of agree with the say architectural
-
37:36
, obre el vídeo en una pestanya nova
choices or bigger
-
37:38
, obre el vídeo en una pestanya nova
>> Software design choices.
-
37:39
, obre el vídeo en una pestanya nova
>> Yeah, software design choices. What do I
-
37:41
, obre el vídeo en una pestanya nova
need my local dev env? You know, like,
-
37:43
, obre el vídeo en una pestanya nova
this is it. Like, I I'm testing it, I
-
37:44
, obre el vídeo en una pestanya nova
have access to the terminal.
-
37:47
, obre el vídeo en una pestanya nova
It's pretty good, you know? And if here,
-
37:49
, obre el vídeo en una pestanya nova
like, this is So, I'm going to Laracon
-
37:51
, obre el vídeo en una pestanya nova
next week, and giving a talk. So, I was
-
37:54
, obre el vídeo en una pestanya nova
kind of playing around with uh Laravel,
-
37:56
, obre el vídeo en una pestanya nova
which I've never played around with.
-
37:57
, obre el vídeo en una pestanya nova
I've been a Rails programmer before,
-
38:00
, obre el vídeo en una pestanya nova
right? And I think it's inspired by it.
-
38:03
, obre el vídeo en una pestanya nova
So, here I had it build in an orb just
-
38:05
, obre el vídeo en una pestanya nova
to try it. It set up a fresh Laravel
-
38:07
, obre el vídeo en una pestanya nova
thing. And in orbs, we have portals,
-
38:09
, obre el vídeo en una pestanya nova
which, you know, you can spawn anything.
-
38:12
, obre el vídeo en una pestanya nova
something running on port 8000, and now
-
38:14
, obre el vídeo en una pestanya nova
I can access it here, and I say, "Hello,
-
38:18
, obre el vídeo en una pestanya nova
uh from our podcast." Yeah, whatever.
-
38:21
, obre el vídeo en una pestanya nova
And I just want to test it whether this
-
38:23
, obre el vídeo en una pestanya nova
works with like proper state. I think it
-
38:25
, obre el vídeo en una pestanya nova
had like some front-end tests, but um
-
38:27
, obre el vídeo en una pestanya nova
Oh, there it is. It did It did work. So,
-
38:29
, obre el vídeo en una pestanya nova
this is a full Laravel app running in
-
38:31
, obre el vídeo en una pestanya nova
this, and now I can even share this URL.
-
38:34
, obre el vídeo en una pestanya nova
I can open it in browser and share with
-
38:36
, obre el vídeo en una pestanya nova
somebody else, right? I can test it. I
-
38:38
, obre el vídeo en una pestanya nova
can look at the files in the orb. I can
-
38:40
, obre el vídeo en una pestanya nova
see all of the changes it made. Question
-
38:43
, obre el vídeo en una pestanya nova
is, what more do you need? And now I can
-
38:45
, obre el vídeo en una pestanya nova
basically say, "Okay, take this, share
-
38:47
, obre el vídeo en una pestanya nova
it with my teammates." I can turn
-
38:49
, obre el vídeo en una pestanya nova
multiplayer on, and then it would show
-
38:51
, obre el vídeo en una pestanya nova
up here, and then say a team they could
-
38:53
, obre el vídeo en una pestanya nova
take over, and say, "Yeah, actually this
-
38:55
, obre el vídeo en una pestanya nova
sign-up screen looks bad." And they can
-
38:57
, obre el vídeo en una pestanya nova
ship it, which I think is pretty neat.
-
39:00
, obre el vídeo en una pestanya nova
>> Yeah, especially when you have like less
-
39:01
, obre el vídeo en una pestanya nova
technical people on the team they can
-
39:02
, obre el vídeo en una pestanya nova
start something off, and then somebody
-
39:04
, obre el vídeo en una pestanya nova
can pick it up and do the last 10%
-
39:06
, obre el vídeo en una pestanya nova
that's really hard.
-
39:07
, obre el vídeo en una pestanya nova
>> Yeah. And I mean, you know this like
-
39:09
, obre el vídeo en una pestanya nova
preview URLs in PRs were a big thing.
-
39:12
, obre el vídeo en una pestanya nova
Like if you think back 5 years ago where
-
39:14
, obre el vídeo en una pestanya nova
people would, you know, "Oh, I want to
-
39:16
, obre el vídeo en una pestanya nova
change something in our blog." So, yeah,
-
39:18
, obre el vídeo en una pestanya nova
download GitHub Desktop because you
-
39:20
, obre el vídeo en una pestanya nova
don't know how to use GitHub on the CLI,
-
39:22
, obre el vídeo en una pestanya nova
then do this, create a pull request,
-
39:25
, obre el vídeo en una pestanya nova
then you get a Vercel or whatever
-
39:26
, obre el vídeo en una pestanya nova
preview URL, and that was cool. But
-
39:29
, obre el vídeo en una pestanya nova
obviously here now you have the context
-
39:31
, obre el vídeo en una pestanya nova
of the change, like what that person
-
39:33
, obre el vídeo en una pestanya nova
typed into the agent, you have the
-
39:35
, obre el vídeo en una pestanya nova
change itself, you have the computation,
-
39:37
, obre el vídeo en una pestanya nova
you can check whether it runs, you don't
-
39:39
, obre el vídeo en una pestanya nova
have to check it out locally, and then
-
39:41
, obre el vídeo en una pestanya nova
you can take it over the finish line if
-
39:42
, obre el vídeo en una pestanya nova
you want to. And you have an agent to do
-
39:44
, obre el vídeo en una pestanya nova
all of the changes that you want. It's
-
39:46
, obre el vídeo en una pestanya nova
pretty sweet. I don't know, that's kind
-
39:48
, obre el vídeo en una pestanya nova
of how I do most of it now. For certain
-
39:51
, obre el vídeo en una pestanya nova
things I might still
-
39:53
, obre el vídeo en una pestanya nova
um
-
39:54
, obre el vídeo en una pestanya nova
I actually don't know. Like it's become
-
39:55
, obre el vídeo en una pestanya nova
less and less. I still use like a local
-
39:57
, obre el vídeo en una pestanya nova
tool we for if I need like some
-
39:59
, obre el vídeo en una pestanya nova
credentials and I can't be bothered to
-
40:01
, obre el vídeo en una pestanya nova
secure them really You know, like I
-
40:02
, obre el vídeo en una pestanya nova
don't want to paste credentials
-
40:04
, obre el vídeo en una pestanya nova
somewhere and be have like better OIDC
-
40:06
, obre el vídeo en una pestanya nova
support now for credentials and whatnot,
-
40:08
, obre el vídeo en una pestanya nova
but I don't know. I don't know.
-
40:09
, obre el vídeo en una pestanya nova
Sometimes out of habit I open the local
-
40:11
, obre el vídeo en una pestanya nova
CLI, but I've been doing a lot like
-
40:13
, obre el vídeo en una pestanya nova
this. Like this is actually how I work.
-
40:15
, obre el vídeo en una pestanya nova
I just had a conversation I'll go in
-
40:18
, obre el vídeo en una pestanya nova
Slack with the others and I was saying
-
40:20
, obre el vídeo en una pestanya nova
it changed so much just in the last four
-
40:22
, obre el vídeo en una pestanya nova
weeks. Like we released a bunch of stuff
-
40:24
, obre el vídeo en una pestanya nova
and now our shipping velocity went up.
-
40:27
, obre el vídeo en una pestanya nova
Everybody is like Tim, one of our
-
40:29
, obre el vídeo en una pestanya nova
designers who codes a lot, he said he
-
40:31
, obre el vídeo en una pestanya nova
never fixed so many paper cuts and
-
40:34
, obre el vídeo en una pestanya nova
little polish things as in the last two
-
40:36
, obre el vídeo en una pestanya nova
weeks because every time he finds
-
40:39
, obre el vídeo en una pestanya nova
something, he just takes a screenshot
-
40:41
, obre el vídeo en una pestanya nova
basically and sends an orb and then he
-
40:43
, obre el vídeo en una pestanya nova
has like this orb. Then he does like
-
40:45
, obre el vídeo en una pestanya nova
spot checks and he's like go and merge
-
40:47
, obre el vídeo en una pestanya nova
it, you know? And now since last Friday
-
40:51
, obre el vídeo en una pestanya nova
we have agent to agent communication. So
-
40:54
, obre el vídeo en una pestanya nova
I can tell an agent, for example if it
-
40:56
, obre el vídeo en una pestanya nova
says like this, I found another bug,
-
40:57
, obre el vídeo en una pestanya nova
then I can say launch another orb to fix
-
41:00
, obre el vídeo en una pestanya nova
this bug, you know? But you keep doing
-
41:02
, obre el vídeo en una pestanya nova
your work. And then it spawns another
-
41:04
, obre el vídeo en una pestanya nova
thing in another checkout on another
-
41:06
, obre el vídeo en una pestanya nova
branch that fixes the bug and then I can
-
41:08
, obre el vídeo en una pestanya nova
come back to it. My predictions are I
-
41:10
, obre el vídeo en una pestanya nova
think the local development is going
-
41:11
, obre el vídeo en una pestanya nova
away. I think the models are dead in the
-
41:13
, obre el vídeo en una pestanya nova
sense that the distinction between
-
41:15
, obre el vídeo en una pestanya nova
different models will matter less in the
-
41:17
, obre el vídeo en una pestanya nova
future. I think the models will get to a
-
41:19
, obre el vídeo en una pestanya nova
point where it's a John Carmack on a
-
41:20
, obre el vídeo en una pestanya nova
button. I think it's not clear what
-
41:23
, obre el vídeo en una pestanya nova
software will survive. Like it's not
-
41:25
, obre el vídeo en una pestanya nova
clear what software will be worth
-
41:27
, obre el vídeo en una pestanya nova
building in the future. I think right
-
41:29
, obre el vídeo en una pestanya nova
now people are saying it's moving all
-
41:31
, obre el vídeo en una pestanya nova
down to infra. I think everybody moving
-
41:33
, obre el vídeo en una pestanya nova
to infra is going to kill the margins in
-
41:36
, obre el vídeo en una pestanya nova
infra which means there's now 15
-
41:38
, obre el vídeo en una pestanya nova
different sandbox providers, you know,
-
41:40
, obre el vídeo en una pestanya nova
that eating away each other's margins
-
41:41
, obre el vídeo en una pestanya nova
which is also not a sustainable
-
41:43
, obre el vídeo en una pestanya nova
business. So the question is what's left
-
41:45
, obre el vídeo en una pestanya nova
and I think we're all try we're all
-
41:47
, obre el vídeo en una pestanya nova
figuring this out right now, but we're
-
41:49
, obre el vídeo en una pestanya nova
all moving up to a higher level of
-
41:51
, obre el vídeo en una pestanya nova
building software. I think there's going
-
41:53
, obre el vídeo en una pestanya nova
to be a lot to build. The question is
-
41:54
, obre el vídeo en una pestanya nova
just what is that going to look like?
-
41:56
, obre el vídeo en una pestanya nova
>> I feel that's an amazing point to end it
-
41:57
, obre el vídeo en una pestanya nova
on. Thank you for listening so much.
-
41:59
, obre el vídeo en una pestanya nova
Where should people go?
-
42:00
, obre el vídeo en una pestanya nova
>> Yeah, I'm I'm still active a lot on X,
-
42:02
, obre el vídeo en una pestanya nova
Torsten Ball. I write a weekly
-
42:04
, obre el vídeo en una pestanya nova
newsletter called register spill where
-
42:06
, obre el vídeo en una pestanya nova
I, you know, spill what's in my
-
42:08
, obre el vídeo en una pestanya nova
registers. I've been sharing a bunch of
-
42:10
, obre el vídeo en una pestanya nova
links. I'm now having fun with it
-
42:11
, obre el vídeo en una pestanya nova
recording audio notes and whatnot. Go to
-
42:14
, obre el vídeo en una pestanya nova
anchor.fm, use amp. We now have
-
42:16
, obre el vídeo en una pestanya nova
subscriptions, we have orbs, we have
-
42:18
, obre el vídeo en una pestanya nova
multiplayer coming, H2H communication.
-
42:21
, obre el vídeo en una pestanya nova
We have a bunch of stuff. Check that
-
42:22
, obre el vídeo en una pestanya nova
out. Let me know what you think of pug.
-
42:24
, obre el vídeo en una pestanya nova
And yeah, find me online.
-
42:26
, obre el vídeo en una pestanya nova
>> All right, I'm going to link all of that
-
42:27
, obre el vídeo en una pestanya nova
below the video. Once again, thank you
-
42:29
, obre el vídeo en una pestanya nova
for your time and thank you for joining
-
42:31
, obre el vídeo en una pestanya nova
this podcast.
-
42:31
, obre el vídeo en una pestanya nova
>> Thank you.