협업 편집 얘기까지 가기 전에, 혼자 쓰는 에디터 하나를 제대로 구현하는 것만 해도 커서 처리, undo/redo 스택, IME 입력 등 예상치 못한 복잡함이 넘칩니다. 글에서 지적한 것처럼 "직관적으로 정밀하게 느껴지는 명세"의 함정이 에디터만큼 잘 드러나는 소프트웨어도 없죠. 결국 쉬워 보이는 건 쉬운 게 아니라, 그 복잡함을 잘 추상화해서 숨긴 겁니다.

사실 앤쓰로픽에서 데모로 C 컴파일러를 만든 이유도 역시 컴파일러는 명세가 정확하고 테스트케이스도 잘 준비되어 있기 때문이었겠죠. 동시에 대단히 어려워 보이기도하면서.

컴파일러를 몇개 만들어보고 지금 작업하고 있는것도 있는데, 바이브 코딩으로 봤을때는 에디터도 시도를 해봤는데, 컴파일러가 더 쉽게 느껴졌습니다. 적으신 대로 명세가 덜 정확하고 사용자로 인한 변수가 더 많다고 느껴집니다. 테스트 하기도 더 어렵기도 합니다.

명세가 중요해지긴 하지만, 예전부터 명세를 다 자세히 쓰고 모든 상황을 커버하기는 불가능이라고 생각됩니다. 명세또한 코드처럼 작업을 하면서 다듬어 나가는 방향이 아직은 낫다고 생각합니다만, 여러 에이전트들로 그들끼리 그렇게 하게 하면 되지 않을까 싶긴합니다. 하지만, 결국은 사람의 개입 없이는 학습한 상황과 지식을 벗어날수가 없기에 전혀 새로운 상황과 기능은 어렵지 않을까 싶습니다.

로봇 청소기가 처음 나왔을대 로봇을 위해 바닥에 있는 물건들을 치우는 "간단한 청소"를 해야 한다고 들은 느낌입니다. AI를 위해 자세한 명세를 적는것도 상당한 일인데, AI를 위해 일을 하는것 같아요.