AX Code 받기 · 무료문서

이 페이지는 영어 문서의 번역입니다. 명령, 식별자, 예제는 그대로입니다. 런타임 7.24.4 · SDK 2.6.7. 영어 원문

실행 모드(로컬, 클라우드, 하이브리드, Council, Arena)

상태: 활성
범위: 현재 상태
최종 검토: 2026-09-12
담당: ax-code 런타임

AX Code는 작업을 로컬 추론, 호스트 또는 CLI 공급자, 또는 둘 다(하이브리드)에 둘 수 있고, 이해가 큰 작업을 연결된 여러 공급자에 펼칠 수 있습니다(council 검토와 arena의 N개 중 최선). 이 페이지는 그 모드에 대해 출시된 동작을 문서화합니다.

기준 원천

동작이 바뀌면 다음과 대조하여 확인합니다.

  • packages/ax-code/src/mode/ — 순수 정책, 하이브리드, council 집계, arena 순위, 토론, 예산, 메모리, 워크트리 정책, implement-arena 점수
  • packages/ax-code/src/tool/council.ts — 다중 공급자 council 도구
  • packages/ax-code/src/tool/arena.ts와 arena-implement.ts — 계획 arena와 구현 arena
  • packages/ax-code/src/session/prompt/prompt-routing.ts — modes.default가 hybrid일 때의 하이브리드 배치
  • packages/ax-code/src/config/schema-impl.ts — modes 구성 스키마
  • packages/ax-code/src/command/template/{council,arena}.txt — /council와 /arena가 기본 슬래시 메뉴에 있습니다

작업 모드 선택기(Agent | Council | Arena)

TUI와 Desktop은 다중 모델 라우팅을 위한 작업 모드 제어를 노출합니다. 기본값은 Agent입니다.

UI 선택 자유 텍스트 전송이 되는 것
Agent(기본값) 평범한 단일 에이전트 프롬프트
Council /council {your message} 다중 공급자 검토
Arena /arena {your message} 다중 모델 N개 중 최선
  • TUI 기본 장식: 바닥글은 Agent 칩을 보여 주지 않습니다. 실행 모드와 샌드박스는 남습니다. /work-mode(팔레트의 작업 모드 선택)가 명시적 선택기를 엽니다. Agent, Council, Arena이며, 각 행에 비용과 의미가 있습니다. 쓸 수 없는 앙상블 행은 이유와 함께 비활성화됩니다.
  • 준비된 앙상블 장식: Council이나 Arena를 고르면 칩이 나타납니다(Council · 2, 또는 나중에 사용할 수 없게 되면 속이 빈 Arena (off)). 칩을 클릭하면 Agent로 돌아갑니다. 새 채팅은 Agent로 재설정됩니다.
  • 가용성: 구성에서 켜져 있고, 연결된 공급자 중 적어도 둘이 선택할 수 있는 모델을 갖고, 구성한 구성원 상한이 1이 아닐 때 모드를 쓸 수 있습니다. 공급자가 연결되거나 끊기면 칩과 선택기 행이 실시간으로 갱신됩니다.
  • 제출 전 힌트(TUI): council이나 arena가 막혀 있거나 아직 확인 중일 때, 그리고 사용 가능한 모드를 처음 쓸 때(예: Council mode · up to 2 reviewers · advisory · approval on first use) 프롬프트 위에 한 줄 힌트가 나타납니다. 그 모드에서 제출이 성공하면 칩이 상태로 남고 힌트는 숨습니다. 선택한 모드를 쓸 수 없을 때 제출하면 이유와 함께 차단됩니다. 초안은 유지되고, 프롬프트가 단일 모델 실행으로 조용히 내려가지 않습니다.
  • Desktop: 작성기 도구 막대의 칩입니다(수동/자율 옆).
  • 명시적인 /council와 /arena는 다시 쓰이지 않으며, 한 번의 진입점으로 남습니다.
  • 전문가 에이전트(architect, security 등)는 별도의 에이전트 선택기에 남습니다.

배치 모드를 한눈에

