AI 코딩 에이전트가 개발자들 사이에서 인기를 얻고 있지만, 매번 장황한 자연어 프롬프트를 작성해야 하는 피로감과 코드에 대한 통제력 부족 문제가 제기되고 있습니다. 이러한 한계를 극복하기 위해 개발자 '허자(Huzzah)'는 자연어 대신 의사코드(pseudocode)를 활용하여 AI와 상호작용하는 새로운 방식의 실험적인 에디터를 공개했습니다. 이는 개발자가 코드의 '형태'를 설계하는 데 집중하고, AI는 이를 바탕으로 실제 코드를 생성하는 방식입니다.
기존 코딩 에이전트는 길고 명령적이며 일시적인(transient) 자연어 프롬프트를 사용해 변경 사항을 지시합니다. 반면 허자는 짧고 선언적이며 영구적인(persistent) 의사코드를 사용합니다. 예를 들어, '피즈 버즈(Fizz Buzz)' 프로그램을 만들 때, 기존 방식은 긴 문장으로 기능을 설명하고 수정할 때마다 추가 지시를 내립니다. 하지만 허자는 'fizz_buzz() loop 100 modulo 3 ? "fizz" 5 ? "buzz" both ? "fizz buzz"'와 같은 의사코드를 파일에 작성하고 저장하면, 허자가 이를 LLM(대규모 언어모델)에 전달해 실제 코드를 생성합니다. 수정이 필요하면 의사코드 파일만 업데이트하면 됩니다. 이는 개발자의 의도를 명확하게 기록하고, 불필요한 토큰 소모를 줄여 효율성을 높입니다.
이러한 접근 방식은 여러 이점을 제공합니다. 의사코드는 자연어 프롬프트보다 간결하고 가독성이 높아 개발자가 코드 설계에 더 몰입할 수 있게 합니다. 또한, 의사코드 자체가 개발자의 의도를 표현하는 문서 역할을 하여 코드베이스의 이해도를 높입니다. 나아가 언어 독립적인 의사코드를 작성하여 다양한 프로그래밍 언어나 환경에 적용할 수 있는 잠재력도 있습니다. 물론, 이 방식이 대규모 코드베이스나 복잡한 파일 간 의존성을 다루는 데는 한계가 있을 수 있으며, 도메인 전문 지식이 부족한 경우에는 자연어 상호작용이 더 쉬울 수 있다는 점은 고려해야 합니다. 하지만 허자는 AI 코딩의 효율성과 개발자의 통제력 사이에서 균형을 찾으려는 흥미로운 시도입니다.