토큰 낭비는 그만! 동일한 로컬 LLM 환경에서 PI 코딩 에이전트 vs OPENCODE 전격 비교

LLuigi Tech
컴퓨터/소프트웨어게임/e스포츠AI/미래기술

Transcript

00:00:00안녕하세요 여러분, 이번 영상은 '에이전트 대 오픈 코드' 데모이며
00:00:09이 예제를 통해 두 가지 하네스를 테스트해 보겠습니다. 제가 지난 영상에서
00:00:20바이브 코딩(vibe coded)으로 만든 게임인데요, 네, 이 영상에서는
00:00:29이 게임을 어떻게 고칠지 테스트해 보고 싶습니다. 몇 가지 버그가 있거든요. 보시다시피
00:00:38X 마커가 매치에서 이겼지만 셀이 강조 표시되지 않습니다. 그래서 로컬 LLM인
00:00:51Qwen 2.5 3B로 수정을 시도해 보려 합니다. 개인적으로 현재 컴퓨터에서
00:01:04돌릴 수 있는 최고의 모델이라고 생각합니다. 먼저 PAI로 시도해 보죠.
00:01:16이것이 PAI입니다. 소스 파일들이 별도로 분리되어 있는
00:01:30이 디렉토리 안에서 실행하겠습니다. index.html, game.js, style.js가 있으며
00:01:42두 하네스 모두에 동일한 프롬프트를 입력하고 결과를 비교해 보겠습니다.
00:01:55작업에 시간이 얼마나 걸리는지 확인하기 위해 타이머도 사용할 겁니다. 프롬프트는 이렇습니다.
00:02:11“셀 큐브를 더 잘 보이게 만들고 그 사이에 간격을 추가해 줘.”
00:02:19여기 보시는 것처럼 큐브들이 서로 너무 붙어 있기 때문입니다. 그리고
00:02:28두 번째 작업은 승리 로직 개선입니다. 승리한 마커들은
00:02:37녹색으로 변해야 합니다. 플레이어가 어떤 마커로 이겼는지
00:02:46보이지 않는 문제도 있으니까요. 네, 프롬프트를 따르기 시작했습니다.
00:02:59PAI가 현재 디렉토리를 분석하기 시작합니다. 여기서 사용된
00:03:09컨텍스트를 확인할 수 있습니다. 하지만 게임을 고치는 데 걸린
00:03:20시간을 보는 것이 더 흥미로울 것 같네요. 작업이 진행 중입니다. 그 후
00:03:30Open Code로 같은 작업을 수행할 것이며, 동일한 테스트를 위해 저장소를 초기화하겠습니다.
00:03:41이제 영상을 잠시 멈추고 게임 수정이 완료되면 다시 뵙겠습니다.
00:04:00좋습니다, 완료됐습니다. 변경 사항에 대한 보고서를 여전히 작성 중이네요.
00:04:20그다음에 결과를 테스트하겠습니다. 됐네요. Qwen 2.5로 7분 44초가 걸렸습니다.
00:04:38결과를 확인해 보죠. 이것이 보고서입니다. 코드에서 기술적으로
00:04:47어떤 일이 일어났는지 보여줍니다. 보시다시피 game.js 파일을 여러 번,
00:04:58여러 부분으로 나누어 부분적으로 읽었습니다. 이것은 diff 파일입니다. 보시다시피
00:05:09파일에 수정할 내용이 많았습니다. 총 9.4K 토큰을 보내고 2.8K 토큰을 받았습니다.
00:05:23컨텍스트 사용 결과는 이렇습니다. 결과를 확인해 보죠. 새로고침하면
00:05:35이제 셀 큐브들이 서로 더 멀리 떨어져 있고 간격이 생겼습니다. 게임을 해볼까요?
00:05:44중앙 셀부터 시작하겠습니다. 좋습니다. 컴퓨터가 이기게 놔둬 보죠.
00:06:00완벽하네요. 컴퓨터가 이겼고, 보시다시피 큐브들은 더
00:06:11분리되었으며 승리 마커도 강조 표시됩니다. 잘 작동하네요. 이것은
00:06:20PAI 코딩 에이전트로 한 결과입니다. 이제 Open Code로 동일한 테스트를
00:06:30진행하겠습니다. 모델과 코드는 같습니다. 코드를 초기화하겠습니다.
00:06:50이제 버그가 있던 버전으로 돌아갔습니다. 이제 Open Code에
00:07:00동일한 프롬프트를 입력하겠습니다. 셀과 승리 로직에 대한 것이죠.
00:07:11Basico와 함께 동일한 모델을 사용하겠습니다. Basico는 제가 만든 커스텀 에이전트입니다.
00:07:27기본 코딩 에이전트보다 훨씬 간단하기 때문에 Basico 에이전트를 만들었습니다.
00:07:36Basico 에이전트는 바로 이것입니다.
00:07:56단순한 마크다운 파일입니다. “당신은 Basico라는 최소화된 에이전트입니다.” 네,
00:08:07여기서 많은 것을 지정하진 않았고, 검색 엔진 도구를 사용한 웹 페치(web fetch)를
00:08:15쓰라고만 했습니다. 이번 경우에는 쓰지 않겠지만요. 아주 단순한 에이전트죠.
00:08:24Open Code를 위해 비슷한 조건을 재현하려는 목적입니다. 벌써 12K
00:08:34컨텍스트를 사용 중이네요. index.js, game.js로 시작했고, 네, 여기서도
00:08:47영상을 멈춘 뒤에 최종 결과를 확인해 보겠습니다. 피드백이 많지 않은 상태로
00:08:58여전히 실행 중입니다. 그리고 이 테스트를 Gemma 2 27B로도
00:09:07Gemma 26B와 4B로도 같은 테스트를 해봤지만, 이 정도 규모의 프로젝트에서는
00:09:20도구 호출(tool calling)을 수행하지 못했습니다. Gemma 2는 3D 틱택토 게임을
00:09:30재현할 수는 있었지만, 이 파일들을 수정하기 위해 도구를 호출하지는 못했습니다.
00:09:38그래서 Qwen 2.5로만 이 테스트를 진행했습니다. 이런 로컬 시나리오에서는 최고니까요.
00:09:48흥미롭네요, 할 일 목록(to-do)을 채우고 있습니다. 작업이 두 개인데, 하나는
00:09:58셀 큐브를 더 잘 보이게 만드는 것이고, 다른 하나는 로직 수정입니다. 그래서
00:10:07PAI 에이전트에 비해 오버헤드가 조금 더 발생할 것입니다. PAI 에이전트는
00:10:17중간에 할 일 목록 없이도 이런 작업을 수행할 수 있었습니다. 하지만 더 복잡한
00:10:26상황에서는 할 일 목록이 있는 게 유용할 수도 있습니다. 하지만 제 생각엔
00:10:35하네스보다는 사용된 LLM 모델이 더 큰 차이를 만드는 것 같습니다. 어쨌든
00:10:44지켜보죠.
00:10:56잠시만요.
00:11:27거의 다 됐습니다. 두 가지 할 일 모두 완료되었지만, 여전히 읽고 나서
00:11:40파일에 써야 합니다.
00:11:52보고서를 작성 중입니다. 곧 끝나길 바랍니다. 벌써 12분이
00:12:05지났으니 더 걸린 셈이지만, 어쨌든 끝났습니다. 멈추고 확인해 보죠.
00:12:15Open Code에서 사용된 컨텍스트는 약 23K입니다. 아마 토큰 사용량을
00:12:26보고하는 방식이 다르겠지만, PAI가 문제를 해결하는 데 토큰을 더 적게 쓴 것 같습니다.
00:12:36이것은 기술 보고서입니다. 수정을 위해 game.js 파일을
00:12:46여러 번 열었네요. 실제로 수정이 잘 되었는지 게임을 테스트해 봅시다.
00:12:57새로고침해 보니 PAI 버전과 비슷해 보입니다. 중앙 셀을 선택하고
00:13:19게임에서 이겨 보겠습니다. 제가 이겼고, 보시다시피 PAI 때와
00:13:32같은 결과를 얻었습니다. 하지만 해결책을 내는 데 더 많은 토큰과
00:13:43시간을 썼네요. 이번 사례에서는 가드레일이나 프롬프트 미세 조정 등
00:13:55기능이 더 많은 Open Code가 PAI와 동일한 해결책을 내놓았지만
00:14:06PAI가 시간과 토큰을 더 적게 썼습니다. 결론적으로 제 생각에는
00:14:18앞서 말씀드린 대로 사용된 LLM이 가장 중요하고 핵심적인 부분입니다.
00:14:28하네스도 유용하고 중요하지만, 컨텍스트에 담기는 데이터의 품질이 더 중요합니다.
00:14:36이번 상황에서는 PAI 코딩 에이전트가 오버헤드가 더 적었고
00:14:47LLM에 아주 긴 프롬프트를 주지 않고도 좋은 결과를 얻었습니다.
00:14:58여러분은 어떤 오픈 소스 코딩 에이전트 하네스를 선호하시는지 댓글로 알려주세요.
00:15:06그럼 다음 영상에서 뵙겠습니다. 안녕히 계세요!