모드 하는 일 워크스페이스를 바꿉니까? 기본값
local AX Engine(또는 구성한 로컬 공급자)을 선호합니다 예(단일 에이전트) 로컬을 고정하거나 하이브리드가 로컬을 둘 때
cloud 호스트되거나 CLI인 프런티어 공급자를 선호합니다 예(단일 에이전트) 로컬을 쓸 수 없을 때
hybrid 정책이 가용성, 복잡도, 프라이버시로 로컬과 클라우드를 고릅니다 예(단일 경로) modes.default: "hybrid"를 설정
council 구조화된 검토나 설계를 펼칩니다. 합의, 다수, 소수, 단독을 분류합니다 아니요(조언) 도구와 /council, 또는 작업 모드 = Council
arena 다중 모델 계획 비교, 또는 워크트리 구현의 N개 중 최선 계획: 아니요. 구현: 워크트리 안에서만 선택(modes.arena.enabled)과 작업 모드 = Arena

키워드 전문가 라우팅과 복잡도 등급(자동 경로 참조)은 하이브리드 배치 및 앙상블 모드와 직교합니다.

모델 effort와 사고 수준(Fast, Balanced, Deep, Max)도 직교합니다. 작업 모드가 아니라 모델마다의 추론 예산입니다. 모델 effort를 보십시오.

구성

ax-code.json에서 다음을 둡니다.

{
  "modes": {
    "default": "hybrid",
    "hybrid": {
      "preferLocalWhenAvailable": true,
      "escalateOnHighComplexity": true,
      "localProviderID": "ax-engine"
    },
    "council": {
      "enabled": true,
      "maxMembers": 3,
      "timeoutMs": 180000,
      "debateRounds": 0
    },
    "arena": {
      "enabled": true,
      "maxContestants": 3,
      "strategy": "verify_first"
    },
    "budget": {
      "maxEstimatedUsd": 0.5,
      "estimatedUsdPerMember": 0.05
    }
  }
}
필드 의미
modes.default local | cloud | hybrid | arena | council. 설정하지 않으면, 로컬이 정책 신호에 맞을 때 하이브리드이고, 아니면 단일 경로 기본값은 클라우드입니다.
modes.hybrid.* 로컬 선호, 복잡도가 높으면 클라우드로 상승, 로컬 공급자 id
modes.council.* 사용, 구성원 상한, 시간 제한, 추론 모델 시간 제한 배율, 구성원별 시간 제한 덮어쓰기, 토론 라운드, 선택적 의장과 적응형 펼치기(둘 다 기본은 꺼짐)
modes.arena.enabled true이어야 arena 도구에 해당합니다(기본은 꺼짐). 세션 중간의 편집은 다음 도구 호출에서 반영됩니다(Config.getFresh). 또는 arena 도구에 enableIfDisabled: true를 전달합니다.
modes.arena.strategy verify_first(구현에 권장), diversity, 또는 hybrid_score
modes.arena.reasoningTimeoutScale 모델이 추론 능력을 선언한 참가자에 대한 시간 제한 배수입니다(modes.council.reasoningTimeoutScale로 돌아가고, 그다음 3)
modes.arena.memberTimeoutMs "providerID" 또는 "providerID/modelID"를 키로 하는, 참가자마다의 절대 시간 제한 덮어쓰기입니다(modes.council.memberTimeoutMs로 돌아갑니다)
modes.arena.judge 계획 모드의 가려진 채점표 심판입니다(기본값: true)
modes.ensembleLedger 앙상블 생성의 로컬 JSONL 호출 원장입니다(기본값: true. SHA-256 프롬프트 해시만, 본문 없음, 외부 송신 없음)
modes.budget.* 앙상블 펼치기의 추정 USD에 대한, 실패 시 닫히는 상한

하이브리드 배치

modes.default가 **hybrid**이고 사용자나 에이전트가 모델을 고정하지 않았을 때:

  1. 로컬 공급자(기본 ax-engine)에 선택할 수 있는 모델이 있으면, 낮거나 중간 복잡도에는 local을 선호합니다.
  2. 복잡도가 높고 escalateOnHighComplexity가 참이면 cloud입니다.
  3. 프라이버시가 로컬을 요구하고 로컬을 쓸 수 있으면 local입니다.
  4. 로컬을 쓸 수 없으면 cloud입니다.

