Pydantic AI가 도구 실행의 승인 요청을 다른 모델이 먼저 검토하고, Meta 모델과 도구에 연결된 웹 화면을 활용하는 기능을 추가했다. 에이전트 개발자는 사람에게 보낼 승인 요청을 줄이고, 모델 연결과 화면용 데이터 전달을 직접 구현하는 부담을 덜 수 있다.
1. 승인 요청을 줄이되 사람의 판단은 남긴다
GitHub 공개 시각 기준으로 v2.57.0은 2026년 10월 16일 배포됐다. 릴리스 제목에는 10월 15일로 표시돼 있다.
에이전트 실행 기능 묶음인 Harness의 ApprovalReviewer는 사람이 승인해야 하는 도구 호출을 다른 모델에 먼저 묻는 선택 기능이다. 위험 질문에 ‘아니오’라고 답하면 승인돼 같은 실행 단계에서 도구가 실행된다. 위험하다는 답, 불확실한 답, 모델 오류, 검토 예산 부족은 사람에게 남긴다. 검토자 자체는 호출을 거절하거나 실행하지 않는다.
검토할 도구는 이름이나 메타데이터 조건으로 좁힐 수 있다. 기본 대상은 함수 도구 전체지만, 승인이 필요한 호출만 검토한다.
실행 직전에 호출을 차단할 수 있는 ToolCallJudge와 함께 쓰면 자동 승인된 호출도 그 판정을 거친다. 승인 요청을 줄이는 기능과 실행을 막는 기능은 역할이 다르다.
이는 사람에게 갈 요청을 분류하는 필터이지 보안 경계가 아니다. 도구 안팎의 권한 검사와 격리 실행은 유지해야 한다. 대화 문맥을 함께 보내도록 설정하면 외부 문서 등이 검토 모델의 답을 유도하는 프롬프트 인젝션 공격에 노출되는 범위도 넓어진다.
2. Muse 모델 연결과 설정 제약을 함께 제공한다
MetaProvider는 Meta의 Muse 모델을 연결하며 기본적으로 Responses API를 사용한다.
이 통합에는 OpenAI SDK가 포함된 설치가 필요하다. Meta 개발자 플랫폼에서 발급한 API 키를 META_API_KEY 환경 변수에 설정하면 다음 원문 예시처럼 연결할 수 있다.
from pydantic_ai import Agent
agent = Agent('meta:muse-spark-1.3')
...Meta는 도구 선택에서 자동 선택만 허용한다. 모델이 정해진 형식의 최종 답변을 내도록 쓰는 ‘출력용 도구’를 라이브러리가 강제하려던 경우에는 자동 선택으로 전환하지만, 사용자가 특정 도구나 필수 호출을 강제하면 오류가 난다. 도구를 쓰지 않겠다는 명시적 설정도 API가 거부하므로, 다른 제공사의 설정을 그대로 옮기면 안 된다.
Muse는 추론을 끌 수 없어 thinking=False가 무시된다.
통합은 도구 호출 전 진행 메시지의 구분 표식과 암호화된 추론을 다음 요청에 되돌려 보낸다. 모델이 진행 상황 보고를 최종 답변으로 오해해 긴 도구 실행을 일찍 끝내는 문제를 막기 위한 처리다. 다만 비스트리밍은 실제 API 녹화로 검증했지만, 스트리밍 도구 호출은 모의 테스트다. 스트리밍에서 구분 표식이 어느 이벤트에 실리는지는 가정이므로 실제 녹화로 확인할 여지가 남는다.
3. MCP Apps는 화면에 필요한 결과를 보존한다
MCP Apps는 서버가 도구에 웹 페이지를 연결하는 기능이다. 이번 변경은 화면을 직접 그리는 대신, 프런트엔드가 페이지를 표시할 재료를 전달한다. 페이지가 연결된 도구의 정상 호출 결과에는 별도 설정 없이 리소스 주소, 모델이 만든 입력, 전체 결과, 도구셋 식별자가 보존된다. 단, 호출을 가로채는 훅이 결과를 바꾸거나 실제 도구를 호출하지 않으면 앱 기록이 붙지 않으며, 오류 호출에도 붙지 않는다. 모델이 보는 내용은 이전과 같다.
AG-UI와 Vercel AI 어댑터는 도구 결과 뒤에 화면용 이벤트를 보낸다. 두 어댑터 모두 클라이언트가 이 기록을 대화 이력으로 돌려보내면 무시한다. 화면용 기록을 모델의 대화 입력으로 다시 받아들이지 않는 구조다.
페이지는 read_resource_for_app으로 읽는다. 이 메서드는 콘텐츠 형식을 나타내는 MIME 타입과 페이지의 콘텐츠 보안 정책·권한 정보를 보존한 MCP 결과를 반환한다.
위 조건에 따라 앱 기록이 붙는 경우 MCPToolset.call_tool의 반환값은 값 자체가 아니라 ToolReturn으로 감싸진다. 결과를 감싸 가공하는 코드인 래퍼는 내부 값을 수정하고, 페이지에 원본을 보여주면 안 되는 경우에는 메타데이터도 버려야 한다. 페이지가 없는 도구는 달라지지 않는다.
4. 자동화의 이익과 추가 비용을 함께 따져야 한다
승인 요청을 줄이는 대가로 선택된 호출마다 순차 검토 지연과 모델 사용량이 더해진다. 검토 사용량은 전체 실행 한도에 합산된다.
호출 인자는 사람에게 넘길 요청이라도 검토 모델 제공사로 전송된다. 민감한 인자를 다루는 도구는 검토 대상에서 빼거나 해당 데이터를 맡길 수 있는 제공사를 골라야 한다.
화면 연동은 원래 빠지던 결과를 전달하지만, 앱 기록이 붙는 호출마다 이력에 결과 사본 하나와 화면용 이벤트 하나가 추가된다.
이번 버전의 실용적 가치는 자동화 자체보다 승인 권한과 데이터 전달 경계를 구분해 연결할 수 있다는 데 있다.
