Matt Pocock

무엇이든 배우게 하는 /teach 스킬 — 에이전트를 stateful 1:1 교사로 만드는 설계

Matt Pocock

Matt Pocock이 10년의 티칭 경험을 /teach 스킬 하나에 눌러 담은 과정. 좋은 가르침은 본질적으로 stateful이라는 통찰에서 출발해 mission·resources·HTML 레슨·learning record·glossary로 구성된 학습 워크스페이스를 만들고, zone of proximal development에 맞춰 매 레슨을 재단한다. 지식·기술은 에이전트가, 지혜는 커뮤니티가 — 그리고 개발자는 AI가 가장 잘하는 일을 가장 먼저 써본 first mover로서 그 본능을 코딩 바깥으로 가져가라는 제안.

무엇이든 배우게 하는 /teach 스킬 — 에이전트를 stateful 1:1 교사로 만드는 설계

생각 덩어리

10년의 티칭을 버스 한 번에 — Rubik's Cube를 가르친 스킬

I've been teaching stuff for 10 years. I was a voice coach for 6 years and I've been doing this job teaching devs for 4 years. And for a while I've been thinking, wouldn't it be great if I could take everything I know about teaching and put it inside a skill so that anyone could learn anything.

I had a long bus ride to London the other day and I wrote a teach skill and it turns out that it's pretty good. It taught me how to solve a Rubik's Cube, which is something, you know, I've always wanted to learn how to do, but I never really had the time or inclination to do it.

It felt like I had a real teacher who was teaching how I like to be taught and was totally aligned with my mission.

Stateful vs stateless — 스킬 설계의 첫 번째 분기

The key concept when we're looking at a teach skill is some skills can be stateful and some skills can be stateless.

A stateless skill doesn't save anything on the file system to help it pick up where it left off later. Whereas stateful skills do do that. They save things either to the local file system or they save things to MCP servers. They keep notes that they later track.

좋은 가르침은 원래 stateful — 교사는 학생이 어디까지 왔는지 기억한다

I realized that all the good teaching that I do is stateful where I teach you, I being the teacher, I remember where you've got to. I know what you've learned. I know what you can go to next and I've got a bunch of great resources that I remember from previous times that I've taught this thing.

Grill me is totally stateless. It just grills you about a topic until you're ready to implement. But then grill with docs is actually stateful.

One of these is not better than the other, they're just useful in different situations. And so when you're designing skills, you need to be careful to think about whether they need to be stateless or stateful.

첫 생성 파일은 mission — 왜 배우려는지부터 적는다

I believe that for a teacher to be effective, you need to understand why a student wants to learn the thing.

Matt wants to be able to take a scrambled 3 by 3 Rubik's Cube and solve it unaided at least once. The goal is the achievement itself, not speed, not theory.

It goes and searches the web for actual primary source, high trust resources that it's going to use to create the lessons out of.

레슨은 markdown이 아니라 HTML — 표현력이 학습 경험의 코어

They're all individual HTML files. HTML is just so much richer than markdown, it allows it to be so much more expressive, so much more interactive. And this is really the core of what makes this such a good learning experience.

It gives you diagrams, it gives you very simple explainers, gives you call outs, and it gives you quizzes, too. One thing I find really important whenever you're teaching anything is to develop a feedback loop, and quizzes are okay at this. They're basically good if you can't find any richer feedback loop.

It's giving me the knowledge that I need, but also encouraging me to develop the skills I need, which is slightly different.

Learning record — 진짜 교사처럼 다음 레슨을 재단

These learning records are very simple records that the agent creates when I report how I'm doing. So, this allows it to keep track of how I'm doing, and just like a real teacher, then tailor the next lesson to what I need.

지혜는 에이전트 밖에 있다 — 레슨 푸터의 커뮤니티 링크

It tries to find communities where you can ask questions here. Because sure, you can develop knowledge and skills here, but the only way you're going to develop wisdom about the thing is actually interacting with a community testing your ideas out in the real world.

