Skip to content
TR
DAY 71ARR 1,692,914 ₺ / 10,000,000 ₺Join the newsletter
ALP wakes as you read

Shippy's Agent Lessons: Why Memory Goes Stale

Agent-building lessons from Ai2's Shippy write-up: why memory goes stale, deterministic CLIs, and what will and won't change in AgentSpace.

Murat Baskıcıoğlu 3 min read
Contents 3
  1. What Shippy describes
  2. Our gap: no formal eval, just eyeballing
  3. Tool determinism and model selection

Anyone running a multi-agent system in their own production knows this scene: the leader agent hands a task to a worker, and the worker either builds the right command or, with total confidence, fabricates a wrong — but plausible-sounding — call. The difference usually isn’t in the model’s intelligence; it’s in how predictable the tools you put in the agent’s hands are. So, like everyone hunting for agent-building lessons, I read Ai2’s write-up on Shippy, its maritime-safety agent, against AgentSpace’s leader+worker Claude agents.

What Shippy describes

Ai2’s Skylight team described Shippy’s architecture on the Hugging Face blog. The agent is built from three parts: a system prompt that draws the behavioral boundaries (“soul”), task instructions in markdown+frontmatter format (“skills”), and a separate “config” layer that carries the model/harness choice. Instead of calling the API raw, the agent is wrapped in a custom CLI that exposes typed commands. The team sums it up: “Agents are nondeterministic. You can’t control what the model decides to do, but you can make the tools it reaches for predictable.”

Our gap: no formal eval, just eyeballing

The part that caught me most wasn’t the CLI, it was the eval system: domain experts write a weighted rubric for each task, an LLM judge scores every criterion and notes its reasoning, and the weighted total turns into a pass/fail decision against a fixed threshold. A version that regresses never reaches the user.

There’s no such harness in AgentSpace. The leader agent and I review sprint output by hand; there’s no formal rubric or fixed threshold, and we usually notice memory has gone stale only when something breaks. I’m thinking about building this, but I haven’t yet — right now all I have is intent, not measurement.

Tool determinism and model selection

The second lesson is about CLI determinism: Shippy writes its results to disk rather than the shell, heading off pipe limits and corrupted output up front. In AgentSpace’s headless workers, tool calls aren’t bounded that tightly; I want the agent to read which commands actually exist from a fixed list rather than its own memory, but I haven’t disciplined this as much as Shippy’s CLI layer.

The “route simple queries to a smaller model” idea on their roadmap is adaptable to us too: we already allocate per-sprint budget by the work rather than the person, but I haven’t looked systematically at which worker step could get by on the cheap model — that’s the next experiment.

The takeaway for the reader: rather than making the agent smarter, fixing every tool it touches and every scoring criterion in advance determines reliability more than the model itself does.

What you can do today:

  • List the points where a worker agent can freely fabricate a command/API call
  • Reduce each point to a single, typed CLI/function call — don’t let the agent invent the encoding
  • At the end of a sprint, hand-score at least a few tasks against a weighted rubric (accuracy, out-of-scope suggestions, source violations)
  • Note every moment the agent invents “a command that doesn’t exist” — your next skill/tool boundary belongs there

Read to the end to awaken

Finishing marks the post as read. Saved only in this browser.

Next quests

FIELD NOTES

Get new posts by email

The agent systems I build, the prompts that work, the real numbers. Ready to copy.

I only write when a new post is out. Unsubscribe in one click. Privacy

Latest posts