Skip to Content
사용자 가이드세션 Workflow 모드

세션 Workflow 모드

Workflow 모드는 현재 세션에서 일반 새 제출에 대해 Workflow 도구를 고려할지 여부를 환경 설정으로 저장합니다. 기본값은 꺼짐입니다. 모델은 여전히 workflow가 유용한지 여부를 판단하며, 모든 권한, 신뢰, 예산 및 도구 제한은 계속 적용됩니다. 모드를 활성화한다고 해서 실행이 시작되거나, 추론 강도가 변경되거나, 기본 설정이 변경되지는 않습니다.

Workflow 도구는 옵트인입니다. 모드를 켜기 전에 설정에서 tools.workflowsEnabled를 활성화하거나 QWEN_CODE_ENABLE_WORKFLOWS=1을 설정하십시오:

QWEN_CODE_ENABLE_WORKFLOWS=1 qwen --workflow-mode on qwen --resume <session-id> --workflow-mode off

도구를 사용할 수 없는 상태에서 --workflow-mode on으로 시작하면 초기화가 실패합니다. QWEN_CODE_DISABLE_WORKFLOWS=1은 Workflow 도구 활성화보다 우선합니다.

터미널 렌더러에서 /workflows mode 또는 /workflows mode status를 사용하여 상태를 확인하고, /workflows mode on 또는 /workflows mode off를 사용하여 변경할 수 있습니다. 이러한 모드 제어는 응답이 스트리밍되는 동안에도 실행될 수 있으며, 이후 적격 제출에 적용됩니다. 푸터에는 Workflow mode: on 또는 저장된 환경 설정을 현재 적용할 수 없는 경우 Workflow mode: on (unavailable)이 표시됩니다. 기존 /workflows 실행 목록 및 일시 중지 제어는 원래 동작을 유지합니다.

상태는 requested(저장된 환경 설정), available(필수 도구를 현재 사용할 수 있음), effective(둘 다 true)를 구분합니다. 켜려면 Workflow 도구를 사용할 수 있어야 합니다. 도구를 사용할 수 없을 때도 끌 수 있습니다. 도구를 잃어도 저장된 켜기 환경 설정이 지워지지는 않으며, 도구를 복원하면 해당 환경 설정이 다시 적용됩니다.

이 모드는 일반 로컬 세션과 일반 데몬 세션(보조 워크스페이스 소유자 포함)에서 지원됩니다. 관리형, SSH, 파생/서브에이전트 및 세션 에이전트 세션, 그리고 채팅 녹화가 비활성화된 세션은 모드 변경을 지원하지 않습니다. 지원되지 않는 프로토콜 세션은 이 기능이나 옵션을 광고하지 않습니다. 쓰기 실패 시 게시된 모드는 변경되지 않습니다.

Web Shell 및 VS Code

Web Shell, 분할 창 및 최신 VS Code 채팅의 컴포저는 지원되는 세션에 대해 + 메뉴에 Workflow를 목록으로 표시합니다. 체크 표시는 저장된 환경 설정을 나타내며, 모드가 현재 적용될 수 있는지 여부는 아닙니다. 더 넓은 화면에서는 두 번째 줄에 모드의 기능이나 현재 상태를 요약합니다. 환경 설정이 켜져 있는 동안 도구 모음에는 Workflow 칩이 표시되며, 툴팁에 상태 세부 정보가 표시되고 클릭하면 모드가 꺼집니다. 환경 설정은 켜져 있지만 도구를 사용할 수 없는 경우, 항목은 체크된 상태로 유지되고 칩은 경고 색상으로 표시되며, 둘 다 모드를 끌 수 있습니다.

세션이 생성되거나 복원되기 전에는 제어에 사용 가능성 플레이스홀더가 표시됩니다. 세션을 생성하거나 향후 환경 설정을 저장하지 않습니다. 지원을 광고하지 않는 호스트(오래된 서버 포함)는 항목을 숨깁니다. + 메뉴를 숨기는 호스트는 항목과 칩 모두를 표시하지 않습니다.

다른 클라이언트의 변경 사항이 동일한 세션의 제어를 자동으로 업데이트합니다. 쓰기 또는 재연결 중에는 마지막으로 확인된 값이 계속 표시되며, 상태가 확인될 때까지 항목과 칩이 비활성화됩니다. 타임아웃은 확인되지 않은 결과이며 성공적인 변경이 아닙니다. 클라이언트는 쓰기를 자동으로 반복하는 대신 현재 상태를 읽습니다. 활성 응답은 항목이나 칩을 비활성화하지 않습니다. 변경 사항은 다음 새로운 턴에 적용되며 강도는 변경되지 않습니다.