자동 경로의 복잡도 라우팅이 켜져 있으면, 복잡도는 low 메시지에 대해 기존의 작고 빠른 모델 경로를 계속 사용합니다(자동 경로). 하이브리드는 키워드 전문가 라우팅을 대체하지 않습니다.

로컬 모델과 메모리 안내: AX Engine 모델 선택. 공급자 목록: 지원 공급자.

Council(합의 모드)

도구: council
슬래시: /council <question>

  1. 다양한 연결 공급자를 고릅니다. 계열의 다양성입니다. 인식되지 않는 다중 모델 게이트웨이에서는 계열이 모델 id로 돌아갑니다. 결과 메모리에서 오는 부드러운 편향이 있습니다.
  2. 구조화된 검토 또는 설계 프롬프트를 병렬로 펼칩니다.
  3. 이슈를 합의(정족수에서 성공한 구성원 사이의 만장일치. 성공이 적어도 max(2, ⌈2/3 × attempted⌉)), 엄격한 다수(시도한 구성원의 절반을 넘음), 소수(적어도 둘), 단독 등급으로 모읍니다. 발견은 시도한 구성원 대비 지지를 밝히고(2/6), 범위가 낮은 보고는 합의 레이블에 정족수가 필요하다고 말합니다.
  4. 선택적 토론 라운드: 라운드 사이에 익명(채텀 하우스) 종합을 공유합니다. 브랜드 귀속은 없습니다. 토론은 최대 세 라운드이며, 수렴하면 일찍 멈춥니다.
  5. 조언 마크다운 보고서를 반환합니다. 파일은 편집하지 않습니다.

실행하려면 해석된 구성원이 적어도 둘 필요합니다. 더 적으면 승인 프롬프트나 모델 호출 전에 “구성원 부족” 사전 검사로 짧게 끝납니다. 같은 게이트웨이의 명시적 모델 쌍은 둘로 칩니다. 의미 있는 합의 등급에도 성공한 구성원이 적어도 둘 필요합니다. 그렇지 않으면 보고서는 불완전으로 표시됩니다.

증거 입장. 구성원은 제공된 질문과 맥락만 받습니다. 호출한 세션을 물려받거나 브리프의 경로에서 파일을 읽지 않습니다. 요구 사항, 관련 diff, 필요한 원문 조각, 밝힌 검토 범위에 필요한 검증 증거를 포함합니다.

선택적 context는 UTF-16 코드 단위 24,000개까지 그대로 받습니다. 더 큰 맥락은 구성원 추론 전에 context_rejected를 반환합니다. AX Code는 그것을 조용히 줄이지 않습니다. 검토를 명시적으로 범위를 나눈 요청으로 나누거나, 필요한 증거는 유지한 채 선택적 배경을 제거합니다.

각 라운드 전에 AX Code는 전체 프롬프트를 128,000바이트 로컬 상한과, 해석된 모든 구성원의 알려진 입력 및 맥락 한도와 대조합니다. 요청한 출력과 폴백 지침, 그리고 스키마와 프레이밍을 위한 2,048토큰을 남겨 둡니다. 입력 크기는 의도적으로 보수적인 UTF-8 바이트 추정을 사용합니다. 들어갈 수 있는 프롬프트도 거부할 수 있습니다. 정확한 토크나이저 개수도 아니고, 공급자 직렬화에 대한 보증도 아닙니다. 알 수 없는 모델 한도는 밝혀지며, 로컬 상한의 적용을 받습니다. 토론 라운드가 들어가지 않으면 결과는 불완전하고, 마지막으로 완료된 라운드의 보고서를 유지합니다.