Key Takeaway

로컬 LLM 코딩 환경에서 PAI 에이전트는 Open Code보다 절반에 가까운 토큰과 짧은 시간으로 동일한 품질의 버그 수정을 완료하며 높은 효율성을 보여준다.

Highlights

  • Qwen 2.5 3B 로컬 모델은 3D 틱택토 게임의 버그 수정과 시각적 개선 작업을 성공적으로 수행한다.

  • PAI 코딩 에이전트는 동일한 작업을 7분 44초 만에 완료하며 12.2K 수준의 토큰을 소비한다.

  • Open Code 하네스는 동일한 환경에서 12분 이상의 시간과 약 23K의 컨텍스트 토큰을 사용하여 PAI보다 비효율적이다.

  • Gemma 2 (27B, 26B, 4B) 모델들은 이 프로젝트 규모에서 도구 호출(tool calling)을 정상적으로 수행하지 못한다.

  • PAI 에이전트는 별도의 할 일 목록(to-do) 생성 단계 없이도 정확한 코드 수정을 제안한다.

Timeline

로컬 LLM 기반 코딩 에이전트 비교 설정

  • Qwen 2.5 3B 모델을 활용하여 3D 틱택토 게임의 시각적 버그와 승리 로직을 수정한다.
  • 셀 간격 추가와 승리 시 마커 색상 변경이라는 두 가지 명확한 프롬프트를 테스트 기준으로 삼는다.

