OplossingenVibe coding
Elke prompt een draaiende app
Je agent bouwt elke app in een sandbox, met een link om hem te bekijken, en rolt hem daarna uit als Kubus die slaapt tot iemand hem opent.
from glac import Glac, AGENTS
glac = Glac()
sbx = glac.sandboxes.create(image=AGENTS, env=model_keys)
sbx.agent("claude").run("Make a todo app on port 3000")
print(sbx.url(3000)) # preview: a link to the port
image = "ghcr.io/you/todo:1" # what your build pushed
app = glac.cube.deploy(image, name="todo", port=3000)
print(app.url) # its own HTTPS address
app.rollback(1) # back a version in one callTwee machines voor elke app
Elke app heeft een machine nodig om in te bouwen en een om op te draaien, en voor elk betaal je de hele maand als ze blijven draaien. Hier slapen ze allebei: de sandbox als de agent stopt, de Kubus tussen verzoeken.
Bouw in een sandbox, rol uit als Kubus
De agent werkt in een sandbox, met een link naar zijn ontwikkelserver en een fork voor elke poging. Wat hij oplevert, is een image, uitgerold als Kubus op een eigen adres, met instanties die wakker worden voor verzoeken.
Wat je product krijgt
Bouw in een sandbox: een terminal, een link naar de ontwikkelserver, een fork voor elke poging.
Een volume voor de database, afgerekend op de data die erop staat.
Rol uit als Kubus: elke uitrol een versie, op een eigen adres of het domein van je klant.
In slaap tot iemand hem opent: hij gaat slapen als de verzoeken ophouden en wordt wakker met zijn geheugen.
Eén instantie per eindgebruiker, gekozen via een sleutel in het verzoek.
Verbruik per klant, uitgelezen via hun label, met een maandelijkse uitgavenlimiet.
Illustratieve voorbeelden
Gemeten, niet beloofd
Medianen op bare metal terwijl er verder niets draait: het gunstigste geval, en dat zeggen we erbij. Een instantie van een Kubus is van dezelfde soort als een sandbox. Hoe we meten
- om een slapende instantie te wekken2
- 3.5 ms
- voor de aanroep die hem wekte, van verzonden tot beantwoord2
- 6.7 ms
- om hem in slaap te brengen, met zijn geheugen en processen2
- 2.3 ms
Kijk het zelf na bij je eigen apps zodra de dienst opengaat: de logregel van een verzoek dat een instantie wekte, zegt hoe lang het wekken duurde.
glac cube logs todo -f
# one line a request; one that woke an instance says how long it tookDe producten die het gebruikt
- SandboxEen eigen computer voor elke agentWaar de agent bouwt en een preview maakt, met een fork voor elke poging.
- KubusElk containerimage als app die tussen verzoeken slaaptWaar elke app draait zodra hij uitgerold is, op een eigen adres, in slaap tussen verzoeken.
- VolumeDe schijven van Kubus, die langer meegaan dan hun instantieEen schijf voor de eigen database van een app.
- Serverloze PostgresBinnenkortPostgres die slaapt als er niets te doen is en wakker wordt bij een verbindingBeheerde Postgres voor de apps, in slaap als er niets te doen is, zodra hij beschikbaar is.
Een maand, uitgerekend
Duizend apps gemaakt en gedraaid in een maand, tegen de lijstprijzen. Bereken je eigen maand
Het gebruik
- 1 000 apps, elk een halfuur door de agent gebouwd in een sandbox van 2 vCPU’s en 4 GiB, de CPU een vijfde van de tijd actief, 2 GiB in gebruik; de sandbox daarna verwijderd.
- Elke app daarna een Kubus die in de maand 30 000 verzoeken beantwoordt, elk 20 ms CPU, 256 MiB in gebruik, 20 KB per antwoord.
- Verzoeken komen willekeurig binnen; een instantie is wakker terwijl ze antwoordt en blijft daarna nog 10 minuten gepauzeerd in het geheugen voordat ze gaat slapen.
Een maand tegen de lijstprijzen
- CPU1.38 miljard CPU-ms × $0.01 / M$13.81
- Geheugen180 827 GiB-uur × $0.008$1,446.61
- Verzoeken30 miljoen × $0.30 / M$9.00
- Uitgaand verkeer600 GB × $0.004$2.40
Met Betaald kost deze maand $1,468.82: het abonnementsgeld van $5, en $1,463.82 boven wat de inbegrepen hoeveelheden dekken, uit je saldo tegen dezelfde prijzen.
Rol de eerste app uit
Een sleutel, dan een image dat met één commando als Kubus wordt uitgerold, of een sandbox waarin je agent kan bouwen.