contextAdmission는 로컬 맥락 길이 게이트, 제공된 크기, 내용 다이제스트를 기록합니다. promptBudget는 완전한 요청을 따로 검사합니다. 추론 전에 둘 다 통과해야 합니다. 이 필드는 successfulMembers와 독립이며, 의미적 완전성, 소스의 신선함, 보장된 검토 품질을 확립하지 않습니다.

시간 제한. 각 구성원은 modes.council.timeoutMs 아래에서 실행됩니다(기본 180000 ms). 추론 능력을 선언한 모델은 그 예산의 modes.council.reasoningTimeoutScale배를 받습니다(기본 3이므로 540000 ms). 하나가 느리다고 알려진 구성원에게만 시간을 더 주고 다른 모두의 대기를 늘리지 않으려면, 절대 modes.council.memberTimeoutMs 덮어쓰기를 설정하고 키는 "providerID" 또는 "providerID/modelID"로 둡니다. 정확한 모델 키가 공급자 전체 키보다 이기고, 어느 쪽이든 기본과 배율 계산보다 이깁니다.

{
  "modes": {
    "council": {
      "memberTimeoutMs": { "deepseek/deepseek-v4-pro": 900000 }
    }
  }
}

ax-code.json는 보호된 구성 파일입니다. 에이전트는 사용자에게 변경을 요청해야 합니다.

선택적 차로(기본은 꺼짐). modes.council.chairman: true는 집계 뒤(그리고 토론 라운드가 있으면 그 뒤)에 가려진 의장 종합 호출을 하나 덧붙입니다. 의장은 익명화된 발견만 받습니다. 등급과 지지 수이며, 구성원 신원은 받지 않습니다. 판정, 권장 행동, 반대 메모를 반환합니다. 결정론적 등급 매기기가 주 출력으로 남습니다. 의장 실패는 밝혀지며 치명적이지 않습니다. modes.council.adaptive: true는 구성원 둘로 펼치기를 시작하고, 1라운드 범위가 정족수 아래이거나 반대가 실질적일 때 maxMembers까지 한 명씩 늘립니다. 확장 트리거는 하네스가 조정할 수 있는 상수입니다.

쓸 때

  • 아키텍처, 보안, 설계의 트레이드오프
  • 다중 모델의 합의가 신뢰를 높이는, 이해가 큰 코드 검토
  • 사용자가 다중 모델 검토나 “두 번째 의견”을 요청할 때

에이전트 작업 흐름(중요)

관련 증거를 쓸 수 있게 되면 일찍 council를 호출합니다. 명시적으로 범위를 나눈 context 브리프와 함께입니다. 그 검토와 무관한 넓은 다중 탐색은 피합니다. 구성원에게 코드 발견을 묻기 전에 필요한 원본 증거를 모읍니다. 사용자가 council이나 arena를 요청하면, 앙상블 도구가 의도한 주 행동이 되기 전까지 task_parallel는 거부됩니다.

쓰지 않을 때

  • 사소한 질문(지연과 비용)
  • 로컬 추론 밖으로 나가면 안 되는, 프라이버시에 민감한 코드
  • 연결된 공급자가 하나뿐일 때

Arena(N개 중 최선)

도구: arena
슬래시: /arena <task>
필요 조건: modes.arena.enabled: true, 그리고 연결된 공급자(공유 게이트웨이 포함)에 서로 다른 선택 가능 모델이 2개 이상

증거 입장(council과 공유). 선택적 context는 UTF-16 코드 단위 24,000개까지 그대로 받습니다. 더 큰 맥락은 승인 프롬프트, 워크트리 생성, 모델 호출 전에 context_rejected를 반환합니다. AX Code는 그것을 조용히 줄이지 않습니다. 작업을 명시적으로 범위를 나눈 요청으로 나누거나, 필요한 증거는 유지한 채 선택적 배경을 줄입니다. 승인 프롬프트 자체는 아무것도 하지 않는 모든 사전 검사가 통과한 뒤에만 뜹니다. 비활성화, 맥락 입장, 구현 git 사전 검사, 예산, 구성원 해석입니다.

