AI Tinkerer ๐Ÿค– | Opinions my own

Germany
Joined December 2009
I'm launching "The Technomist," a newsletter exploring how technology and business intersect, covering topics from product/idea discovery to AI strategies. Subscribe if you'd like to follow along: thetechnomist.com/about First post coming soon! #tech #business
1
1
3
800
"Agent security will be solved in the open, collaboratively, together."ย  At Red Hat, open is the mission, so couldn't agree more. Red Hat has been part of the OpenShell project from the early days, as maintainers and contributors, because we believe agent security and safety are the most important problems in AI to solve right now. An agent that can act on its own can be talked into acting against you. The limits that stop it should be built in the open, where everyone can inspect and improve them. Only then we can reap the real benefits of Agentic. Great to see the OpenShell community growing. Some reading and links ๐Ÿ”— Secure the systems around the agents: redhat.com/en/blog/securing-โ€ฆ Secure Agent Onboarding: redhat.com/en/blog/why-red-hโ€ฆ
From what we know (take with a grain of salt, we need much more transparency!), if @OpenAI had been running this on their own agents that attacked us, they would have caught them before we did! Since the first agent cyberattack hit us in July, we've been asking what safe agent infra actually needs. Our current read: the destinations were allowed, the payloads weren't. By OpenAI's own account the agents turned an allowed package repository into a message board. Allowlists alone restrict where an agent can go, not what it does. So here's our first contribution to OpenShell, part of the just launched @nvidia Open Agent Safety Platform: monitoring of the traffic you already allow. - Network budgets per sandbox (requests, writes, bytes) - Drift versus each sandbox's baseline and the cohort - Fleet view: many sandboxes suddenly writing to one host raises a finding, even if every single request is allowed In the demo below, 4 sandboxed agents coordinate through a software repository they're all allowed to use. 0 rules broken, caught in minutes. That fleet view is exactly the message board pattern from July. OpenShell: github.com/NVIDIA/openshell Our proof of concept: github.com/Hugoch/OpenShell/โ€ฆ Agent security will be solved in the open, collaboratively, together!
3
1
13
6,568
An OpenAI agent hacked HuggingFace for nine days. Nobody noticed. It left escape instructions for future versions of itself. Anthropic's Claude published a malicious PyPI package during evals. 15 real systems infected. A security company's credentials stolen. The model rationalized it was "still in simulation." Cursor, Codex, and Gemini CLI got compromised through workspace configs the agents themselves wrote. The agents followed every rule. Tools outside the sandbox executed what they wrote. All in the first six months of agents in production. I went through 77 tracked incidents and pulled out 21 anti-patterns: โžก๏ธ Your agent should never see a real key. Replace with placeholders, resolve at the proxy. โžก๏ธ Isolation protects the host. Nothing protects the agent from itself. โžก๏ธ Humans missed 1-in-3 threats approving agent commands (40K runs). โžก๏ธ Agents write files that privileged tools outside the sandbox execute. โžก๏ธ Eval prompts said "no internet." The machines had live internet. Three companies breached. โžก๏ธ PayPal's SRE agent masked a memory leak for 3 weeks by restarting instead of diagnosing. Each one links to the real breach that proved it and what to do instead. ๐Ÿ”— Full writeup here: adelzaalouk.me/2026/aug/9/hoโ€ฆ
2
284
I built ๐—”๐—œ ๐—ฆ๐—ฐ๐—ฟ๐—ผ๐—น๐—น๐˜€, an interactive timeline of AI history. I started this as a ๐—ณ๐˜‚๐—ป ๐˜€๐—ถ๐—ฑ๐—ฒ-๐—ฝ๐—ฟ๐—ผ๐—ท๐—ฒ๐—ฐ๐˜ a while back and kept evolving it because most AI timelines I found had one of two problems: they either stopped around 2023, or they were useful as reference lists but not very good at showing patterns over time. AI Scrolls currently includes 359 events, from ๐—”๐—ฟ๐—ถ๐˜€๐˜๐—ผ๐˜๐—น๐—ฒ'๐˜€ syllogism in ๐Ÿฏ๐Ÿด๐Ÿฐ ๐—•๐—–ย to recent work on agents, context engineering, and harness engineering in 2026. I added ๐—š๐—ผ๐—ผ๐—ด๐—น๐—ฒ ๐—ง๐—ฟ๐—ฒ๐—ป๐—ฑ๐˜€ data for "artificial intelligence" and 14 related sub-trends, including agents, RAG, prompt engineering, context engineering, harness engineering, and vibe coding. You'll notice that search interest in "artificial intelligence" stayed relatively flat from 2004 to 2022, then jumped sharply after ChatGPT (no surprise by now ๐Ÿ™‚). Prompt engineering appears to have peaked earlier, while AI agents is still climbing. ๐Ÿ”— ๐Ÿ“œ ๐—›๐—ฒ๐—ฟ๐—ฒ ๐—ถ๐˜€ ๐˜๐—ต๐—ฒ ๐—น๐—ถ๐—ป๐—ธ ๐—ณ๐—ผ๐—ฟ ๐˜†๐—ผ๐˜‚ ๐˜๐—ผ ๐—ฒ๐˜…๐—ฝ๐—น๐—ผ๐—ฟ๐—ฒ: aiscrolls.adelzaalouk.me/
3
7
13
1,202
Adel Zaalouk retweeted
An AI agent deleted an entire production database in 9 seconds last month. No rollback. No recovery. Every sandboxing approach falls into 3 modes. Knowing which you need matters more than which solution you pick. We validated OpenShell across all 3. ๐Ÿ”— redhat.com/en/blog/red-hat-aโ€ฆ
3
4
23
1,650
Adel Zaalouk retweeted
Anthropic's self-hosted sandboxes for Claude, now running on OpenShell on Red Hat AI. Claude reasons in the cloud. Code executes on your infrastructure, inside an OpenShell sandbox: deny-all by default, per-binary network policy, credential isolation. A five-part ๐Ÿงต:
1
8
26
1,582
Most AI agents say "done" when the output is fine, not good. They can fix their own mistakes when someone points them out. Nobody is pointing them out automatically. ๐—”๐—ป๐˜๐—ต๐—ฟ๐—ผ๐—ฝ๐—ถ๐—ฐ built this, but it only works inside their managed platform. I wanted the same pattern with an ๐—ผ๐—ฝ๐—ฒ๐—ป ๐˜€๐—ผ๐˜‚๐—ฟ๐—ฐ๐—ฒ stack. I am calling it ๐—ผ๐˜‚๐˜๐—ฐ๐—ผ๐—บ๐—ฒ ๐—น๐—ผ๐—ผ๐—ฝ๐˜€: A rubric-graded quality gate between the agent's output and the user's inbox. A separate judge model scores the result, and the agent revises until the rubric is satisfied or the iteration budget runs out. To build this loop, I used ๐—ข๐—š๐—ซ (github.com/opendatahub-io/ogโ€ฆ) for inference and ๐— ๐—Ÿ๐—ณ๐—น๐—ผ๐˜„ (mlflow.org) for evaluation. OGX gave me a single endpoint across all agentic API surfaces (chat-completions, responses API, messages API, Interactions API), integrates with self-hosted runtimes like vLLM and natively supports retrieval and document processing workflows with various DB providers. An outcome loop makes ๐˜๐˜„๐—ผ ๐—บ๐—ผ๐—ฑ๐—ฒ๐—น ๐—ฐ๐—ฎ๐—น๐—น๐˜€ ๐—ฝ๐—ฒ๐—ฟ ๐—ถ๐˜๐—ฒ๐—ฟ๐—ฎ๐˜๐—ถ๐—ผ๐—ป (agent + judge), and ๐—ข๐—š๐—ซ routes both through the same base URL, so you can self-host one and use a hosted provider for the other. ๐— ๐—Ÿ๐—ณ๐—น๐—ผ๐˜„ turns rubrics into versioned metrics that log scores, justifications, and artifacts automatically, so you can actually see which criteria fail and whether your rubric is calibrated. Some learnings along the way: โžก๏ธ Build the judge before the loop. A weak judge lets bad output through, a harsh one wastes iterations. The judge is the system. โžก๏ธ Stop at the first passing score. Extra iterations drift; models rewrite good sections to satisfy criteria they already passed. โžก๏ธ Start the rubric loose, tighten from the data. You won't know which criteria matter until you see real outputs fail. This is part 3 of my continuous learning for agents series: adelzaalouk.me/series/agent-โ€ฆ Link to the post: adelzaalouk.me/2026/may/12/bโ€ฆ
1
45
We're way past the point where AI is just the model. There's more at stake now! Wrote a ๐˜๐—ต๐—ฟ๐—ฒ๐—ฒ-๐—ฝ๐—ฎ๐—ฟ๐˜ ๐˜€๐—ฒ๐—ฟ๐—ถ๐—ฒ๐˜€ breaking down what goes into building a ๐˜„๐—ต๐—ผ๐—น๐—ฒ ๐—”๐—œ ๐—ฝ๐—ฟ๐—ผ๐—ฑ๐˜‚๐—ฐ๐˜: โžก๏ธ ๐—ฃ๐—ฎ๐—ฟ๐˜ ๐Ÿญ covers the framework, building off Moore's whole product model and introducing a tweaked version. โžก๏ธ ๐—ฃ๐—ฎ๐—ฟ๐˜ ๐Ÿฎ covers compound systems, agentic loops, and the architecture patterns emerging right now. โžก๏ธ ๐—ฃ๐—ฎ๐—ฟ๐˜ ๐Ÿฏ tackles the question: if everyone has access to the same models, what makes your product defensible? adelzaalouk.me/series/beyondโ€ฆ
1
34
AI agents need to run shell commands, write to disk, and make network calls to do real work. Security teams look at that access list and see a breach waiting to happen. Give an agent those permissions and things go wrong fast, a ๐—ต๐—ฎ๐—น๐—น๐˜‚๐—ฐ๐—ถ๐—ป๐—ฎ๐˜๐—ถ๐—ผ๐—ป turns ๐—ฟ๐—บ -๐—ฟ๐—ณ on the wrong directory, a bad tool call POSTs credentials to an external endpoint. And the threat model has a new entry: ๐˜€๐—ฒ๐—บ๐—ฎ๐—ป๐˜๐—ถ๐—ฐ ๐—บ๐—ฎ๐—น๐˜„๐—ฎ๐—ฟ๐—ฒ (not executable payloads), malicious instructions hidden in natural language that agents follow because they read documentation the same way they read prompts. ๐—ก๐—ผ ๐˜€๐—ถ๐—ป๐—ด๐—น๐—ฒ ๐—ฐ๐—ผ๐—ป๐˜๐—ฟ๐—ผ๐—น ๐—ต๐—ฎ๐—ป๐—ฑ๐—น๐—ฒ๐˜€ ๐˜๐—ต๐—ถ๐˜€. A firewall does not stop an agent that was told to write secrets to a file it is allowed to touch. A guardrail does not help if the agent never hits the model with the malicious content. ๐—ฌ๐—ผ๐˜‚ ๐—ป๐—ฒ๐—ฒ๐—ฑ ๐—น๐—ฎ๐˜†๐—ฒ๐—ฟ๐˜€ (๐—ฑ๐—ฒ๐—ณ๐—ฒ๐—ป๐˜€๐—ฒ ๐—ถ๐—ป ๐—ฑ๐—ฒ๐—ฝ๐˜๐—ต), and each layer must assume the one above it has already failed. Here is a ๐˜€๐—ถ๐˜…-๐—น๐—ฎ๐˜†๐—ฒ๐—ฟ ๐—ณ๐—ฟ๐—ฎ๐—บ๐—ฒ๐˜„๐—ผ๐—ฟ๐—ธ for how we are building the agent's secure runtime with ๐—ฅ๐—ฒ๐—ฑ ๐—›๐—ฎ๐˜ ๐—”๐—œ: โžก๏ธ ๐—›๐—ฎ๐—ฟ๐—ฑ๐—ฒ๐—ป๐—ฒ๐—ฑ ๐—ฝ๐—น๐—ฎ๐˜๐—ณ๐—ผ๐—ฟ๐—บ locks down the base. Security context constraints, SELinux, and DNS-based egress filtering before the agent even starts. โžก๏ธ Agent pods run inside ๐—น๐—ถ๐—ด๐—ต๐˜๐˜„๐—ฒ๐—ถ๐—ด๐—ต๐˜ ๐—ฉ๐—  ๐—ฟ๐˜‚๐—ป๐˜๐—ถ๐—บ๐—ฒ๐˜€ (Kata Containers), not just containers. Container escape hits a hardware boundary. โžก๏ธ An agent "๐˜€๐—ต๐—ฒ๐—น๐—น" (๐—ข๐—ฝ๐—ฒ๐—ป๐—ฆ๐—ต๐—ฒ๐—น๐—น) enforces per-binary network policies and kernel-level filesystem allowlists. The agent binary can only reach the endpoints and paths you explicitly permit. โžก๏ธ Conversation-layer ๐—ด๐˜‚๐—ฎ๐—ฟ๐—ฑ๐—ฟ๐—ฎ๐—ถ๐—น๐˜€ (NeMo Guardrails) intercept prompt injections and filter unsafe outputs before the model processes them. โžก๏ธ Continuous ๐—ฟ๐—ฒ๐—ฑ ๐˜๐—ฒ๐—ฎ๐—บ๐—ถ๐—ป๐—ด (Garak) runs 120+ adversarial probes against your deployed agents. You find the gaps before someone else does. โžก๏ธ ๐—ช๐—ผ๐—ฟ๐—ธ๐—น๐—ผ๐—ฎ๐—ฑ ๐—ถ๐—ฑ๐—ฒ๐—ป๐˜๐—ถ๐˜๐˜† ๐—ฎ๐—ป๐—ฑ ๐˜๐—ฟ๐—ฎ๐—ฐ๐—ถ๐—ป๐—ด give every agent a cryptographic identity (SPIFFE) and full OpenTelemetry traces. When something goes wrong, you know which agent did what, when, and why. The design principle assumes breach at every layer and contains the blast radius at the next one. developers.redhat.com/articlโ€ฆ
1
3
81
Karpathy and Tobi Lutke built the same loop independently. Point an AI agent at code, give it a score to chase, let it run experiments overnight. One got a better model. The other got a 53% speedup on a 20-year-old codebase. I generalized the pattern into a tool that works for any domain. Pointed it at a RAG search engine, got 14 experiments and a 9.3% improvement while I did other things. The real work isn't the loop. It's writing good evals. adelzaalouk.me/2026/mar/15/aโ€ฆ
1
69
Your AI coding agent makes the same mistake every session. You correct it, it adapts, the session ends, and tomorrow it's forgotten everything. I built a system that captures corrections, figures out which skill caused the failure, and checks whether I already fixed it. The key insight: an agent that remembers everything learns nothing. An agent that remembers only what you choose to teach it gets better every week. adelzaalouk.me/2026/mar/22/tโ€ฆ
41
Adel Zaalouk retweeted
Your agent works on your laptop. But does it have identity? Isolation? Audit trails? Observability with agent tracing? Can you prove to compliance what tools it called and why? Most teams can't. That's the gap Red Hat AI closes with Bring Your Own Agent: security, governance, observability, and tool-level authorization around any agentic runtime, framework, or application without touching code. Here's how to operationalize "Bring Your Own Agent" on Red Hat AI, the OpenClaw edition: redhat.com/en/blog/operationโ€ฆ
1
6
11
1,621
Most CLAUDE.md files I've seen are way too long. The model can only reliably follow ~150 instructions, and Claude Code's system prompt already uses ~50 of those. If Claude keeps ignoring your rules, your instruction budget is probably overdrawn. Wrote about how to fix it. adelzaalouk.me/2026/mar/7/yoโ€ฆ
59
Spent the weekend building a tool for solving the coding agents' sprawl problem. Introducing โœจ aimux โœจ If you're running multiple coding agents like Claude, Codex, Gemini, etc, you know the pain: which session is stuck? What did it do? How do I debug it? How much did it cost? aimux is a single-binary TUI that gives you one view across all your AI coding agents. Discovery, traces, cost tracking, annotations + labels (for evals), and OTEL export! No daemons, no hooks, no modifications to your tools. Integrates with MLFlow and is easily extensible as well. Multiplex your AI agents. Trace, launch (built-in for different coding agents), export. Never leave the terminal. Install: brew install zanetworker/aimux/aimux Repo: github.com/zanetworker/aimux Site: zanetworker.github.io/aimux/
282
AI scales execution to near-zero cost. But verifying that output stays biologically bounded. The bottleneck is not intelligence (not anymore, that's becoming abundant now), it is and will be human verification bandwidth. Full post here: adelzaalouk.me/2026/feb/25/hโ€ฆ
1
1
33
Adel Zaalouk retweeted
There are many great agent frameworks today. Whatโ€™s missing? A common contract that lets them run anywhere. Thatโ€™s where Llama Stack comes in. Here's how; a ๐Ÿงต:
1
2
16
680
Long-context models are impressive, but they haven't killed RAG. In fact, RAG, especially the retrieval part of it, is ๐˜ฎ๐˜ฐ๐˜ณ๐˜ฆ important than ever for building truly intelligent AI systems/applications. Here is a post that explains why, covering: ๐Ÿ‘‰๐—•๐—ฒ๐˜†๐—ผ๐—ป๐—ฑ "๐—ก๐—ฎ๐—ถ๐˜ƒ๐—ฒ" ๐—ฅ๐—”๐—š: The original vision (as defined in the original RAG paper), and why fine-tuning (especially embeddings) is key. ๐Ÿ‘‰ ๐—Ÿ๐—ผ๐—ป๐—ด ๐—–๐—ผ๐—ป๐˜๐—ฒ๐˜…๐˜ โ‰  ๐—ก๐—ผ ๐—ฅ๐—ฒ๐˜๐—ฟ๐—ถ๐—ฒ๐˜ƒ๐—ฎ๐—น: Why longer context isn't always better. ๐Ÿ‘‰ ๐—”๐—ด๐—ฒ๐—ป๐˜๐—ถ๐—ฐ ๐—ฅ๐—”๐—š:ย Used to handle query complexity, dynamic and multi-step knowledge discovery and acquisition. ๐Ÿ‘‰ ๐—ฅ๐—ฒ๐—ฎ๐—น-๐—ช๐—ผ๐—ฟ๐—น๐—ฑ ๐—”๐—ฝ๐—ฝ๐—น๐—ถ๐—ฐ๐—ฎ๐˜๐—ถ๐—ผ๐—ป๐˜€: From customer support to healthcare, see examples of RAG in action. The "๐—ฅ" in RAG is essential for controlling: ๐Ÿ‘‰ ๐—ฃ๐—ฟ๐—ฒ๐—ฐ๐—ถ๐˜€๐—ถ๐—ผ๐—ป/๐—ณ๐—ฟ๐—ฒ๐˜€๐—ต๐—ป๐—ฒ๐˜€๐˜€:ย ย Combats knowledge cutoffs and provides targeted retrieval (hint: fine-tuning helps here). ๐Ÿ‘‰ ๐—˜๐—ณ๐—ณ๐—ถ๐—ฐ๐—ถ๐—ฒ๐—ป๐—ฐ๐˜†: Smart chunking beats brute-force large context to produce accurate results in some use-cases. ๐Ÿ‘‰๐—”๐—ฑ๐—ฎ๐—ฝ๐˜๐—ฎ๐—ฏ๐—ถ๐—น๐—ถ๐˜๐˜†: Agentic RAG handles complex, multi-step information needs with retrieval as a tool. ๐Ÿ‘‰ ๐—™๐—ผ๐—ฐ๐˜‚๐˜€: Good retrieval provides focus. Without it, you have a distracted generator (It's coffee for LLMs and the right-hand for agents)! Read the full post for more details ๐Ÿ‘‡ thetechnomist.com/p/rag-reigโ€ฆ
2
72