LLM이 짠 코드를 손으로 다시 쳐서 인지 부채 막기
Prevent cognitive debt by manually retyping LLM-generated code
TL;DR Highlight
에이전트 파일 수정을 막고 코드를 직접 타이핑했더니 이해도가 올랐다
Who Should Read
코딩 어시스턴트에 맡긴 코드가 어디에 뭐가 있는지 모르게 돼 불안한 개인 프로젝트 개발자
Core Mechanics
- 코드 수정을 챗에서만 보여 달라고 한다
- 에이전트 설정 파일에 파일 생성·수정·이동·삭제를 사용자 요청 없이는 하지 말라고 적는다.
- 제안된 수정은 챗에 보여 달라고 하고 직접 타이핑한다.
- 명령어 실행도 사람이 한다
- 의존성 설치나 저장소 상태를 바꾸는 명령도 챗에 보여 달라고 한다.
- 실행은 본인이 직접 한다.
- 속도는 10배가 아니라 2배다
- 저자는 LLM 없이 하는 것보다는 빠르다고 말한다.
- 전부 맡기는 사람보다는 느리다고 한다.
- 타이핑하면 환각과 나쁜 설계가 눈에 띈다
- 천천히 치니 틀린 부분을 발견할 가능성이 커진다고 한다.
- 치면서 정리·리팩터링·주석 추가도 한다.
- 코드베이스의 공간 지도가 생긴다
- 어떤 기능이 어디 있는지 알게 된다고 한다.
- 나중에 LLM에 지시할 때도 더 잘 시킬 수 있다고 한다.
Community Reactions
- 효율이 어디 있냐는 반론
- 생각하고, 시키고, 읽고, 다시 치고, 고치는 흐름이면 LLM을 빼는 게 낫지 않냐는 의견이 있었다.
- 이해하려고 코드 재타이핑을 하는 건 코드 원숭이 같다는 의견도 있었다.
- 직접 짠 코드만이 효과가 있다는 의견
- 재타이핑 말고 본인 머리에서 나온 코드를 손으로 쳐야 인지 저하를 막는다는 의견이 있었다.
- 예전에 Ruby·Go 예제를 따라 쳐 보며 사고방식을 익혔다는 경험도 함께 나왔다.
- 직접 해 봤다는 경험
- 인수받은 코드베이스를 다른 창에 다시 쳤더니 버그를 많이 고치고 빨리 전문가가 됐다는 경험이 있었다.
- 한 댓글러는 같은 방식을 했다가 접었다고 하며 블로그 글 링크를 남겼다.
- 이해 수준 자체를 다시 보자는 의견
- 동료 코드를 리뷰하듯 AI 결과도 검토 후 수락·수정·재요청하면 된다는 의견이 있었다.
- 매니저가 모든 코드를 알 필요는 없듯 LLM을 관리 대상 에이전트로 보자는 의견도 있었다.
How to Apply
- 에이전트 설정 파일에 수정 금지 규칙 넣기
- 오늘 개인 프로젝트의 AGENTS.md나 CLAUDE.md에 원문의 세 가지 지시를 붙여 넣는다.
- 작은 기능 하나를 시켜 보고 챗에 나온 코드를 직접 타이핑한다.
- 타이핑하며 모르는 API는 바로 묻기
- 막히는 API나 알고리즘은 치다가 멈추고 LLM에 설명을 요청한다.
- 치면서 이름과 구조를 본인 취향대로 고친다.
- 적용 범위를 나눠 정하기
- 이해해야 하는 개인 프로젝트나 핵심 모듈에만 이 방식을 쓴다.
- 단순한 부분은 기존 리뷰 방식으로 두고 2배 속도를 감수할지 비교한다.
Try It
# Claude Code 등의 AGENTS.md / CLAUDE.md에 붙여넣기 (원문 저자의 지시문)
I want to understand every line of code that goes into this project. Never create, edit, move, rename, or delete project files unless I explicitly ask you to do so. Instead, show me every proposed edit in the chat so I can type it in manually.
Do not run commands that modify project files, install dependencies, or change repository state unless I explicitly request that action. Instead, show me those commands in the chat so I can run them manually.
I'm an experienced developer. Do not explain syntax, APIs, programming concepts, or implementation details unless explicitly asked.
# 이어서 해 볼 것: "{{기능}}을 추가하는 코드를 보여줘"라고 시키고 직접 타이핑해 보기Terminology
관련 논문
같은 시뮬레이션, 다른 근거: 도구 출력을 파일로 넘기면 LLM 에이전트 정확도가 어디서 깎이나
긴 툴 출력을 파일로 넘기자 GPT-5.1은 정확도 11.3%p 하락, 정식 출력 지정하니 회복
가짜 뉴스가 진짜 폭락을: LLM 트레이딩 에이전트 대상 정보 주입 공격
가짜 헤드라인 한 줄로 LLM 트레이딩 에이전트 62%를 조종했다(프롬프트 주입은 14%)
Harness Engineering 101: LLM은 뇌, harness는 몸
에이전트는 JSON 배열을 관리하는 루프이고, 16개 챕터로 직접 만들어 본다
Harness²: 에이전트 harness를 스스로 고쳐 쓰는 재귀 최적화 프레임워크
모델은 고정하고 harness를 재귀로 고쳤더니 벤치마크 점수가 최대 11.8%p 올랐다
해고된 Savannah 경찰관, ICE 요원 남편에게 Flock 계정 공유
경찰관이 Flock 계정을 남편(ICE 요원)에게 공유했고, 감사에서 983건 검색이 드러나 해고됐다
tmux와 Claude Code: 세션, send-keys, 그리고 한계선
tmux로 Claude Code 여러 개를 돌리면 편하지만 에이전트 4개쯤에서 한계가 온다
Hybrid Reasoning Agents: 잠재 공간에서 생각하고 텍스트로 행동하는 LLM 에이전트
잠재 공간 추론과 텍스트 도구 호출을 섞었더니 성능 10.4%↑, 토큰 최대 54.7%↓
Related Resources
- https://ankursethi.com/blog/prevent-cognitive-debt-by-manually-retyping-llm-generated-code/
- https://arxiv.org/pdf/2509.21972v1
- http://rubyquiz.com/
- https://quii.gitbook.io/learn-go-with-tests
- https://kamens.com/blog/code-with-ai-the-hard-way
- https://kamens.com/blog/code-with-ai-the-hard-way-update
- https://kamens.com/blog/code-with-ai-the-hard-way-update-ii
- https://smalldocs.org
- https://github.com/espressoplease/smalldocs