mode: "plan" (기본값)

  • 각 참가자는 접근, 단계, 위험, 보정된 자기 평가 위험 점수를 제안합니다. 워크스페이스 쓰기는 없습니다.
  • 성공한 제안이 2개 이상이면, 가려진 채점표 심판 호출 하나(첫 번째로 해석된 구성원. 신원은 제거되고 순서는 무작위)가 각 제안을 요구 범위, 실현 가능성, 검증 계획, 위험 증거로 점수 매깁니다(각 0–10, 동점 허용). 채점표 합계(0–40)가 주 순위 신호입니다. 자기 평가 위험은 표시용으로만 남습니다. 심판이 실패하거나 modes.arena.judge: false이면, 공개 메모와 함께 자기 평가 점수로 돌아갑니다.
  • 검증 등급을 먼저, 그다음 심판 또는 위험 점수, 그다음 패치 지문의 다양성으로 순위를 매깁니다. 순수한 인기는 쓰지 않습니다. 계획 순위는 조언이며 실행 검증이 아닙니다.
  • 조언만 합니다.

mode: "implement"

  • 커밋이 적어도 하나 있고 커밋되지 않은 변경이 없는 주 git 워크트리가 필요합니다. 정확한 기준 커밋을 기록하고, 그 커밋에서 참가자마다 git 워크트리를 만듭니다.
  • 각 워크트리에서 구현 에이전트를 실행합니다.
  • 모든 참가자의 추적된 변경과 추적되지 않은 변경을, 에이전트 자신이 만든 커밋을 포함하여, 오래 남는 브랜치 커밋으로 스냅샷합니다.
  • 비어 있지 않은 패치가 캡처된 뒤에만, 감지된 프로젝트 검증 명령(typecheck, test, lint)을 실행합니다.
  • 기본적으로 검증 우선으로 순위를 매깁니다. 완료되었고 비어 있지 않으며 검증을 통과한 패치만 이길 수 있습니다. 통과한 것 중에서는 위험이 낮고 패치가 다양한 쪽을 선호합니다.
  • 자동으로 병합하지 않습니다. 보고서에는 검사하거나 병합하거나 cherry-pick할 수 있도록 워크트리 경로, 브랜치, 커밋 범위가 들어 있습니다.

구현 arena에는 git 프로젝트가 필요합니다.

순위 규칙(연구와 맞춘 것)

코드 후보에 대해: 검증이 첫째, 다양성이 둘째, 인기만으로는 결코 순위를 정하지 않습니다.
비슷한 잘못된 패치에 대한 단순한 다수결은 안티패턴입니다(인기 함정).

슬래시 명령

명령 목적
/council … 다중 공급자 조언 검토를 진행합니다
/arena … 계획 또는 구현의 N개 중 최선을 진행합니다

안전과 비용

  • 샌드박스와 자율은 단일 에이전트 작업에 계속 적용됩니다(샌드박스, 자율).
  • Council과 계획 arena는 파일을 쓰지 않습니다.
  • 구현 arena의 작성자는 워크트리에 격리됩니다. 주 워크트리가 더러우면 거부되므로, 커밋되지 않은 입력이 조용히 빠질 수 없습니다.
  • 앙상블 펼치기는 공급자 송신과 비용을 곱합니다. modes.budget를 쓰고 maxMembers와 maxContestants를 작게 유지합니다. 예산 추정은 최악의 경우를 가격으로 잡습니다. council은 구성원마다 2 × (debateRounds + 1) 호출(스키마 폴백과 재시도), 계획 arena는 참가자마다 2에 심판 호출 하나, 구현 arena는 문서화된 궤적당 12호출 추정입니다.
  • 로컬 전용 앙상블 호출 원장(전역 상태 디렉터리의 ensemble-calls.jsonl, 2 MB 상한)은 생성마다의 결과를 SHA-256 프롬프트 해시와 함께 기록합니다. 프롬프트 본문은 없고, 자격 증명도 없으며, 외부 송신도 없습니다. modes.ensembleLedger: false로 끕니다.
  • 다중 모델의 합의는 증거이지 증명이 아닙니다. 내보내기 전에 테스트를 실행합니다.