Glossary·solve card·notes.md — 점점 간결해지는 레슨의 비결

There's a glossary. This glossary has the anatomy, it has the notation here, has the solving grip, the daisy, sort of anything like weird jargon that we've learned is going to go into the glossary.

It also means that future lessons can be more concise because they're able to reference the term in the glossary, and you can look back if you're confused.

It also creates cheat sheets for you. So this is a solve card here where it's basically just giving me the entire solve. If I want just a single place to look at how to create or solve a Rubik's Cube, this is the place I can go.

This is where the agent can note down any of my preferences, note down any watch outs, and it's just kind of internal note taking for the agent itself.

세션 재개 — 빈 컨텍스트가 워크스페이스를 읽고 진단부터 시작한다

It starts of course, because this is a empty context, by checking the state of my teaching workspace. It's checking all of the solve cards, seeing how far I've got to. It's now giving me a decent diagnosis for what I'm feeling.

We've turned the agent basically into a teacher and you've got to work with it in the same way that you would any one-to-one teacher. You tell it what problems you're having and it will design lessons to find solutions.

The model I'm using here is Opus 4.8 with medium effort, by the way.

Zone of proximal development — 지루하지도 겁먹지도 않는 지점

The zone of proximal development is this key teaching idea which I am obsessed with. And it's the idea that you should always teach someone in the area where they are perfectly challenged but not intimidated.

This means that every lesson has to be concise, compact, and exactly framed at that zone of proximal development. So the student's not bored, but also not freaked out.

브라우저의 풀 파워 — guided mode가 달린 인터랙티브 레슨

So, it's got guided mode. So, I can turn off that. That's unreasonably cool. You see what being in HTML gives us here, right? We've got the full power of the browser to mess about with here.

Because everything has been saved to the file system, I can clear this, and every time I run teach again, it will have all the context it needs to keep me in the zone of proximal development.

스킬 내부 철학 — knowledge·skills·wisdom, 그리고 커뮤니티로의 위임

The user has asked you to teach them something. This is a stateful request. They intend to learn the topic over multiple sessions.

I really define the terms that the AI should think in. It should think in terms of giving them knowledge from high-quality, high-trust resources, skills, highly relevant interactive lessons, and actually developing the skills, and then wisdom that comes from interacting from other learners and practitioners.

When the user asks a question that appears to require wisdom, your default posture should be to attempt to answer, but to ultimately delegate to a community.

My idea with this teach skill is not to have you hooked onto the agent for learning everything. It's to actually give you the skills you need to feel confident to go out and work with a community and send you out into the world. That's the dream of this stuff.

코드베이스 온보딩 — 문서는 대개 ZPD 바깥에 있다

In terms of engineering, I can imagine this skill being really useful in onboarding people to a code base. Creating documentation is a real pain in the ass because not only do you need to keep it up to date, but that documentation is probably outside the person's zone of proximal development.

You start them off in their own workspace, you point them at code base, ... they learn independently how to work with the code, what the concepts are, and guess what? You've got a productive employee in record time.

For me, I'm excited to use this just on my side projects, on having fun, on just learning stuff that I wouldn't have learned how to do before, you know, solving this freaking Rubik's Cube. I might even dig out a bit of old chess material and see if it can teach me some openings.

개발자는 first mover — 코딩에서 기른 본능을 바깥 세계로

We, the developer community, engineers out there, are the first people to really experience what AI can do on something that it's really good at. AI is currently better at writing code than it is at almost anything else.

We can take the ideas that we develop here, turn them into skills, and start bringing them out to the world.

Just think that you'll be able to take the skills that you are learning now, the instincts that you're building working with AI, and take them outside of coding domains. That, I think, is going to be an incredibly valuable skill, no matter what the future of work looks like. We're all going to be working with AI, and we are the first people to really get to do it.

YouTube 원본 →원본 사이트 →