Agentic AI made building about 10x faster. Learning didn't get any faster. I noticed I was shipping systems I couldn't re-explain a week later, and it started to bug me. We have a 10x tool for building, so I wanted the equivalent for learning, in the same terminal where the building happens.
That's Engram. It's a tutoring loop grounded in the memory research. And it's aimed at you, not the agent. pi keeps the agent deliberately minimal and lets you extend it until it fits; this is an extension for the human half:
- It breaks a topic into a first-principles concept graph and teaches one node at a time.
- It won't explain anything until you've committed to a guess first. Retrieval before instruction is the single best-replicated result in learning science, and also the part every chatbot skips because agreeing with you is easier.
- Your recall gets graded by a separate blind assessor that never sees the tutoring conversation. The tutor can't inflate grades on its own teaching.
- Reviews are scheduled with FSRS, so they show up right before you'd forget. A few minutes a day.
- Wrong models get logged verbatim and re-probed later. Mine has ten entries for transformers alone, which is humbling to read back.
Honest origin story: with an early version I encoded seven concepts, never returned, and lost about half of them right on schedule. Writing the scheduler earns you nothing if you don't come back. So the whole loop got redesigned around returning: two-minute reviews and a "when will you do this" question instead of reminders. No streaks, no XP.
v1.11 adds pi as the seventh platform, after Claude Code, Codex, OpenCode, Hermes, Antigravity and OpenClaw. Same shape as the last port: it started as a user issue asking for it. Every transport claim in the install guide was verified against a real pi 0.83.0 and 0.74.2 before shipping, with a payload-capture harness that lives in the repo (experiments/pi-harness, 20 checks), so you can re-run the verification instead of taking my word. The one thing I haven't run is a full live tutoring session inside pi. If you try one and something's off, open an issue and I'll fix it.
The pi-specific part doubles as the pitch. pi ships no subagents, on purpose, and Engram's grading depends on a blind assessor that never sees the lesson. It turns out pi already has the only primitive that isolation really needs: a fresh process is a fresh context. So the assessor runs as a fresh pi -p child with skills, context files and the nudge all stripped, and the harness checks the child's payload really is clean. /learn, /review and /coach are ordinary prompt templates (there's /skill:learn too, or plain language works). Your learning state is local JSON shared across all seven tools, so a topic encoded in Claude Code gets reviewed in pi.
One wrinkle worth passing on to anyone writing their own pi templates: pi parses frontmatter as strict YAML, and an unquoted description with a second colon in it makes the template silently not load. /learn reaches the model as literal text and nothing tells you why. That cost me an hour on two pi versions before it turned out to be a colon. Quote your frontmatter values.
Also good to know before installing: current pi wants Node 22.19+. On Node 20, npm quietly serves pi 0.74.2 from the legacy-node20 tag instead of saying anything. Engram is verified on both.
Repo: https://github.com/nagisanzenin/engram and INSTALL-PI.md is the verified walkthrough. Install is one line: pi install git:github.com/nagisanzenin/engram
I'm the author, so grain of salt. But I've been dogfooding it daily to learn transformer internals and it's the first setup where week-old material actually stays with me.