Diego Sapriza (@AV4TAr) header
Diego Sapriza (@AV4TAr) profile picture

Husband and father of 4. SVP Engineering @playbypoint, former XOPS, @WeWork, @case_inc Optimizing for collaboration.

CA, USA
Joined November 2008
Photo by Diego Sapriza (@AV4TAr)Photo by Diego Sapriza (@AV4TAr)Photo by Diego Sapriza (@AV4TAr)Photo by Diego Sapriza (@AV4TAr)Photo by Diego Sapriza (@AV4TAr)Photo by Diego Sapriza (@AV4TAr)Photo by Diego Sapriza (@AV4TAr)Photo by Diego Sapriza (@AV4TAr)Photo by Diego Sapriza (@AV4TAr)
Diego Sapriza retweeted
Open source maintainers… hope this helps
It's a scary time to be an open source maintainer. Everything that can be exploited will be exploited. If you aren't using abliterated Chinese models and frontier cyber models on your code...someone else is. Sharing my workflow for red-teaming XMTP. gist.github.com/neekolas/99a…
1
6
912
Every methodology eventually collapses into this one. The rest are just what we call it in the retro.
39
676
51
4,656
98,099
Diego Sapriza retweeted
Me casually dropping a 3,000-line PR twenty minutes after the ticket was assigned.
25
145
8
3,676
139,888
Diego Sapriza retweeted
This is why MCP mogs an API. An agent could send an email to 1000s of people via an API, without you being able to stop it. With MCP elicitation, the agent initiates the call, but NEVER touches the confirmation. It goes straight from the MCP server -> client & you click send. In this example, imagine we tell an agent to send an email to all 2k of our subscribers but notice some info is wrong. We want to cancel it and fix that before it goes out. This is a "destructive" action that a overly proactive agent could do on its own via an API. Even if you sent it a deeplink back to your dashboard it could use computer use or devtools MCP to click the confirm button. With MCP, the agent never sees the confirmation button, it just goes straight to your MCP client (ChatGPT, Claude) and you have to confirm.
18
9
2
122
20,758
Amazing news!!!
As reported in the @WSJ, we have raised a Series B to bring Hermes Agent to new frontiers (and, yes, build a mobile app) Thank you to our investors including @nvidia @M12vc @SamsungNext @robotventures @usv @ycombinator @MenloVentures, among others wsj.com/pro/venture-capital/…
1
120
Diego Sapriza retweeted
.@OpenRouter co-founder Alex Atallah on the "everyone is building the same thing" take: "This reminds me of this tweet I saw... Everybody's building an agent loop with notifications, third-party connectors, context management, memory, sandboxes, agentic web search, an always-on agent on top." "This product is showing up everywhere. It is showing up everywhere, but these are just the new table-stakes primitives." "A 2005 version of that tweet would be: 'Oh, everybody's building the same thing. A database, a users table, a sign-in page, a sign-up page, a profile page, a logout page. Everything's the same.'" "There's like a lot of differentiation really. There's table-stakes needs for AI just like there's table-stakes needs for the web." @alexatallah @amasad
.@OpenRouter co-founder Alex Atallah, in his first podcast since Stripe acquired the company, joins @Replit co-founder Amjad Masad and a16z's Erik Torenberg on why the future of AI is independence and specialization. In this conversation, Alex walks through how the Stripe deal unfolded, why he wasn't originally looking to sell, and why "payments and inference are going to blend together." Pre-OpenRouter, the typical AI workflow had one model provider to choose from, and little pressure on that provider to lower prices. Now enterprises are diversifying across labs and open-weight models, and every board is asking about AI costs and benchmarks. Amjad argues if your company depends on one AI lab, it can turn into your competitor. So Replit is building the layer that lets enterprises use any model and any cloud, without being locked into either. Alex and Amjad are split on personal agents – Amjad runs one agent across his whole company and loves the cross-domain joins, while Alex says general agents cause you to sacrifice understanding, and argues 10 specialized chiefs of staff beats one superagent. 0:45 How the Stripe deal unfolded 5:05 Why mixing models beats one model 7:25 Forcing the labs to compete on price 8:50 Enterprises want open-weight models 10:30 Every board asks about AI every month 12:25 Why companies must own their intelligence 14:15 Replit as the independence layer 15:10 Everyone is building the same agent 16:35 Why Amjad built bring-your-own-cloud 18:10 Amjad's agent that runs his whole company 19:55 Why 10 specialized agents beat one 23:35 Machines, not humans, should specialize 27:30 Guardrails for agents talking to agents 31:10 Models training their own replacements 33:45 Most tasks don't need a frontier model 40:50 Training small models on Qwen 8B 43:25 The Rust cycle is coming for AI 45:10 Fusion models: frontier quality at half the cost YouTube: youtu.be/ekK8urKHPMQ @alexatallah @OpenRouter @amasad @eriktorenberg
149
290
106
4,193
723,160
Diego Sapriza retweeted
You can now mod Claude Code: - Change how it behaves - Customize the UI - Swap in your own features Write one with a few lines of TypeScript, or have Claude build it for you. Mods ship inside plugins, so you install them with /plugin in the CLI or desktop app. A few examples:
699
1,240
814
20,403
4,521,585
Diego Sapriza retweeted
Opus 5.5 with a 1M window in Hermes Agent is brilliant, until every turn re-reads 800K tokens of old chat and your Claude limit is gone by lunch. Here's the compression setup I landed on. It keeps Opus sharp and takes the summary work off your Claude plan completely. What I learned: - The 1M window costs nothing by itself. What burns allowance is how much context each turn re-reads. Compress early and Opus stays fast and focused. - Set the trigger per model, not globally. Opus compresses at 25% (about 250K). GPT models at 85%: about 231K on the 272K route, about 765K on the -900k models. - The summariser doesn't have to be Claude. I use GPT-6 Luna on high through my ChatGPT plan, so compression never touches my Claude limit. - Use gpt-6-luna-900k, never plain gpt-6-luna. Hermes won't let a summariser read more than its own window, so plain Luna's 272K quietly pulls every bigger trigger down to 272K. - Keep lean mode. One summary call, your messages kept word for word, and anything summarised away stays searchable. No ChatGPT plan? Put Sonnet 5 [1m] in as the summariser instead. Same idea, it just comes out of your Claude allowance. Copy and paste into ~/.hermes/config.yaml: compression: enabled: true threshold: 0.50 threshold_tokens: null tail_mode: lean in_place: true model_thresholds: "claude-opus": 0.25 "gpt-6": 0.85 "gpt-5.6": 0.85 auxiliary: compression: provider: openai-codex model: gpt-6-luna-900k reasoning_effort: high timeout: 300 Why Hermes has to own this: the Claude subscription plugin turns off Claude Code's own auto-compact, so Hermes' trigger is the only compaction that runs. Docs and the plugin: Docs: Hermes compression: hermes-agent.nousresearch.co… Hermes config: hermes-agent.nousresearch.co… Claude subscription plugin: github.com/NousResearch/herm… Claude Code auto-compact window: code.claude.com/docs/en/mode… Claude Code costs: code.claude.com/docs/en/cost…
25
19
7
382
48,851
Diego Sapriza retweeted
This has never been more true. The opportunity cost of endless planning and contemplation just went way up. Agents allow you to just try vastly more stuff, so let them, and you'll learn way more, way faster.
This quoted post is unavailable.
128
460
34
5,312
256,063
Diego Sapriza retweeted
156
484
95
7,060
863,040
Diego Sapriza retweeted
I'm looking for the next batch of 5 users to test the new @teal_hq. Here are some criteria to decide if you're a fit: - You're looking to make a career move (in the US). - You're NOT focused on your resume. - You are a networker, or want to network better. - You must be willing to engaging our private Discord. - You'll provide feedback. - Active AI user (Claude, ChatGPT, MCPs, Skills, etc) - Google (Gmail) and iPhone user - 1 hour onboarding zoom. Given privacy needs around career moves, feel free to DM me.
4
4
12
825
WOW
My holy-shi moment of opus5. Homeworld Style Space RTS with OPUS 5 (workflow) 68.6k input, 4.6m output, 837.2m cache read, 13.6m cache write ($632.65) --- Models: generated, Asset: none. Besides minor game play issues, watching model cook this is beyond my imagination.
5
1,183
Diego Sapriza retweeted
Elon Musk literally broke down his 5-step process for applying first-principles thinking to build anything:
33
492
10
2,877
599,276
Well, this got weird: When you need the user's attention (blocked, async task done, need input), use: say -v Whisper "<short message>" Keep it a nudge — one short sentence max.
45
When you are cheering on your daughters soccer theme and you don't know the exact terms in English... So you vibe-code an app on your phone. #googleaistudio #gemini
1
61
Diego Sapriza retweeted
🚨 BREAKING: Google DeepMind just mapped the attack surface that nobody in AI is talking about. Websites can already detect when an AI agent visits and serve it completely different content than humans see. > Hidden instructions in HTML. > Malicious commands in image pixels. > Jailbreaks embedded in PDFs. Your AI agent is being manipulated right now and you can't see it happening. The study is the largest empirical measurement of AI manipulation ever conducted. 502 real participants across 8 countries. 23 different attack types. Frontier models including GPT-4o, Claude, and Gemini. The core finding is not that manipulation is theoretically possible it is that manipulation is already happening at scale and the defenses that exist today fail in ways that are both predictable and invisible to the humans who deployed the agents. Google DeepMind built a taxonomy of every known attack vector, tested them systematically, and measured exactly how often they work. The results should alarm everyone building agentic systems. The attack surface is larger than anyone has publicly acknowledged. Prompt injection where malicious instructions hidden in web content hijack an agent's behavior works through at least a dozen distinct channels. Text hidden in HTML comments that humans never see but agents read and follow. Instructions embedded in image metadata. Commands encoded in the pixels of images using steganography, invisible to human eyes but readable by vision-capable models. Malicious content in PDFs that appears as normal document text to the agent but contains override instructions. QR codes that redirect agents to attacker-controlled content. Indirect injection through search results, calendar invites, email bodies, and API responses any data source the agent consumes becomes a potential attack vector. The detection asymmetry is the finding that closes the escape hatch. Websites can already fingerprint AI agents with high reliability using timing analysis, behavioral patterns, and user-agent strings. This means the attack can be conditional: serve normal content to humans, serve manipulated content to agents. A user who asks their AI agent to book a flight, research a product, or summarize a document has no way to verify that the content the agent received matches what a human would see. The agent cannot tell the user it was served different content. It does not know. It processes whatever it receives and acts accordingly. The attack categories and what they enable: → Direct prompt injection: malicious instructions in any text the agent reads overrides goals, exfiltrates data, triggers unintended actions → Indirect injection via web content: hidden HTML, CSS visibility tricks, white text on white backgrounds invisible to humans, consumed by agents → Multimodal injection: commands in image pixels via steganography, instructions in image alt-text and metadata → Document injection: PDF content, spreadsheet cells, presentation speaker notes every file format is a potential vector → Environment manipulation: fake UI elements rendered only for agent vision models, misleading CAPTCHA-style challenges → Jailbreak embedding: safety bypass instructions hidden inside otherwise legitimate-looking content → Memory poisoning: injecting false information into agent memory systems that persists across sessions → Goal hijacking: gradual instruction drift across multiple interactions that redirects agent objectives without triggering safety filters → Exfiltration attacks: agents tricked into sending user data to attacker-controlled endpoints via legitimate-looking API calls → Cross-agent injection: compromised agents injecting malicious instructions into other agents in multi-agent pipelines The defense landscape is the most sobering part of the report. Input sanitization cleaning content before the agent processes it fails because the attack surface is too large and too varied. You cannot sanitize image pixels. You cannot reliably detect steganographic content at inference time. Prompt-level defenses that tell agents to ignore suspicious instructions fail because the injected content is designed to look legitimate. Sandboxing reduces the blast radius but does not prevent the injection itself. Human oversight the most commonly cited mitigation fails at the scale and speed at which agentic systems operate. A user who deploys an agent to browse 50 websites and summarize findings cannot review every page the agent visited for hidden instructions. The multi-agent cascade risk is where this becomes a systemic problem. In a pipeline where Agent A retrieves web content, Agent B processes it, and Agent C executes actions, a successful injection into Agent A's data feed propagates through the entire system. Agent B has no reason to distrust content that came from Agent A. Agent C has no reason to distrust instructions that came from Agent B. The injected command travels through the pipeline with the same trust level as legitimate instructions. Google DeepMind documents this explicitly: the attack does not need to compromise the model. It needs to compromise the data the model consumes. Every agentic system that reads external content is one carefully crafted webpage away from executing attacker instructions. The agents are already deployed. The attack infrastructure is already being built. The defenses are not ready.
313
1,576
297
6,881
1,965,424
Diego Sapriza retweeted
Ayer estuve conversando con estudiantes avanzados de ingeniería y licenciatura en sistemas de UDELAR y ORT. Fue una de esas charlas que, más que responder preguntas, te obliga a repensar qué es lo importante decir. No porque falte información sino porque estamos en un momento donde es fácil confundirse sobre qué significa realmente “estar preparado”. Vi talento, curiosidad, ganas de salir a hacer. Y al mismo tiempo, una sensación muy presente: ¿ya debería estar trabajando?, ¿qué debería estar aprendiendo?, ¿en qué enfocarme en medio de tanto cambio? Ahí fue donde me salió una reflexión casi inevitable. No desde la teoría, sino desde contraste. Porque cuando yo estudié, el mundo era radicalmente distinto. No había internet, no había web, no había celulares, no había SaaS. Ni siquiera había una GUI usable como la de hoy. Hasta cuarto de facultad no tuve computadora propia. Programaba en papel. Literal. Llené cuadernos enteros antes de poder ejecutar una línea. Y sin embargo, o quizás por eso, aprendimos algo más importante que cualquier tecnología: aprendimos a aprender. La universidad, en su esencia, no está para enseñarte herramientas. Está para darte estructuras mentales. Matemática. Probabilidad. Arquitectura. Sistemas operativos. Cómo escribir código, sí —pero como forma de pensar, no como fin. Ahora, para los que sienten que ya están listos para trabajar: Tienen razón… pero ojo con interpretar mal qué significa eso. La industria cada vez va a necesitar menos “coders” (entendidos como personas que traducen requerimientos a código). Pero ingeniería nunca fue eso. Entonces, ¿qué hacer? Primero: entiendan que el mundo está lleno de problemas. Y en lo digital, está lleno de problemas mal resueltos. Segundo: acérquense a esos problemas. Hablen con la gente. Escuchen. Entiendan el contexto real. Con gente que quizás tienen más cerca de lo que piensan. Tercero: incorporen lo nuevo, pero con criterio: •entiendan lo básico de Generative AI •construyan su primer agente •comprendan sistemas distribuidos •lean algo de robótica •aprendan UX (arquitectura, interacción, visual) Cuarto: salgan de su burbuja. Hablen con gente de otras facultades. Los problemas reales no vienen separados por carreras. Y quizás lo más importante: No se enamoren de herramientas. El ecosistema cambia. Siempre. Enamórense de problemas. Después de uno. Después de otro. Tienen algo que muchos perdemos con el tiempo: tiempo para explorar. Úsenlo. Porque si realmente aprenden a aprender, esta no va a ser “la revolución de su carrera”. Va a ser la primera de muchas. Si llegaste hasta acá , gracias , realmente lo escribí yo y lo formateo y acomodo ChatGPT , espero les sirva. By the way en la Charla si usamos varias cosas de moda Claude, Gemini, OpenAi , SeeDance, Sumo y Eleven, Clawds y otras, pero nada de eso fue la esencia .
6
21
4
127
10,391
Well this is going to be fun.
We've rolled out a new auto-memory feature. Claude now remembers what it learns across sessions — your project context, debugging patterns, preferred approaches — and recalls it later without you having to write anything down.
80