# Gemini CLI 마스터하기(심화): v13 - 인터랙티브 모드의 고급 명령어와 기능 이전 단계에서 인터랙티브 모드의 기본 UI와 '제안 및 승인' 흐름을 이해했습니다. 하지만 실제 복잡한 작업을 수행하다 보면, 단순히 승인하거나 거부하는 것 이상의 세밀한 제어가 필요할 때가 많습니다. 이번 단계에서는 AI 에이전트의 실행을 더욱 정교하게 통제하고, 협업의 수준을 한 단계 높일 수 있는 고급 명령어와 기능들을 소개합니다. 이러한 기능들은 웹 인터페이스의 버튼 형태로 제공되거나, 프롬프트 입력창에 특별한 명령어로 입력하여 활성화할 수 있습니다. --- ## 1. 실행 흐름 제어 명령어 ### 1.1. `pause` / `resume` (일시 중지 / 재개) * **기능:** 에이전트가 새로운 행동을 계획하거나 제안하는 것을 일시적으로 멈춥니다. 사용자는 이 시간을 활용하여 현재 상황을 분석하거나, 다음 지시를 고민하거나, 외부 정보를 찾아볼 수 있습니다. `resume` 명령어로 에이전트의 작업을 다시 이어갈 수 있습니다. * **사용 시점:** 에이전트가 연속적으로 여러 행동을 빠르게 제안할 때, 잠시 생각할 틈이 필요하거나 작업의 방향을 재설정하고 싶을 때 유용합니다. ### 1.2. `step` (단계별 실행) * **기능:** 에이전트의 전체 행동 계획을 한 번에 실행하는 대신, 가장 작은 단위의 행동(primitive action)을 하나씩만 실행하고 즉시 멈춥니다. 이는 마치 코드 디버거의 'Step Over' 기능과 같습니다. * **사용 시점:** 에이전트의 작업이 특정 단계에서 계속 실패하거나 예상치 못한 결과를 낼 때, 정확히 어떤 행동에서 문제가 발생하는지 찾아내기 위해 사용합니다. 복잡한 워크플로우를 디버깅하는 데 필수적인 기능입니다. ## 2. 행동 제안 수정 및 이해 ### 2.1. `edit_action` (행동 수정) * **기능:** 인터랙티브 모드의 가장 강력한 기능 중 하나입니다. 에이전트가 제안한 행동을 사용자가 실행 전에 직접 수정할 수 있습니다. 예를 들어, 행동 제안 카드에 편집 버튼이 있어 사용자가 파라미터나 타겟을 변경할 수 있습니다. * **사용 시점:** * 에이전트가 '결제' 버튼을 클릭하려 할 때, 사용자가 이를 '장바구니 담기' 버튼으로 수정하여 승인할 수 있습니다. * 에이전트가 GitHub 이슈에 'bug' 라벨을 제안했지만, 사용자는 'enhancement'가 더 적절하다고 판단하여 라벨 이름을 직접 수정 후 승인할 수 있습니다. * 이를 통해 에이전트의 실수를 즉시 바로잡고, 원하는 방향으로 작업을 유도할 수 있습니다. ### 2.2. `explain` (이유 설명) * **기능:** 에이전트가 왜 특정 행동을 제안했는지, 그 근거와 추론 과정을 설명하도록 요청합니다. * **사용 시점:** 에이전트의 제안이 예상 밖이거나 그 의도가 불분명할 때 사용합니다. "왜 이 버튼을 클릭하려고 하니?"라고 물어봄으로써, 에이전트의 '생각'을 이해하고 제안을 신뢰할지, 거부할지, 수정할지를 결정하는 데 도움을 받을 수 있습니다. ## 3. 세션 관리 기능 ### 3.1. `save_session` / `load_session` (세션 저장 / 불러오기) * **기능:** 현재까지의 모든 상호작용 기록, 에이전트의 메모리, 작업 환경 상태 등을 하나의 파일로 저장합니다. 나중에 이 파일을 불러와 중단했던 시점부터 정확히 작업을 재개할 수 있습니다. * **사용 시점:** 몇 시간에 걸쳐 완료해야 하는 길고 복잡한 작업(예: 여러 웹사이트의 정보 수집 및 보고서 작성)을 수행할 때 유용합니다. 컴퓨터를 재부팅하거나, 며칠 뒤에 작업을 이어가야 할 때 모든 컨텍스트를 유지할 수 있습니다. ### 3.2. `rewind` / `undo` (되돌리기 - 고급/실험적 기능) * **기능:** 이미 실행이 승인된 마지막 행동을 취소하고 이전 상태로 되돌립니다. 이는 단순히 에이전트의 내부 상태를 되돌리는 것을 넘어, 외부 시스템에 가해진 변경사항(예: API 호출로 추가된 댓글 삭제)까지 포함해야 하므로 매우 복잡하고 실험적인 기능일 수 있습니다. * **사용 시점:** 사용자가 실수로 행동을 승인했거나, 승인된 행동의 결과가 예상과 전혀 다를 때 즉시 바로잡고 싶을 때 사용합니다. ## 4. 요약 이러한 고급 명령어와 기능들은 사용자를 단순한 '승인자'에서 AI 에이전트의 작업을 지휘하고 협업하는 '핸들러(Handler)' 또는 '코파일럿'으로 격상시킵니다. `pause`로 생각할 시간을 벌고, `step`으로 문제를 해결하며, `edit_action`으로 경로를 수정하고, `explain`으로 의도를 파악하는 과정을 통해, 우리는 AI 에이전트와 훨씬 더 정교하고 생산적인 상호작용을 할 수 있게 됩니다. 이제 이러한 고급 제어 기능들을 알았으니, 다음 단계에서는 이 모든 것을 종합하여 실제 'GitHub 이슈 분류' 시나리오에 적용하는 실전 예제를 살펴보겠습니다.