알림 및 입력 동작

첫 번째 적격 제출은 모델 전용 알림을 받습니다. 다른 변경이 없으면, 11번째와 21번째 제출에 이어 이후 10번째 적격 제출마다 알림이 전송됩니다. 기능을 끄거나 잃으면 다음 적격 제출에서 종료 알림이 한 번 전송됩니다. 실제 모델 디스패치만 알림을 소비하거나 카운트를 진행시키며, 디스패치 전 취소나 거부로는 진행되지 않습니다. 재시도와 폴백 시도는 동일한 전달 토큰을 공유합니다. 취소가 디스패치된 모드 알림을 모델 히스토리에서 제거하면, 다음 적격 제출이 현재 상태를 다시 알립니다.

일반 CLI, SDK 및 ACP 제출은 human-origin 선언 없이 이 명시적 모드를 사용할 수 있습니다. 도구 계속, 재시도, hook, 슬래시 명령어로 생성된 프롬프트, 셸 모드, 사이드 쿼리, 자동 Goal/Cron/알림/채널 턴 및 서브에이전트는 새 모드 알림을 추가하거나 카운트를 진행시키지 않습니다. 프롬프트 추측은 모드 또는 전달되지 않은 전환에 컨텍스트가 필요한 동안 일시 중지됩니다.

one-turn 키워드 힌트는 별도로 유지됩니다. human provenance 요구 사항과 옵트아웃 설정은 변경되지 않습니다. 유효한 키워드와 모드 알림은 하나의 엔벨로프를 공유합니다. 영구 모드를 꺼도 유효한 one-turn 키워드는 비활성화되지 않습니다. 모드 전용 알림은 일시적 키워드 표시기나 키워드 텔레메트리를 활성화하지 않습니다.

세션 수명 주기

재움은 선택한 트랜스크립트 분기에서 마지막 유효한 부울 레코드를 복원하고 저장된 켜기 또는 끄기 상태를 한 번 알립니다. 명시적 CLI 또는 SDK 초기 값은 세션이 준비된 후 한 번 해당 복원된 값을 재정의합니다. 충돌하는 초기 값이나 Workflow 도구를 사용할 수 없는 동안의 초기 켜기 값은 초기화를 실패시킵니다. 새 세션이나 초기화된 세션은 꺼진 상태로 시작됩니다. 포크는 선택한 체크포인트를 독립적으로 상속하며, 되감기는 현재 환경 설정을 보존하고 복원된 분기에 고정합니다. 성공적인 압축은 다음 적격 새 제출에서 상태를 다시 알립니다. 실패한 재움 또는 분기 전환 후 이전 세션의 히스토리를 재구성하면, 다음 적격 제출이 저장된 상태를 다시 알립니다. 저장된 환경 설정이 없는 세션은 조용히 유지됩니다.

TypeScript SDK 및 ACP

const session = query({ prompt: messages(), options: { workflowMode: true }, }); const state = await session.getWorkflowMode(); await session.setWorkflowMode(false);

workflowMode는 선택 사항입니다. 생략하면 재개된 값이 유지되며, false는 명시적으로 끄기를 저장합니다. 초기화는 초기 값을 협상하고 단계적으로 적용하며, Query.initialized는 제어 핸드셰이크입니다. get/set 작업은 세션 준비를 기다립니다. 세션 초기화가 진행 중에는 반복된 초기화 요청이 거부됩니다. 오래된 CLI는 첫 번째 프롬프트 전에 명시적 모드 요청을 묵인하는 대신 거부합니다. 커스텀 전송도 동일한 제어 프로토콜을 사용합니다.

ACP는 값이 on 및 off인 표준 workflow_mode 구성 옵션을 광고합니다. currentValue는 요청된 상태를 반영하며, _meta['qwen.workflowMode']에는 available, effective 및 선택적 reason이 포함됩니다. 커밋된 변경 사항과 기능 새로 고침은 config_option_update를 통해 전체 옵션을 게시합니다.

데몬 클라이언트는 기존 세션 config-option 엔드포인트 또는 setSessionConfigOption(sessionId, 'workflow_mode', 'on', clientId)를 사용합니다. 이 옵션은 persist 재정의을 허용하지 않으며, 항상 세션 영구적입니다. 컨텍스트 읽기 및 업데이트는 해당 세션의 live 소유자에게 속하며, 리스 및 세대 검사를 포함합니다. Web Shell과 최신 VS Code 호스트는 동일한 세션 제어 및 업데이트를 사용합니다.

Last updated on