Bob V2: 더 빠르고, 더 좋고, 더 스마트하게
Bob V2가 6월 24일 정식 출시됩니다. 일상적인 사용에서 체감할 수 있는 발전입니다. 속도가 빨라졌고, 다른 작업을 하는 동안에도 태스크를 백그라운드에서 계속 실행할 수 있으며, 모든 클라이언트에서 동일하게 동작하는 단일 에이전트를 기반으로 설계되었습니다. 이 에이전트는 Bob IDE에 먼저 탑재되며, Bob Shell도 곧 이어집니다. 새 버전으로 업데이트하는 것 외에 별도의 마이그레이션 절차는 없으며, 기존 설정, 규칙 파일, MCP 서버도 그대로 이어집니다.
이 글에서 다루는 내용:
- 새로운 아키텍처가 실제로 무엇인지
- 일상 업무에서 달라지는 점: 성능, 새로운 모드, 백그라운드 태스크, 롤백, 문서 작업, 서브에이전트
- Workflows — 크고 여러 단계로 이루어진 변경 작업을 반복 가능하게 만드는 프레임워크
IBM에서 먼저 검증했습니다
Bob의 첫 번째 고객은 IBM 자체로, 메인프레임 시스템부터 클라우드 네이티브 서비스까지 다양한 영역에서 10만 명 이상의 개발자가 사용하고 있습니다. V2는 정식 출시에 앞서 대규모 내부 사용자를 대상으로 먼저 선보였습니다. 이 글에서 소개하는 기능들은 5월 초부터 단계적으로 배포되어, 각 기능이 실제 프로덕션 환경에서 충분히 검증된 후 출시되었습니다.
하나의 에이전트, 하나의 하네스, 다양한 클라이언트
Bob V1의 IDE 확장과 셸은 두 개의 별도 기반 위에 만들어졌습니다. 빠르게 개발자들의 손에 Bob을 전달하기 위한 의도적인 선택이었지만, 모든 개선 사항을 두 번씩 만들어야 한다는 뜻이기도 했습니다. 분리된 코드베이스는 위에서 언급한 요구 사항들을 느리게 만드는 원인이었습니다.
V2는 이를 3계층 아키텍처로 대체하여 추론, 인프라, 인터페이스를 명확하게 분리합니다:
| 구성 요소 | 역할 |
|---|---|
| 에이전트(The Agent) | 에이전틱 루프. 모든 추론과 코드 생성이 이곳에서 이루어지며, 모든 클라이언트에서 동일하게 동작합니다. |
| 하네스(The Harness) | 공유 인프라: 인증, 로깅, 기능 플래그, 원격 측정. |
| 클라이언트(The Clients) | IDE, 셸 등 인터페이스 — 중복 로직 없이 구성됩니다. 앞으로 더 추가될 예정입니다. |
일상 업무에서 달라지는 것들
개별 기능 이야기에 앞서, 그 기능들이 놓인 기반 자체가 달라졌습니다. V2의 채팅 화면은 의도적으로 더 조용해졌습니다. 중간 도구 호출과 막다른 탐색 과정은 화면에서 접혀 사라지고, 실제 작업과 그 결과만이 앞에 남습니다. 그 뒤에서 돌아가는 기계 장치는 보이지 않습니다.
서브에이전트: 컨텍스트를 깔끔하게 유지하기
Bob이 복잡한 작업을 처리하다 보면, 대화 창이 파일 읽기, 검색, 막다른 탐색 내용들로 가득 차게 됩니다. 그 세부 내용 대부분은 주 작업과 직접적인 관련이 없지만, 컨텍스트 윈도우를 그만큼 소모합니다.
서브에이전트가 이 문제를 해결합니다. Bob이 독립적으로 처리할 수 있는 작업 — 예를 들어 "이 코드베이스에서 인증이 어떻게 동작하는지 파악해줘" 같은 것 — 을 만나면, 자체적인 깨끗한 컨텍스트를 가진 서브에이전트를 생성합니다. 서브에이전트가 파일을 읽고, 호출을 추적하고, 패턴을 파악하면, 그 요약만이 주 에이전트에게 돌아오고 중간 단계는 버려집니다.
병렬 네이티브 도구 호출
V1에서는 도구 호출이 하나씩 순서대로 실행되었습니다. 파일 읽기를 요청하고, 결과를 기다린 후, 다음 요청을 보내는 방식이었습니다. 파일 읽기 다섯 번과 검색 세 번으로 퍼져 나가는 작업이라면, 이 대기 시간이 빠르게 쌓입니다. V2에서는 모델이 한 번의 턴에 여러 도구를 요청하고 함께 실행할 수 있습니다. V1에서 약 30초 걸리던 작업이 10초 이내로 끝나는 경우가 많습니다.
네이티브 도구 호출은 V1에서 모든 도구 요청을 감쌌던 장황한 XML도 없애, 같은 작업에 소모되는 token도 줄어듭니다. 컨텍스트 윈도우도 200k에서 270k token으로 확장되어, 더 긴 작업도 압축이 시작되기 전에 더 멀리 실행할 수 있습니다.

