
중요: Astra-Ares는 실험적인 참조 구현입니다. 별도의 패치된 Codex CLI를 실행하며, 주로 실험하거나 적응형 추론 수준을 자체 에이전트 시스템에 도입하려는 개발자를 위한 것입니다.
Astra-Ares의 기능
Astra-Ares는 Codex 작업이 실행되는 동안 GPT-6 Astra에 적응형 추론 수준 선택 기능을 추가합니다. 전체 작업에 하나의 고정된 추론 수준을 지정하는 대신, Jev라는 평가기를 사용해 Astra가 다음 단계에 적용할 추론 수준을 선택합니다.
Jev는 제한된 작업 컨텍스트를 검토하고 다음 추론 수준을 선택한 뒤, 해당 선택을 1회, 2회, 5회 또는 10회의 모델 생성 동안 유지할지 결정합니다. 이후 Codex는 작업을 계속하기 전에 Astra의 기본 구성 메커니즘을 통해 해당 선택을 적용합니다.
Astra는 캐시에서 사용하는 원래 프롬프트 접두사를 무효화하지 않고 추론 수준을 변경할 수 있습니다. 따라서 Ares는 Astra의 네트워크 경로에 개입하는 대신 동일한 모델, 대화 및 OpenAI 직접 연결을 유지합니다. 일반적인 프롬프트 캐시 사용 가능 여부와 보존 규칙은 계속 적용됩니다.
주요 기능
- 적응형 추론: Jev는 하나의 고정 설정에 의존하지 않고 작업의 다음 부분에 필요한 추론 수준을 선택합니다.
- 다중 생성 임대: 하나의 결정이 1회, 2회, 5회 또는 10회의 생성 동안 유지되어 불필요한 평가기 요청을 줄일 수 있습니다.
- Codex 기본 기능을 통한 적용: 패치된 CLI가 생성 사이에 Astra 설정을 적용하고 성공적으로 적용되었는지 확인합니다.
- 제한된 평가기 컨텍스트: Jev는 작업, 공개 진행 상황, 추론 요약 및 최근 도구 결과 중 제한된 일부를 받습니다.
- Astra 직접 연결: Codex는 계속 OpenAI와 직접 통신합니다. Jev는 별도로 구성된 공급자를 사용합니다.
- 격리된 설치: Astra-Ares는 자체 Codex 프로필을 사용하며 기존
codex명령이나 Codex 데스크톱 애플리케이션을 대체하지 않습니다. - 명시적인 오류 처리: Ares는 공급자를 조용히 전환하거나 모델을 대체하거나 추론 수준 결정을 임의로 생성하지 않습니다.
설치 전 확인 사항
첫 번째 빌드에는 몇 분과 약 10 GB의 여유 공간이 필요합니다. 다음 사전 요구 사항을 설치하세요:
- Node.js 22 이상
- npm
- Git
- curl
- tar
- 네이티브 C/C++ 빌드 도구 모음
- rustup을 통한 Rust
설정 과정에서는 업스트림 Codex 소스에서 지정한 Rust 도구 모음도 설치합니다. macOS에서 해당 도구가 없으면 Xcode Command Line Tools를 설치하세요:
xcode-select --install
Apple Silicon 기반 macOS에서 로컬 빌드와 테스트를 완료했습니다. Intel macOS와 Linux용 빌드 경로도 있지만 아직 승인 테스트를 거치지 않았습니다. 이 통합은 Unix 소켓에 의존하므로 Windows는 지원되지 않습니다.
1단계: Astra-Ares 빌드 및 설치
소스 저장소를 복제하고 Node.js 종속성을 설치한 다음 자동 설정을 실행하고 전역 명령 링크를 생성하세요:
git clone https://github.com/miuuyy/Astra-Ares.git
cd Astra-Ares
npm ci
npm run setup
npm link
설정 과정에서 지정된 Codex 버전을 다운로드하고 포함된 패치를 적용한 뒤 자동으로 빌드합니다. Codex를 직접 수정할 필요는 없습니다.
npm link 명령을 실행하면 터미널에서 astra-ares와 ares라는 두 명령을 사용할 수 있습니다. 프리뷰 버전은 소스에서 배포되며, 현재 공개된 npm 패키지나 사전 빌드된 Ares 다운로드 파일은 없습니다. 업데이트, 빌드 재사용, 제거 및 전역 링크 없이 실행하는 방법은 프로젝트의 설치 문서를 참조하세요.
2단계: Jev 공급자 구성
새로 설치하면 OpenRouter가 기본 Jev 공급자로 사용됩니다. OpenRouter API 키를 생성하고 계정에 충전된 크레딧이 있는지 확인한 다음 구성 프롬프트를 시작하세요:
ares configure
숨겨진 프롬프트에 키를 붙여 넣으세요. Astra-Ares는 복제한 저장소 외부의 비공개 사용자 구성에 키를 저장합니다.
Jev 자격 증명은 Astra에 액세스하는 데 사용하는 Codex 계정과 별개입니다. 패치된 CLI에 인증이 필요한 경우 다음 명령으로 로그인하세요:
astra-ares login
다른 Jev 공급자와 환경 변수 옵션은 프로젝트의 구성 가이드에서 확인할 수 있습니다.
3단계: 적응형 추론으로 Codex 실행
패치된 Codex 터미널을 시작하세요:
astra-ares
기본 /model 선택기를 열고 Astra-Jev를 선택하세요. 새 Ares 프로필에서는 기본적으로 이 항목이 선택됩니다. 이후 작업을 제출하고 도구, 승인, 취소 및 기록을 포함한 일반적인 Codex 워크플로를 사용할 수 있습니다.
Jev가 추론 수준을 변경하고 Codex가 이를 확인하면 트랜스크립트에 다음과 유사한 메시지가 표시됩니다:
Jev LOW → HIGH ✓ APPLIED
Step 3 · next 2 generation(s) · 321 ms
APPLIED는 단순한 권장 알림 이상입니다. Codex가 다음 생성에 설정이 적용되었음을 확인했다는 의미입니다. 알림은 기본 적용이 완료된 후 표시됩니다.
기본 사용 예시
특정 저장소 열기
-C를 사용해 특정 프로젝트 디렉터리에서 작업을 시작하세요:
astra-ares -C /path/to/project
마지막 Ares 세션 재개
astra-ares resume --last
Ares는 별도의 Codex 프로필을 사용하므로, 이 명령은 일반 Codex 설치에 속한 세션이 아니라 해당 프로필의 마지막 세션을 재개합니다.
Jev 키 교체
ares configure
세션에서 Jev 비활성화
/model을 열고 일반 Astra 또는 다른 모델을 선택하세요. Codex는 Jev 라우팅 없이 계속 작동합니다.
적응형 선택의 작동 방식
- 모델 생성 전에 Codex가 선택 가능한 체크포인트에 도달합니다.
- Ares가 작업, 공개 진행 상황, 최근 도구 활동을 포함하는 제한된 컨텍스트를 준비합니다.
- Jev가 추론 수준과 1, 2, 5 또는 10회의 생성에 해당하는 리스를 선택합니다.
- Codex가 Astra의 기본 구성 메커니즘을 사용해 선택된 설정을 적용합니다.
- Astra가 응답을 생성하고 하나 이상의 도구를 호출할 수 있습니다.
- 리스가 만료되거나 이벤트로 무효화되면 Ares가 다음 결정을 요청합니다.
한 단계는 도구 호출 하나가 아니라 모델 생성 한 번을 의미합니다. 한 번의 생성에서 여러 도구 호출이 발생할 수 있습니다. 사용 가능한 도구 결과가 대화에 들어온 후, 다음 생성 전에 결정이 내려집니다.
Jev는 사용자의 목표와 관련해 다음 단계에 어느 정도의 추론이 필요한지 평가합니다. 예를 들어 파일을 읽는다고 해서 자동으로 낮은 수준의 추론이 적합한 것은 아닙니다. 파일을 해석하는 과정이 어려운 부분일 수 있기 때문입니다.
리스 이해하기
Jev가 10회 생성의 리스를 선택하면 Ares는 1단계에서 결정을 요청하고 11단계에서 다시 요청합니다. 2단계부터 10단계까지는 추가 Jev 요청 없이 승인된 선택을 재사용합니다.
새 사용자 입력이 들어오거나, 도구가 실패하거나, 모델이 변경되거나, 추론 수준이 수동으로 변경되면 리스가 조기에 종료됩니다. 그러면 다음 선택 가능한 체크포인트에서 Jev에 다시 문의합니다. 도구 실패는 재평가를 요청하지만, 하드코딩된 상향 조정을 실행하지는 않습니다.
Jev가 받는 컨텍스트
Jev는 Astra의 제한 없이 전체 내부 컨텍스트를 받지 않습니다. 평가자 화면에는 다음이 포함됩니다.
- 원래 작업 또는 현재 작업과 유지된 이전 사용자 요청
- 공개 진행 상황, 계획, 게시된 추론 요약
- 최근 6회의 도구 호출과 각 호출에 대응하는 결과
- 각 도구 호출에 대해 결합된 결과 텍스트 최대 1,000개의 로컬 토큰. 명시적인 앞부분 및 뒷부분 잘라내기 사용
- 28,000개의 로컬 토큰 제한이 적용되는 완전한 평가자 요청
비공개 또는 암호화된 추론은 제외됩니다. 크기를 초과한 평가자 요청은 몰래 전송되지 않고 명시적으로 중단됩니다. 로컬 토크나이저는 예산을 추정하며 Jev의 토크나이저와 반드시 동일하지는 않습니다. 이러한 제한은 Jev의 화면에만 적용되며, Astra는 기본 대화를 그대로 유지합니다.
제한된 작업 컨텍스트는 구성된 Jev 제공업체로 전송됩니다. 민감한 프로젝트 데이터를 사용하기 전에 구성 및 로깅 문서를 검토하세요.
진단 및 문제 해결
로컬 설치 확인
ares doctor
이 명령은 아래에 설명된 제공업체 프로브를 의도적으로 실행하지 않고 설치 및 구성을 로컬에서 확인합니다.
Jev 제공업체 테스트
ares doctor --probe
프로브는 청구되는 소규모 Jev 요청을 1회 실행합니다. 로컬 확인은 통과했지만 평가자 결정이 실패할 때 사용하세요.
결정 로그 확인
기본적으로 실행 로그는 다음 위치에 저장됩니다.
~/.local/share/astra-ares/runs/<run>/decisions.jsonl
이 기록은 제공업체 요청 실패, 결정 시점, 적용된 설정을 파악하는 데 도움이 됩니다.
HTTP 429 올바르게 해석하기
HTTP 429 응답은 속도 제한 또는 용량 거부를 나타냅니다. 이 응답만으로 평가자 컨텍스트가 너무 크다는 사실이 입증되는 것은 아닙니다. 일시적인 HTTP 오류는 30초의 기한 내에서 동일한 제공업체를 대상으로 최대 3회만 시도됩니다.
모든 시도가 실패하면 Ares는 현재 턴을 사용자에게 보이도록 중단합니다. 다른 제공업체로 조용히 전환하거나, 다른 모델을 선택하거나, 추론 수준을 임의로 만들어내지 않습니다. 추가 확인 사항은 저장소의 문제 해결 가이드를 참조하세요.
고급 팁
응답성과 평가자 비용의 균형
새 Jev 결정이 내려질 때마다 제공업체 왕복 통신과 로컬 체크포인트 처리가 추가됩니다. 리스가 활성화된 동안 체크포인트는 추가 Jev 요청 없이 로컬에서 처리됩니다. 따라서 더 긴 리스를 사용하면 요청 빈도를 줄일 수 있지만, 참조 구현에서 설명된 기간은 사용자가 아니라 Jev가 선택합니다.
통합을 검증할 때 표시되는 확인 사용
적응형 동작을 테스트할 때는 Jev의 권고가 Astra에 도달했다고 가정하지 말고 APPLIED 상태를 확인하세요. 이 확인 메시지는 Codex가 기본 설정을 적용한 후에만 출력됩니다.
현재 측정 한계 기억하기
이 프로젝트에는 설정 적용 및 프롬프트 접두사 보존을 위한 기본 픽스처 테스트가 포함되어 있습니다. 그러나 작업 부하의 캐시 적중률과 고정된 추론 수준 대비 절감 효과는 아직 측정되지 않았습니다. 효율성에 대한 주장은 설계 목표로 간주하고 자체 작업 부하에서 검증해야 합니다.
개발 테스트 모음 실행
기여자는 다음 명령으로 의존성을 설치하고 표준 테스트를 실행할 수 있습니다.
npm ci
npm test
기본 통합 픽스처를 실행하려면 추가로 Bun과 패치된 Codex 바이너리가 필요합니다.
JEV_TEST_BINARY="$HOME/.local/share/astra-ares/bin/codex" npm run test:native
로컬 픽스처 테스트에는 API 키가 필요하지 않습니다. 업스트림 소스 체크섬과 패치 버전은 patches/upstream.json에 고정되어 있습니다.
결론
Astra-Ares는 기존 대화, 직접 OpenAI 연결, 원래 프롬프트 접두사를 유지하면서 에이전트가 세대 간 GPT-6 Astra의 추론 수준을 조정하는 방식을 보여 줍니다. 자동화된 설정 덕분에 실험에 쉽게 접근할 수 있지만, 별도로 패치된 Codex CLI를 기반으로 구축된 초기 기술 프리뷰라는 점은 변하지 않습니다. 일상적인 개발 도구로 사용하기 전에 진단 기능을 활용하고, 의사 결정 로그를 검사하며, 자체 워크로드에서 성능을 검증하세요.
