
AI 코딩 에이전트, '정사각형' 하나 제대로 못 그리는 이유 (피드백 루프의 중요성)
풀링포레스트 CTO가 전하는 AI 코딩 에이전트의 한계와 피드백 루프의 중요성. 'Square Minus Square' 벤치마크를 통해 본 AI 활용의 핵심 전략을 알아봅니다.
송찬영
CTO

안녕하세요. 풀링포레스트 CTO 송찬영입니다.
최근 우리 팀은 개발 프로세스 전반에 AI를 적극적으로 도입하고 있습니다. 단순한 코드 자동 완성을 넘어, 복잡한 비즈니스 로직 설계까지 AI 에이전트에게 맡겨보는 실험을 계속하고 있죠. 그런데 며칠 전, 흥미로운 벤치마크 결과를 하나 접했습니다. 바로 'Square Minus Square(정사각형 빼기 정사각형)'라는 실험이었는데요. 이 결과를 보며 AI를 활용하는 우리의 방식에 대해 다시 한번 깊게 고민하게 되었습니다. 솔직히 말해, 조금 안도하기도 했고요.
단순해 보이지만 악랄한 기하학 문제
이 벤치마크의 과제는 얼핏 보면 매우 간단합니다. 2D 평면 위에 두 개의 정사각형이 있습니다. 이들은 크기도 다르고, 제각각 회전되어 있죠. 이때 첫 번째 정사각형에서 두 번째 정사각형과 겹치는 영역을 뺀 나머지를 구하고, 그 영역을 최소한의 삼각형으로 쪼개는(Triangulate) Rust 함수를 작성하는 것입니다.
사람이 펜과 종이를 들고 그린다면 직관적으로 이해할 수 있는 문제입니다. 하지만 코드로, 그것도 외부 의존성 없이 순수 알고리즘만으로 구현하려면 이야기가 달라집니다. 회전된 사각형의 교차점을 찾고, 다각형을 자르고, 다시 삼각형으로 최적화해서 나누는 과정은 수많은 '엣지 케이스(Edge case)'를 동반하니까요.
결과는 어땠을까요? 놀랍게도 현재 시점의 최상위 LLM 모델들(Opus, Gemini 3 Pro, GPT 5.2 등) 중 그 어떤 모델도 이 과제를 한 번에 완벽하게 해결하지 못했습니다.
AI도 '눈'이 필요하다
제가 이 실험에서 주목한 점은 '실패했다'는 결과가 아니라, 그들이 '어떻게 수정했는가'에 대한 과정입니다.
거의 모든 모델이 코드를 작성한 뒤, 스스로 디버깅을 하기 위해 시각적인 결과물(스크린샷)을 요청하고 검사했습니다. 코드를 짤 때는 실수했지만, 렌더링 된 이미지를 보고 "아, 여기가 잘렸구나" 혹은 "삼각형이 엉뚱한 곳에 생겼네"라고 인식한 뒤 코드를 고쳤다는 것이죠. 특히 상위 모델들은 이 시각적 피드백을 통해 문제의 원인을 정확히 짚어냈습니다.
이것은 우리 개발자들이 일하는 방식과 소름 돋게 닮아 있습니다. 우리도 복잡한 UI나 로직을 짤 때 한 번에 완벽한 코드를 작성하지 않습니다. 브라우저를 띄워 확인하고, 로그를 찍어보고, 그 결과를 바탕으로 코드를 수정하죠.
피드백 루프 없는 AI는 위험하다
풀링포레스트 팀원들에게 항상 강조하는 이야기가 있습니다. "AI가 짠 코드는 신뢰의 대상이 아니라 검증의 대상이다"라는 것입니다.
이번 벤치마크에서도 드러났듯이, 겉보기에 그럴듯한 결과물도 속을 들여다보면 엉망인 경우가 많습니다. 예를 들어, Gemini 3 Flash 모델 같은 경우 겉보기엔 문제를 해결한 것처럼 보였지만, 내부적으로는 불필요한 정점과 삼각형을 무더기로 생성했습니다. 최적화 관점에서는 낙제점인 셈이죠. 만약 개발자가 이 코드를 검증 없이 프로덕션에 올렸다면, 추후 심각한 성능 저하를 초래했을 겁니다.
결국 핵심은 '피드백 루프(Feedback Loop)'입니다.
AI 에이전트에게 단순히 "이거 만들어줘"라고 지시하고 끝내는 것이 아니라, 에이전트가 스스로 결과물을 검증할 수 있는 환경을 만들어줘야 합니다. 테스트 코드를 먼저 짜게 하거나, 이번 사례처럼 시각적 결과물을 해석하게 하는 등의 장치가 필수적입니다.
CTO의 관점: 개발자의 역할은 '감독'으로 진화한다
이 실험은 우리에게 명확한 메시지를 던집니다. 아직 AI는 기하학적 추론이나 완벽한 최적화 같은 영역에서 인간 엔지니어의 개입을 필요로 합니다. 하지만 동시에, 시각적 피드백만 주어지면 스스로 버그를 수정할 만큼 무서운 속도로 발전하고 있기도 합니다.
저는 우리 개발자들의 역할이 이제 '코더(Coder)'에서 '아키텍트이자 감독(Architect & Director)'으로 바뀌어야 한다고 생각합니다. AI가 쏟아내는 코드 속에서 비효율적인 로직(불필요한 삼각형들)을 찾아내고, AI에게 올바른 피드백을 줄 수 있는 '보는 눈'을 기르는 것이 더 중요해졌습니다.
기술이 발전할수록 기본기는 더 중요해집니다. 기하학, 메모리 관리, 최적화 원리를 모르면 AI가 짜준 코드가 쓰레기인지 보석인지 구분할 수 없으니까요.
오늘도 풀링포레스트의 개발자들은 Cursor와 각종 AI 도구를 켜놓고 씨름하고 있습니다. 하지만 우리는 잊지 않습니다. AI는 훌륭한 러닝메이트지만, 결승선을 통과하는 건 결국 우리의 판단력이라는 사실을요. AI에게 일을 시킬 때는 반드시 그 결과를 확인할 수 있는 '거울'을 함께 쥐여주세요. 그것이 AI 시대에 우리가 생존하고, 더 나아가 혁신하는 방법입니다.