세 가지 모드: Agent, Plan, Ask
V2는 Bob의 기존 다섯 가지 모드를 세 가지로 통합했습니다:
- Agent — Bob이 직접 행동하며 작업을 완수합니다. 완전한 에이전틱 기능을 사용합니다.
- Plan — Bob이 체계적인 계획 수립 과정을 거칩니다. 요구 사항을 모으고, 컨텍스트를 파악하고, 이해를 확인한 뒤 Agent에 넘길 수 있는 실행 가능한 계획을 만들어냅니다.
- Ask — 읽기 전용. Bob이 코드베이스를 건드리지 않고 아키텍처와 로직을 설명합니다.
권장 사항은 변하지 않았습니다. 익숙하지 않은 코드이거나, 실제로 영향 범위가 넓은 변경이라면 Ask나 Plan에서 시작하고, 작업 내용이 명확해지면 Agent로 전환하세요.

더 적은 인터럽션, 동일한 제어권
이제 읽기 작업 — 파일 읽기, 디렉터리 목록 조회, 코드 검색 — 은 기본적으로 승인 없이 실행됩니다. Bob이 멈추지 않고 컨텍스트를 수집할 수 있습니다. 상태를 변경하는 작업은 여전히 명시적인 승인이 필요합니다: 파일 편집, 명령 실행, MCP 도구 호출, 스킬 호출. 승인은 여러 제어 장치 중 하나로, 롤백, 커스텀 규칙, 무시 파일과 함께 작동하며 도구 클래스별로 강화하거나 완화할 수 있습니다.

백그라운드 태스크
Bob은 더 이상 하나의 대화에만 세션을 묶어두지 않습니다. 개발자는 여러 태스크를 동시에 실행하고, 백그라운드에 두고, 다른 작업을 계속할 수 있습니다. 각 태스크는 자체 스레드와 컨텍스트를 가지므로, 태스크 간에 전환해도 작업 위치가 유지됩니다. 태스크 패널에서는 실행 중인 것, 완료된 것, 확인이 필요한 것을 한눈에 볼 수 있으며, 완료된 태스크는 알아서 정리됩니다. 그리고 Bob은 실행 중인 동안 방해하지 않습니다. 백그라운드에서 태스크가 완료되어도 포커스를 빼앗거나 현재 작업 중인 탭을 바꾸지 않습니다.
롤백, 새롭게 설계
V1에서는 이 기능을 체크포인트라고 불렀고, git 위에 구현되었습니다. 그래서 제약이 있었습니다. git이 없는 저장소는 체크포인트를 전혀 사용할 수 없었고, 히스토리가 매우 크면 모든 것이 느려졌습니다. V2는 이 전체를 단순화하고 이름을 롤백으로 바꿨습니다. 이제 파일 상태를 직접 추적합니다 — 태스크 단위, 대화 턴 단위, 개별 도구 호출 단위로 — 그리고 그 어떤 시점으로도 복원할 수 있습니다. 롤백이 클라이언트가 아닌 에이전트 안에 있기 때문에, 에이전트가 실행되는 어느 곳에서나 동일하게 동작합니다.

