AI 에이전트가 나보다 나은 구현을 선택했을 때
It happened. AI made a smarter decision than me...
핵심 요약
- 복잡한 RAG + Jev 워크플로에서 에이전트는 여러 흐름을 시험하고, golden example 프롬프트 결과가 가장 좋은 구성을 선택했다.
- 작성자는 처음에 하드코딩 예외와 병렬 처리 방식을 거부했지만, 데이터베이스 백엔드와 검색 흐름을 직접 시험한 뒤 같은 결론에 도달했다.
- Swift 작업에서 AI의 실수를 고쳐 왔던 작성자는 에이전트의 개선을 경험하며, 자신보다 뛰어난 지능과 함께 일하는 것을 긍정적으로 받아들인다.
도입
작성자는 ChatGPT가 나온 뒤에도 자신이 전문성을 가진 Swift/iOS 영역에서는 AI보다 낫다고 느꼈다. AI가 만든 코드를 커밋마다 확인하면 실수가 있었기 때문이다. Python과 TypeScript 작업에서도 원하는 세부 동작을 직접 지시해야 했다. 그러나 복잡한 RAG + Jev 에이전트 워크플로에서 에이전트의 선택을 처음에는 거부했다가, 이후 직접 같은 선택에 도달하면서 판단이 달라졌다.
상세 요약
AI의 코드 검토와 작업 지시
작성자는 ChatGPT가 나온 뒤에도 자신이 LLM과 비슷하거나 더 똑똑하다고 느꼈다. 특히 Swift/iOS 작업에서는 커밋마다 코드를 확인했고, 매번 실수를 발견했다. 적절한 skills를 적용하고 SwiftFairy가 커밋마다 코드를 검사하기 시작하면서 결과가 나아지고 있다고 설명한다.
Python 스크립트와 TypeScript 함수처럼 전문 분야가 아닌 작업에서도 AI가 완벽하지는 않았다. 작성자는 언어를 배우면 비슷한 코드를 직접 쓸 수 있을 것이라고 생각했다. 스크립트가 중간에 멈추더라도 마지막으로 처리한 지점부터 재시작하도록 하는 등, 세부 요구사항을 에이전트에 알려줘야 했다.
거부한 선택을 다시 채택하다
변화가 생긴 계기는 복잡한 RAG + Jev 구현을 위한 에이전트 워크플로였다. 에이전트는 여러 가지 흐름을 실행했고, 테스트에 사용한 golden example 프롬프트 세트에서 가장 좋은 결과를 낸 구성을 제안했다. 작성자는 제안만 보고 따르지 않고 TypeScript 코드를 확인했다.
코드는 작성자가 생각한 방식과 달랐다. 특정 예외를 하드코딩했고, 두 흐름을 병렬로 실행했다. 작성자는 하드코딩된 예외를 제거하라고 지시했고 병렬 실행 결정도 마음에 들어 하지 않았다.
이후 데이터베이스 백엔드 데이터를 수정하고 검색 흐름을 시험하면서 결과가 만족스럽지 않아 작업을 이어갔다. 그 과정에서 처음에는 거부했던 두 선택, 즉 특정 예외를 하드코딩하고 두 흐름을 병렬로 실행하는 방식에 스스로 도달했다. 작성자는 이 구성이 이제 제대로 동작한다고 설명한다.
자신보다 나은 지능과 함께 일하기
작성자는 Fable과 Opus 5.5를 계속 사용하면서 이런 경험이 더 자주 생길 것으로 본다. 자신보다 똑똑한 지능과 일하고 싶다는 것이 결론이다. 더 고도화된 것을 만들려면 자신보다 나은 판단을 하는 에이전트와 협력하는 편을 선호한다. 반대로 자신의 지식보다 부족한 Swift 에이전트를 계속 조종하는 일은 즐겁지 않았다고 덧붙인다.
이 변화에는 자존심의 문제도 있다. 오랜 시간 쌓은 전문성을 AI가 넘어서는 경험은 낯설고 불편할 수 있다. 하지만 이 사례에서 작성자는 AI의 첫 제안을 무조건 받아들인 것이 아니라, 나중에 직접 구현과 검색 흐름을 시험하며 같은 선택에 이르렀다. Swift 개발에서 AI 도구가 어떻게 쓰이는지에 관한 다른 사례는 Swift와 AI 개발 도구: 이번 주 소식에서도 확인할 수 있다.
결론
작성자는 에이전트가 자신보다 나은 결정을 내리는 경험을 자존심이 상하는 일로 느끼면서도, 더 발전된 것을 만들려면 자신보다 뛰어난 지능과 함께 일하고 싶다고 말한다. 반복적인 Swift 코드 검토에서 시작된 AI에 대한 불신은 skills와 SwiftFairy 코드 검사를 거치며 약해지고 있다. 이번 사례의 핵심은 에이전트의 제안을 무조건 수용했다는 것이 아니라, 이후의 직접 테스트가 그 선택을 뒷받침했다는 점이다.