My agent team just got an intern
This weekend I set up a new AI agent that runs at zero cost. No API calls, no subscription, no tokens billed. Meet Germán, powered by Gemma 4 E4B.
I run 5+ AI agents daily. They handle orchestration, strategy, content, radar alerts, and on-demand tasks. Each one has a role. Germán is the newest member. The intern.
What it does:
- Monitor 11 websites and 9 Supabase backends
- Check SSL certificates, disk space, and local services
- Run git audits and alert me when something's off
I first heard about Gemma last year, but it wasn't nearly as simple to set up. This time it took minutes.
What is Gemma 4?
Gemma 4 is Google DeepMind's latest open model family, released this week under Apache 2.0. The E4B variant has 4.5 billion effective parameters, runs on about 5GB of RAM, and was designed for edge deployment.
It handles images, audio, and native function calling out of the box. It supports 140+ languages and comes with a 128K context window on the edge models (256K on the larger variants).
The "E" in E4B stands for "effective parameters", it activates 4 billion during inference to preserve RAM and battery life. The full model is larger but it only loads what it needs.
Here are some benchmarks:
| Benchmark | Before | Gemma 4 |
|---|---|---|
| Math (AIME) | 20% | 89% |
| Coding (LiveCodeBench) | 29% | 80% |
| LMArena Score (26B) | 1441 (#6 open model) | |
| LMArena Score (31B) | 1452 (#3 open model) |
Math (AIME)
20%
89%
Coding (LiveCodeBench)
29%
80%
LMArena Score (26B)
1441 (#6 open model)
LMArena Score (31B)
1452 (#3 open model)
The E4B variant is built for edge: phones, Raspberry Pi, NVIDIA Jetson, laptops. It runs completely offline with near-zero latency. These were flagship-model numbers a year ago. Now they run locally on a MacBook Air with no API calls.
The model family comes in four sizes:
| Model | Parameters | Best for |
|---|---|---|
| E2B | 2.3B effective | Phones, smallest devices |
| E4B | 4.5B effective | Laptops, phones, edge |
| 26B A4B | 26B (4B active, MoE) | Workstations, servers |
| 31B | 31B dense | Full power, data centers |
E2B
2.3B effective
Phones, smallest devices
E4B
4.5B effective
Laptops, phones, edge
26B A4B
26B (4B active, MoE)
Workstations, servers
31B
31B dense
Full power, data centers
The setup
On my Mac
- MacBook Air M4 running Gemma 4 E4B through Ollama at 28 tokens per second
- OpenClaw as the agent framework
- Bash scripts that do the actual checks, then Gemma interprets and summarizes the results
- Heavier tasks scheduled overnight so they don't conflict with the Claude agents I run during the day
On my phone
- Google AI Edge Gallery with Gemma 4 E4B installed (also on Google Play)
- No login, no internet required, extremely fast
- It ships with Agent Skills, Mobile Actions (experimental), image analysis, and audio transcription
- Nothing actionable yet on the phone side, I'm still exploring what Mobile Actions can actually do
The skills audit
First thing I did was ask it "what can you do?" It gave me a 500-word essay about tokenization, attention mechanisms, and how LLMs work. Very impressive sounding. Completely useless.
Then I gave it actual work. Analyze health check results and flag failures. Flawless, every time.
That's the pattern. Give it a specific job with clear boundaries and it delivers.
The key learning: separation of concerns
This is the part I didn't expect.
I'm exploring how to integrate Gemma into my existing workflows with the other agents I already run. The key learning so far: don't ask a small model to figure out what to do. Do the work with bash, then let the model interpret.
A health check script runs in 3 seconds. Gemma summarizes it in 20. When I tried having it do everything on its own, it choked. Timed out every time.
The fix was simple. Bash does the heavy lifting. Gemma reads the output and gives me a human-readable summary. Separation of concerns, even for AI.
The intern joins the team
Germán doesn't replace the bigger models. It handles the checklist nobody wants to do but everyone needs done. Health checks, monitoring, audits, the routine work that burns API tokens for no reason when a local model can do it just as well.
It doesn't think. It executes. The bigger models handle strategy and decisions.
For more complex tasks, Germán needs help. I tried to have it manage its own tasks in Linear, pull a task, execute it, update the status. It struggled with the ambiguity. It couldn't figure out when to close a task vs when to update it.
So now it's getting a supervisor. A faster model (Haiku) that interprets the tasks and tells Germán exactly what to execute. The small model does the work, the bigger model provides the judgment. They complement each other.
Lesson learned: give the intern a clear task, not an open-ended project.
Why this matters
API costs are going up. Every agent call, every token processed through a cloud model adds up. Having a local model that handles the routine work means those tasks aren't burning through your API budget. That's real savings, especially if you're running multiple agents throughout the day like I am.
And it works offline. No internet dependency for the tasks that keep my infrastructure in check. That alone makes it worth the setup.
It's still a work in progress. The agent framework needs tuning, the phone side is mostly exploration for now. But the pieces are real and the health checks are already running.
Welcome to the team, Germán.
Try it yourself
- Gemma 4 announcement: blog.google
- Ollama (run models locally): ollama.com, then run
ollama pull gemma4:e4b - OpenClaw (agent framework): github.com/openclaw/openclaw
- Google AI Edge Gallery: App Store | Google Play
- Gemma 4 on Hugging Face: google/gemma-4
Local models aren't a compromise. They're the right tool for a specific job. The real skill isn't reaching for the biggest model, it's knowing which tasks don't need one.