바이브 코딩으로 제작된 기존 게임의 문제점을 해결하기 위해 index.html, game.js, style.js 파일이 포함된 디렉토리에서 작업을 시작한다. 사용자는 현재 하드웨어에서 구동 가능한 최적의 모델로 Qwen 2.5 3B를 선택하고 PAI와 Open Code 두 가지 하네스의 성능을 대조한다.

PAI 코딩 에이전트의 작업 과정 및 결과

  • PAI 에이전트는 7분 44초의 작업 시간을 기록하며 요청된 모든 시각적 개선을 완료한다.
  • 총 9.4K 토큰 송신과 2.8K 토큰 수신으로 총 12.2K 토큰 내외의 컨텍스트를 사용한다.

PAI는 파일 전체를 읽는 대신 game.js 파일을 여러 부분으로 나누어 부분적으로 분석하는 전략을 취한다. 결과물로 제출된 diff 파일은 정확한 코드 수정을 반영하며 실제 게임 테스트에서 셀 간격 확보와 승리 시 녹색 강조 표시 기능이 정상 작동함을 입증한다.

Open Code와 커스텀 Basico 에이전트 테스트

  • Open Code 환경에서 최소화된 기능을 가진 Basico 에이전트를 사용하여 동일한 테스트를 수행한다.
  • Gemma 2 계열 모델들은 로컬 환경의 파일 수정 도구 호출 과정에서 한계를 드러낸다.

비교의 공정성을 위해 저장소를 초기 상태로 되돌린 후 작업을 진행한다. Open Code는 작업 시작 전 할 일 목록(to-do)을 작성하는 단계를 거치며 이 과정에서 PAI보다 많은 오버헤드가 발생한다. 다양한 로컬 모델 중 Qwen 2.5만이 복잡한 도구 호출 작업을 안정적으로 완수한다.

에이전트별 토큰 효율성 및 최종 성능 비교

  • Open Code는 약 23K 토큰을 소모하며 PAI보다 약 2배 많은 자원을 사용한다.
  • 코딩 에이전트 하네스의 기능보다 컨텍스트에 담기는 데이터의 품질과 LLM 자체의 성능이 결과물에 더 큰 영향을 미친다.

최종 결과는 두 에이전트 모두 동일하게 우수하지만 시간과 자원 소모 측면에서 큰 차이가 발생한다. Open Code는 가드레일과 프롬프트 미세 조정 등 더 많은 기능을 제공하지만 단순 코드 수정 시나리오에서는 PAI의 가벼운 구조가 더 빠른 해결책을 제시한다.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video