Pi 4분 소요

Pi와 MCP 사이, Codemode가 바꾸는 AI의 도구 사용법

핵심 요약

  • MCP로 도구를 연결하는 일과 여러 도구를 조합해 쓰는 일은 따로 봐야 합니다.
  • Codemode는 반복과 조건 분기를 코드로 표현해 여러 도구를 함께 쓰는 방식입니다.
  • 중간 결과를 코드 안에서 처리하면 모델에 넘길 데이터를 줄일 수 있습니다.
  • 샌드박스의 실행 격리와 연결된 도구의 접근 권한은 따로 설계해야 합니다.

AI 에이전트에 도구를 붙여도 일이 매끄럽게 끝나지 않을 때가 있습니다. 검색 결과를 추린 뒤 필요한 정보를 다시 조회해야 하고, 그렇게 얻은 결과도 정리해야 하기 때문입니다. Pi와 MCP의 관계를 살펴볼 때도 도구 조합이라는 문제를 따로 생각하면 이해하기 쉽습니다.

MCP는 연결을 돕지만, 일의 순서까지 정하지는 않습니다

MCP는 AI 애플리케이션과 외부 도구·데이터를 연결하는 공통 규격입니다. 도구마다 다른 연결 방식을 일정한 형식으로 다룰 수 있게 해줍니다.

하지만 도구를 많이 연결한다고 작업 절차까지 저절로 정해지지는 않습니다. 검색부터 할지 상세 정보를 먼저 조회할지 정해야 하고, 어떤 결과를 버릴지도 판단해야 합니다.

예를 들어 “미처리 고객 문의를 정리해 주세요”라는 요청을 받았다고 해보겠습니다. 이 일을 처리하려면 여러 단계를 거쳐야 합니다.

  1. 미처리 문의 목록을 가져옵니다.
  2. 문의별 고객 정보를 조회합니다.
  3. 같은 문제를 다룬 문의를 묶습니다.
  4. 담당자가 읽을 요약을 만듭니다.

MCP로 이런 작업에 필요한 도구를 연결할 수 있습니다. 다만 어떤 순서로 도구를 쓰고 어떤 조건에서 호출할지는 따로 설계해야 합니다.

그래서 MCP 지원 여부만으로 에이전트가 얼마나 쓰기 편한지 판단하기는 어렵습니다. 도구를 연결한 뒤 실제로 일을 처리하는 방식까지 봐야 합니다.

Codemode는 도구 호출 사이에 코드를 넣습니다

여기서 말하는 Codemode는 모델이 코드를 작성해 여러 도구를 조합하는 방식입니다. 자바스크립트의 반복문과 조건문으로 작업 순서와 조건을 적는 식입니다.

앞의 문의 정리를 모델과 도구가 대화를 주고받으며 처리한다고 해보겠습니다. 모델은 문의 목록을 받은 뒤 고객 정보를 요청합니다. 그 결과를 읽고 다음에 어떤 도구를 호출할지 결정할 수 있습니다.

도구를 코드로 조합하면 반복하는 부분은 실행 환경에 맡길 수 있습니다. 문의 목록을 하나씩 돌며 고객 정보를 가져오고 필요한 항목만 남기도록 하나의 프로그램을 작성하는 것입니다.

차이는 중간 과정을 누가 처리하느냐에 있습니다. 모델이 매 단계의 결과를 읽고 다음 행동을 정할 수 있습니다. 절차를 미리 코드로 적을 수 있다면, 그 부분은 코드가 처리하고 모델은 정리된 결과를 받아도 됩니다.

물론 모든 판단을 반복문으로 바꿀 수는 없습니다. 문의의 맥락이 모호하거나 예외적인 대응이 필요할 때는 다시 모델의 판단을 거쳐야 합니다. Codemode를 쓰면 이런 판단이 필요한 부분과 기계적으로 처리할 부분을 나눌 수 있습니다.

기대할 효과는 호출 횟수보다 중간 데이터에 있습니다

문의 10건에 각각 긴 고객 이력이 붙어 있다고 가정해보겠습니다. 최종 요약에는 고객 등급, 문의 주제, 최근 처리 상태만 필요할 수도 있습니다.

그런데 전체 이력을 매번 모델에 넘기면 모델이 읽어야 할 내용이 많아집니다. 코드 안에서 필요한 필드만 추려두면 훨씬 작은 결과를 넘길 수 있습니다.

이때 줄어드는 것은 모델이 읽는 입력량입니다. 외부 시스템에서 고객 정보를 조회하는 횟수까지 반드시 줄어드는 것은 아닙니다.

성능을 평가할 때도 이 둘을 구분해야 합니다. 호출을 코드로 묶었다고 모든 작업이 빨라지지는 않습니다. 도구의 응답 속도나 호출 제한에 영향을 받고, 서로 의존하는 작업은 순서대로 실행해야 하기 때문입니다.

반면 독립적인 조회는 동시에 실행할 수 있습니다. 여러 고객의 정보를 각각 가져오는 작업이 그렇습니다. Codemode에서는 이런 작업을 어떤 순서로 실행할지도 코드로 정할 수 있습니다.

제가 주목하는 부분은 “AI가 자바스크립트를 쓴다”는 장면보다 모델이 읽을 필요 없는 데이터를 걸러낼 수 있다는 점입니다. 도구를 설계할 때 모델에 어떤 데이터를 보여줄지도 함께 정하게 됩니다.

Pi가 MCP를 받아들인다면, 무엇을 봐야 할까요

MCP를 활용하더라도 도구를 쓰는 방식은 따로 설계할 수 있습니다. 외부 도구는 MCP로 연결하고, 모델에는 그 도구들을 코드로 조합할 수 있는 실행 환경을 제공하는 구조입니다.

이런 구조에서는 기존의 도구 사용 방식을 비판하면서도 MCP를 채택할 수 있습니다. 연결 규격을 받아들인다고 특정 호출 방식까지 그대로 따라야 하는 것은 아니기 때문입니다. 다만 이런 구성이 가능하다는 이유만으로 Pi의 실제 입장 변화나 그 이유를 단정할 수는 없습니다.

구현을 평가할 때는 샌드박스도 살펴봐야 합니다. 샌드박스는 제한된 환경에서 코드가 실행되도록 하는 장치입니다. 실행 환경을 격리했더라도 연결된 도구의 권한까지 자동으로 줄어들지는 않습니다.

코드가 고객 정보를 읽을 수 있는지, 기록을 수정할 수 있는지는 따로 정해야 합니다. 코드의 실행 시간과 반환하는 데이터의 크기에도 제한을 둘 필요가 있습니다.

여러 도구를 묶어 쓸수록 실패했을 때의 처리도 신경 써야 합니다. 세 번째 단계에서 오류가 나더라도 앞의 두 단계가 자동으로 취소되지는 않습니다. 특히 데이터를 변경하는 작업이라면 전체 코드를 다시 실행해도 같은 작업이 중복 처리되지 않도록 설계해야 합니다.

Pi와 MCP를 살펴볼 때는 지원 여부와 함께 도구를 어떻게 조합해 쓰는지도 확인해야 합니다. Codemode는 반복 작업과 중간 데이터 처리를 코드에 맡기는 한 가지 방법입니다. 에이전트에 이를 적용하려면 모델이 직접 판단해야 할 단계와 코드로 처리해도 될 단계가 얼마나 명확하게 나뉘어 있는지 살펴봐야 합니다.

Pi MCP Codemode

댓글

    댓글을 불러오는 중...