Mistral이 코딩 에이전트 Vibe 3.1.1을 공개해 사용자의 메시지를 모델에 전달하기 전 내용을 자동으로 고치거나 막을 수 있게 했다. 대화가 시작되고 끝날 때의 자동 처리도 더했으며, 여러 작업을 오가는 개발자가 대화를 다시 열거나 갈라 이어 가는 흐름도 손봤다.

1. 모델이 메시지를 읽기 전에 개입하는 훅

이번 릴리스의 핵심은 모델이 사용자 메시지를 읽기 전 실행되는 pre_agent 훅이다. 훅은 정해진 시점에 별도 작업을 실행하도록 연결하는 장치다. 릴리스 노트에 따르면 이 훅은 메시지를 차단하거나 문장을 다시 쓰고, 모델에 전달할 맥락을 덧붙일 수 있다.

입력 검사나 공통 안내 추가처럼 모델이 답하기 전에 처리할 작업을 에이전트 흐름에 연결할 수 있다. 메시지마다 같은 안내를 직접 붙이는 대신, 모델에 전달하기 직전에 자동으로 보충하는 용도로 활용할 수 있다.

session_start 훅은 세션이 시작되거나 재개·초기화·분기될 때 실행되고, 다음 메시지에 전달할 맥락을 추가할 수 있다. 세션별로 필요한 배경 정보를 대화 시작 흐름에 실어 보내는 방식이다.

세션 종료 시에는 session_end 훅이 백그라운드에서 실행된다. 종료 사유는 프로그램 종료, 대화 초기화, 그 밖의 경우로 구분된다.

승인이나 답변이 필요하거나 모델의 한 차례 응답 작업이 끝나거나 실패했을 때는 notification 훅이 백그라운드에서 동작한다. 대화 전체의 종료와 응답 도중의 알림을 서로 다른 시점에 연결하는 구조다.

2. 다른 에이전트 설정 가져오기와 명령 실행 추적

내장 /vibe:import 기능은 다른 코딩 에이전트의 설정을 찾아 지시사항, 스킬, 하위 에이전트, 명령, 훅, 외부 도구 연결 규격을 따르는 MCP 서버, 권한을 Vibe로 가져온다. 각각을 다시 옮기는 수고를 줄이고 기존 설정을 Vibe에서 이어 쓸 수 있도록 한 변화다.

Vibe가 실행하는 명령의 환경에는 VIBE_SESSION=1이 들어간다. 스크립트는 이 값을 확인해 명령이 Vibe 안에서 실행됐는지 구분할 수 있다.

대화형 화면이 아닌 실행 방식에서는 도구 호출이 거부된 경우 표준 오류, 프로그램 진단 메시지를 내보내는 별도 통로와 내보내기 결과의 경고에 기록하며, 에이전트가 답변 없이 끝난 경우도 표준 오류로 알린다.

3. 세션 재개와 분기 흐름 개선

vibe --resume에서 표시하는 세션 아이디는 뒤 8자리로 바뀌었고, 과거 세션은 앞 8자리로 계속 재개한다. 다시 연 세션은 현재 기본값이 아니라 마지막으로 사용한 모델과 에이전트를 이어 쓴다.

에이전트가 실행 중이어도 /branch로 분기할 수 있다. 새 대화는 현재 응답 작업이 시작되기 전 상태를 바탕으로 만들어지며, 복제본을 재개하는 명령은 대화 내용에 섞지 않고 별도 패널에 표시한다. 되감기나 분기가 거부되면 실행 중인 백그라운드 프로세스, 별도 작업으로 돌아가는 프로그램이나 하위 에이전트, 작업을 나눠 맡는 보조 에이전트 등 원인을 알 수 있게 됐다.

세션을 비우는 /clear는 예약된 지시가 없는 새 대화를 시작한다. 기존 세션에 있던 예약은 그 세션에 남고, 세션을 다시 열 때 실행된다.

자동 승인으로 새 세션을 열면 auto-approve 에이전트를 사용하며, 세션 재개 때도 해당 에이전트가 유지된다. 실행 중에는 Shift+Tab으로 다른 에이전트로 바꿀 수 있어 자동 승인 상태를 벗어날 수 있다.

4. 편의 기능의 이점과 운영상 대가

세션의 풀 리퀘스트, 코드 변경을 검토·반영해 달라는 요청과 머지 리퀘스트, 코드 변경을 합쳐 달라는 요청은 gh 또는 glab과 함께 기본 추적된다. 하단 상태 링크에서 목록을 열고 상태를 갱신할 수 있어 작업과 요청의 진행 상황을 한 화면에서 확인하기 쉽다. 원하지 않는 경우 설정으로 추적을 끌 수 있다.

요청 상태를 대화 화면에서 살피고 종료 작업을 훅에 맡기는 편의가 생겼지만, Vibe를 종료할 때 아직 실행 중인 notification과 session_end 훅은 최대 5초를 기다린다.

macOS와 Linux에서는 bash 명령이나 훅이 끝날 때 그 안에서 &로 띄운 프로세스도 중단되므로, 오래 실행할 명령은 별도 백그라운드 프로세스 기능을 이용해야 한다.

Vibe 3.1.1의 핵심은 대화의 시작과 끝에 자동화를 연결하고, 여러 작업을 오가도 마지막 모델·에이전트와 대화 상태를 이어 쓰는 흐름을 다듬은 데 있다.