문서 작업
작업의 컨텍스트 중 많은 부분이 코드베이스 밖에 있습니다. 설계 문서, 작성된 스펙, 테스트 케이스가 담긴 스프레드시트 같은 것들이죠. V2는 .docx, .pdf, .xlsx 파일을 네이티브로 읽습니다. 파일을 대화에 드롭하면 Bob이 별도의 복사-붙여넣기나 추출 과정 없이 바로 활용합니다.
결과물도 마찬가지입니다. 분석 작업이 끝나면 Bob은 발견한 내용을 하나의 독립적인 HTML 요약으로 만들어낼 수 있습니다. 어떤 브라우저에서든 열 수 있고, 별도의 도구가 필요 없습니다. 조사 결과를 세션에 참여하지 않았던 사람에게도 전달할 수 있는 형태로 만들 수 있습니다.
기존 설정은 그대로 이어집니다
다른 AI 코딩 도구에 투자했던 작업이 처음부터 다시 시작되지 않고 이어질 수 있어야 합니다. V2는 기존 컨벤션, 규칙 파일, 커맨드, MCP 서버를 그대로 읽어오며, 생태계 전반에서 사실상 표준이 된 플러그인 형식도 지원합니다. 일반적인 도구 모음을 Bob에서 바로 실행할 수 있습니다. MCP 서버는 V1에서 이미 전용 설정 탭을 가지고 있었으며, V2는 그 옆에 스킬 전용 탭을 추가했습니다. 파일을 직접 편집하지 않고도 스킬을 추가, 설정, 삭제할 수 있습니다.
Workflows: 여러 단계로 이루어진 변경을 반복 가능하게
AI는 열린 문제 해결에는 강하지만, 같은 일을 두 번 반복하는 데는 약합니다. "이걸 Java 21로 마이그레이션해줘"라고 이틀에 걸쳐 두 번 요청하면 두 가지 다른 접근 방식과 두 가지 다른 결과가 나올 수 있습니다. 일회성 작업이라면 괜찮습니다. 하지만 대형 엔터프라이즈 업무 — 메인프레임 애플리케이션 현대화, 수천 개의 파일 리팩터링, 여러 단계에 걸쳐 진행되는 모든 작업 — 에서는 그 변동성 자체가 문제입니다.
Workflows는 이런 작업에 뼈대를 부여합니다. 출발점은 모든 단계가 AI를 필요로 하지 않고, 모든 단계가 완전히 자동화되어야 하는 것도 아니라는 인식입니다:
- 일부 단계는 순수 자동화입니다 — 의존성 스캔, 테스트 실행.
- 일부 단계는 AI가 필요합니다 — 복잡한 코드 변환, 패턴 분석.
- 일부 단계는 사람이 필요합니다 — 전략 승인, 커밋 전 diff 검토.
Workflow는 각 단계가 어디에 속하는지를 정의합니다. 엔진은 순서대로 단계를 실행하고, 상태를 유지하며, 오류를 처리하고, 전체 프로세스를 반복 가능하게 만듭니다.
IBM의 프리미엄 패키지가 바로 여기서 등장합니다. 각 패키지는 IBM이 해당 도메인에서 수십 년간 쌓아온 경험을 바탕으로 검증된 의견이 담긴 Workflow를 제공하며, 각각 별도의 오퍼링으로 곧 자체 포스트가 나올 예정입니다: Java 현대화를 위한 IBM Bob Premium Package, IBM i용 Premium Package, IBM Z용 Premium Package. 정식 출시 시점에 사용 가능한 Workflow는 Bob과 이 패키지들에 포함된 것들입니다. 더 넓은 범위의 authoring은 초기 도입자들과 함께 API 표면이 안정화된 이후에 열립니다.
앞으로의 방향
이 아키텍처는 기존 기반에서는 실현 불가능했던 방향들을 열어줍니다. 구체적인 일정이나 약속을 지금 당장 드리기는 어렵지만, 우리가 탐색 중인 큰 방향들은 다음과 같습니다: 에이전트를 원격으로 실행하고 모든 클라이언트에서 접근하기, 여러 에이전트가 하나의 태스크에서 협력하기, 더 많은 클라이언트로 Bob을 확장하기. 이것들이 실제로 어떤 형태가 될지는 초기 도입자들이 가장 필요로 하는 것에 따라 결정될 것입니다.
6월 24일 업데이트
Bob V2는 6월 24일에 일반적인 버전 업데이트로 배포됩니다. IDE 확장을 업데이트하면 새 아키텍처로 전환됩니다. Bob Shell도 곧 이어집니다. 별도의 마이그레이션 절차는 없으며, 설정, 규칙 파일, MCP 서버는 그대로 이어집니다.
첫 주에 한 번 시도해볼 만한 것: Plan 모드로 태스크를 시작하고, 계획을 Agent에 넘긴 다음, 다른 작업을 하는 동안 백그라운드에서 실행되게 해보세요.
링크
