2026년 7월 AI Engineer 컨퍼런스 발표 내용으로, 트윗 스레드로도 공유되었습니다. 다소 도발적인 주장일 수 있지만, 에이전트가 작성한 코드를 개발자가 직접 이해하는 것은 여전히 중요합니다. 이 발표에서는 그 이유를 설명하고, 방대한 AI 생성 코드를 효율적으로 파악할 수 있는 몇 가지 방법을 소개합니다.
이 글은 2026년 7월 AI Engineer 컨퍼런스에서 발표한 내용을 글로 옮긴 것으로, 트윗 스레드 로도 공유되었습니다.
다소 도발적인 주장일 수 있지만, 에이전트가 작성한 코드를 개발자가 직접 이해하는 것은 여전히 중요합니다!
이 발표에서는 그 이유를 설명하고, 방대한 AI 생성 코드를 효율적으로 파악할 수 있는 몇 가지 방법을 소개합니다. 자, 바로 시작해 보겠습니다.
에이전트가 우리 대신 작성하는 코드는 점점 늘어나고 있고, 그 흐름을 따라가기가 갈수록 버거워지는 건 다들 느끼실 겁니다.
하지만 희소식이 있습니다. 코드를 이해하는 방법은 다양합니다! 변경된 코드를 한 줄씩 읽는 것만이 유일한 방법은 아닙니다.
이번 발표의 핵심은 에이전트가 구축하는 시스템을 이해하는 데 실제로 도움이 된 기법들입니다.
그런데 그 전에, 더 근본적인 질문부터 짚고 넘어가야 합니다…
왜 이해해야 할까요?
지금은 우리가 루프에서 빠져나와 에이전트가 스스로 루프를 돌게 해야 하는 시대 아닌가요? 에이전트가 더 똑똑해질수록, 우리가 세부 사항까지 챙겨야 할 필요성은 줄어드는 것 아닐까요?
흥미롭게도, 많은 사람들이 — 이해의 필요성에 공감하는 사람들조차 — 이 질문에 조금 엇나간 답을 내놓곤 합니다.
흔히 나오는 답변 중 하나는 이렇습니다. 우리는 검증하기 위해 이해한다는 것입니다. 에이전트가 작성한 코드를 검토하고, 올바른지 확인하는 거죠.
'올바르다'는 것의 기준은 다양할 수 있습니다. 명세(spec)에 맞는지, 아키텍처가 잘 설계되었는지 등등. 하지만 결국 이 질문은 '좋다/나쁘다'를 판단하는 이분법적 물음으로 귀결됩니다.
문제는, 에이전트가 스스로 결과물을 검증하는 능력도 나날이 향상되고 있다는 점입니다. 이건 분명 좋은 일입니다. 저도 에이전트가 실수를 줄여나가는 걸 반깁니다.
그런데, 그렇다면 우리 인간의 자리는 어디일까요?
바로 여기서 또 다른 답이 등장합니다. 우리는 '참여하기 위해' 이해합니다.
에이전트가 무엇을 하는지 파악해야, 창작 과정에 능동적으로 참여할 수 있습니다. 왜 이게 중요한지 설명해 드리겠습니다.
루프는 단 한 번으로 끝나지 않습니다! 하나의 프로젝트는 에이전트와의 수많은 루프가 이어지는 과정입니다.
그리고 시스템에 대한 나의 이해가, 다음에 어떤 아이디어를 꺼낼 수 있는지를 결정합니다.
무언가를 발전시키려면 풍부한 개념을 머릿속에 갖추고 있어야 유연하고 창의적으로 생각할 수 있습니다. 그 유창함이 부족하면, 프로젝트에 참여하는 능력 자체가 눈에 띄게 제한됩니다.
이는 Margaret Storey와 Simon Willison이 대중화한 인지 부채(cognitive debt) 개념과도 맞닿아 있습니다.
기술 부채(tech debt)와 비슷합니다. 지금 당장은 내부 사정을 몰라도 그럭저럭 굴러가지만, 결국 언젠가는 그 대가를 치르게 됩니다.
그렇습니다, 이해는 중요합니다.
그렇다면 다음 질문은 어떻게입니다. AI와 함께 빠른 속도로 작업하면서 어떻게 인간적 이해를 쌓아나갈 수 있을까요?
사실 '이해를 전달하는 방법'은 인류가 오래전부터 고민해온 문제입니다. 그 답은 교육에서 찾을 수 있다고 생각합니다. 교육 분야에서 발명된 최고의 아이디어들을 빌려와 이 문제에 적용할 수 있지 않을까요?
오늘은 이 문제에 접근할 수 있는 세 가지 기법을 소개하려 합니다.
첫 번째는 '설명'입니다. 좋은 설명이란 무엇일까요?
에이전트가 작업을 마칠 때마다, 그것은 설명의 기회이자 하나의 산출물(artifact)이 됩니다.
가장 단순하게는 코드 diff를 읽을 수 있습니다. 변경된 내용 그 자체를 살펴보는 것이죠.
하지만 이런 질문을 던져보면 어떨까요?
가장 이상적인 설명은 어떤 모습일까요? 인간이든 AI든, 정말로 공을 들여 무언가를 설명해주는 팀이 있다면 어떤 느낌일까요?
그 답으로 제가 만든 것이 /explain-diff라는 스킬입니다. 저는 매일 사용하고 있고, 함께 일하는 많은 동료들도 유용하다고 이야기합니다.
이 스킬은 잘 구조화된 코드 설명서를 HTML, 마크다운, 또는 Notion 문서 형태로 출력합니다. Notion은 이런 설명서를 팀이 함께 작업하고 논의하기에 좋은 공간입니다. (참고로 저는 Notion에 재직 중이라 편향이 있을 수 있습니다.)
비디오 게임의 시점(perspective)을 변경하는 예시를 통해 이 설명서가 어떻게 구성되는지 살펴보겠습니다.
첫 번째 원칙: 배경 지식을 먼저 알려줘야 합니다!
무엇이 바뀌었는지를 설명하기 전에, 먼저 기존에 무엇이 있었는지를 이해할 수 있게 해줘야 합니다. 이 예시에서는 게임 엔진에 대한 기초부터 설명합니다.
두 번째 원칙: 세부 사항보다 직관을 먼저 심어줍니다.
코드가 등장하기 전에, 변경의 목표부터 제시합니다. "2D 드로잉 기법으로 정원에 입체감을 부여한다"는 목표와 함께, 아이소메트릭 투영(isometric projection)이 무엇인지 같은 관련 개념을 먼저 설명합니다.
이 모든 과정이 변경의 본질에 대한 직관을 키워줍니다. 인간인 제가 동등한 참여자로서 이해할 수 있도록, 먼저 따라잡을 기회를 주는 것입니다.
인터랙티브 그림으로 직관을 키울 수도 있습니다.
여기서는 정원에 있는 돌을 직접 드래그하면서 좌표가 어떻게 움직이는지 확인하며 아이소메트릭 시점을 이해합니다.
(이는 Notion이 최근 출시한 새 기능을 활용한 것입니다. 이제 페이지 안에 인터랙티브 HTML을 직접 삽입할 수 있습니다.)
마침내 코드를 살펴볼 차례입니다. 그런데 일반적인 diff는 파일들이 알파벳 순서로 나열될 뿐, 아무런 설명도 없습니다.
제가 '리터럿 diff(literate diff)'라고 부르는 방식은 산문처럼 구성됩니다. 변경 사항을 논리적인 순서로 풀어내고, 중간중간 설명과 코드 스니펫을 함께 담습니다. 날것의 diff보다 훨씬 빠르게 검토할 수 있습니다.
이 모든 것이 모이면 깔끔한 설명 패킷이 완성됩니다. 저는 여전히 코드 diff를 직접 읽지만, 항상 이 설명 패킷부터 먼저 읽습니다.
때로는 이걸 출력해서 카페에 가져가기도 합니다. 훨씬 덜 산만하거든요.
아이러니하게도 AI 덕분에 인터랙티브한 작업이 집중해서 읽을 수 있는 정적인 종이 보고서로 바뀌었습니다 :)
한 가지 문제가 있습니다. 읽는 것 자체가 고된 일이라는 점입니다 😅
Andy Matuschak의 말처럼 "책은 효과가 없습니다"! 실제로는 제대로 이해하거나 기억하지 못했으면서도 읽었다고 착각하기 너무 쉽습니다.
이 문제를 어떻게 해결할 수 있을까요? Andy와 Michael Nielsen의 에세이에 간격 반복 퀴즈를 내장하는 방식에서 영감을 얻었습니다.
저도 코드 설명서에 비슷한 방식을 적용하고 있습니다. 설명서 하단에는 변경 사항에 관한 다섯 개의 질문으로 구성된 인터랙티브 퀴즈가 있고, 저는 직접 답을 작성해 봅니다.
저만의 규칙이 있습니다. 퀴즈를 통과하기 전까지는 코드를 다른 사람에게 보내지 않습니다. 다른 사람의 코드를 리뷰할 때도 마찬가지입니다.
퀴즈는 속도 조절 장치입니다. AI와 함께 작업하다 보면, 루프가 인간의 이해 속도보다 훨씬 빠르게 돌아가기 쉽습니다.
퀴즈는 그 반대 방향의 힘입니다. "나는 정말로 이해하고 있는가?"라는 질문을 습관처럼 던짐으로써, 제가 온전한 창작 참여자로 남을 수 있도록 해줍니다.
explain-diff 소개는 여기까지입니다. 원하시는 분은 여기서 스킬을 받아가세요. HTML과 Notion 페이지를 각각 출력하는 두 가지 버전이 있습니다.
다음은 '미니 세계(micro-worlds)'입니다. 선구적인 교육자 Seymour Papert에게서 영감을 받은 개념입니다.
Papert는 '수학의 나라(Mathland)'에서 살기라는 아름다운 아이디어를 제안했습니다. 수학을 배우고 싶다면 수학의 나라에서 살면 된다는 것입니다. 마치 프랑스어를 배우고 싶으면 프랑스에 가서 사는 것처럼요. 아이들이 호기심을 따라가다 보면 자연스럽게 수학을 익히는 환경을 만들 수 있을까요?
이를 코드에 적용하면 어떨까요? 그 안에 살다 보면 시스템이 어떻게 작동하는지, 어떻게 변해가는지 자연스럽게 감을 잡을 수 있는 세계를 만들 수 있을까요?
작년에 Prolog 인터프리터를 개발하다가, 내부에서 무슨 일이 벌어지는지 직관적으로 파악하기가 너무 어려웠습니다.
그래서 에이전트와 함께 이 디버거를 만들었습니다. 로직 언어의 실행 과정을 단계별로 따라갈 수 있고, 시간을 앞뒤로 스크럽하며 스택에 무엇이 있는지, 각 단계에서 어떤 규칙이 평가되는지 확인할 수 있습니다. 심지어 제 자신을 위한 코멘트도 남길 수 있었습니다("좋아, 이 규칙이 올바르게 적용됐네").
에이전트를 위한 디버깅 도구를 만드는 것과, 나를 위한 디버깅 도구를 만드는 것은 큰 차이가 있습니다. 내가 직접 해봐야 그 과정에서 이해가 쌓입니다.
또 다른 예시입니다. 개인 웹사이트를 한 프레임워크에서 다른 프레임워크로 마이그레이션할 때, Claude가 스크립트를 작성해서 처리해줬습니다. 그런데 검토하기가 너무 막막했습니다. 새 프레임워크에 익숙하지 않아서, "대충 맞는 것 같은데"라는 말밖에 할 수가 없었거든요.
그래서 Claude에게 비디오 게임 같은 커맨드 센터를 만들어 달라고 했습니다. 제가 직접 마이그레이션을 단계별로 수행하면서, 눈에 보이는 변화와 파일 트리가 어떻게 달라지는지 확인할 수 있는 공간이었습니다. Claude는 버튼을 클릭하면 마이그레이션 단계를 하나씩 실행하는 UI를 만들어줬고, 화면에는 기존 사이트와 새 사이트가 나란히 표시됐습니다.
이 커맨드 센터 안에서 새 사이트가 점진적으로 완성되어 가는 과정을 지켜봤습니다. 덕분에 직접 손으로 작업한 것과 비슷한 수준의 이해를 얻을 수 있었습니다. 물론 훨씬 빠르게요. 전체 경험이 제 앞에 깔끔하게 펼쳐져 있었으니까요.
핵심은 이것입니다. 에이전트가 코드 이해를 돕는 코드 조각을 만들어줄 수 있다는 것입니다.
이건 정말 중요한 변화입니다!
마지막 기법은 '공유 공간(shared spaces)'입니다. 지금까지는 혼자서 이해하는 방법을 이야기했는데, 팀으로 일할 때는 함께 이해해야 합니다.
나와 상대방이 같은 멘탈 모델을 공유하면, 훨씬 효율적으로 소통할 수 있습니다. 같은 단어가 같은 이미지를 떠올리게 하는 공유 어휘가 생기고, 그 위에서 자유롭게 아이디어를 주고받을 수 있습니다. 그런 공통 구조가 없으면, 창의적인 대화는 훨씬 어려워집니다.
팀이 함께 이해를 쌓아갈 수 있는 공유 환경을 만드는 것, 저는 이것에 정말 기대가 큽니다. 어떻게 보면 Notion이 추구하는 것도 바로 이것입니다.
최근 Notion에서는 인간과 에이전트가 함께 협업하고, 각자 고립된 공간이 아닌 팀 전체가 공유된 이해를 쌓아갈 수 있도록 다양한 신기능을 연이어 출시하고 있습니다.
작은 예를 들면, 이제 Notion 안에서 Claude와 Cursor 에이전트를 바로 실행할 수 있습니다. 저도 요즘은 코딩 작업 대부분을 이 방식으로 합니다.
에이전트가 Notion에서 기술 계획을 작성하면, 그 결과물은 기본적으로 협업 페이지에 올라옵니다. 팀원들과 바로 댓글을 달고 논의할 수 있죠. 혼자가 아닌, 함께 생각하는 것입니다!
마무리할 시간입니다. 오늘은 코드를 이해하는 기법들을 다뤘지만, 사실 이것은 훨씬 더 큰 문제와 맞닿아 있습니다.
인간이 세상이 어떻게 작동하는지 이해하는 것은 그 자체로 중요합니다! 단순히 검증하기 위해서가 아니라, 참여하기 위해서입니다.
그리고 놀랍게도, 이건 전혀 새로운 생각이 아닙니다. 컴퓨팅이라는 분야의 기원으로 거슬러 올라가는 이야기입니다.
50년 전, Alan Kay는 컴퓨터가 책보다 뛰어난 새로운 매체가 될 수 있다고 상상했습니다. 사람들이, 특히 아이들이 세상을 생각하는 방법을 배울 수 있는 매체 말입니다.
이 사진 속 아이들은 아이패드로 유튜브를 보는 것처럼 보이지만, 그렇지 않습니다. 인터랙티브 게임을 하면서 직접 코드를 수정해 물리학을 더 깊이 이해하고 있는 것입니다. 무려 50년 전의 일입니다!!
이제 이 밈이 무슨 의미인지 이해가 되실 겁니다.
목표는 언제나 단순 자동화가 아닌 '증강(augment)'이었습니다.
이제 AI 덕분에 시뮬레이션을 만드는 것이 누구에게나 가능해졌습니다. AI가 우리를 가르치는 것, 이것이야말로 컴퓨팅이 열어온 가능성 중 가장 위대한 것 중 하나일 것입니다.
그래서 저는 미래가 매우 낙관적입니다!
올바른 도구를 만든다면, 우리는 그 어느 때보다 더 깊이 세상을 이해할 수 있습니다. 루프에서 빠져나올 필요는 없습니다. 오히려 루프 속으로 더 깊이 들어갈 수 있습니다. 선택은 우리에게 달려 있습니다.
FIN
이 발표가 흥미로우셨다면, 인간-AI 협업을 주제로 제가 쓴 다른 글들도 읽어보세요.