FrontierAgent: 단일 에이전트와 병렬 팀 두 방식을 한 터미널에서 고르는 오픈소스 에이전트 런타임 프로젝트

FrontierAgent 소개

여러 시간에 걸친 조사 작업을 에이전트에게 맡기려면 대화형 챗봇과는 다른 것들이 필요합니다. 파일을 읽고 쓰는 권한을 어디까지 줄지, 중간에 사람이 끼어들면 진행 중인 작업을 버려야 하는지, 실행이 끊겼을 때 어디서부터 다시 시작할지, 결과물이 어느 디렉토리에 남는지를 정해 두지 않으면 오래 걸리는 작업일수록 손댈 수 없게 됩니다. 조사 범위가 넓어 여러 갈래를 동시에 파야 할 때는 하나의 에이전트를 더 길게 실행하는 것과 여러 에이전트에게 나눠 맡기는 것 사이에서 선택도 해야 합니다.

FrontierAgent는 Apodex가 2026년 8월에 공개한 오픈소스 에이전트 런타임(runtime)이자 터미널 프로그램이고, 평가 도구까지 함께 들어 있습니다. 이 회사는 딥리서치(deep research) 모델 Apodex 시리즈를 만들고 상용 API로 제공하는 곳이며, 앞선 세대인 Apodex-1.0은 PyTorchKR에도 소개된 적이 있습니다. 그때 함께 공개된 것이 벤치마크 평가용 하네스뿐이었던 데 비해, FrontierAgent는 에이전트를 실제로 실행하는 런타임과 터미널 UI, 그리고 그 위에서 돌아가는 평가 계층을 한 저장소에 담았습니다. 저장소 자체는 Apache 2.0 오픈소스이고 모델은 별도의 유료 API로 제공되는 구조이므로, 모델 엔드포인트는 Apodex의 것을 쓰든 OpenAI 호환 엔드포인트를 직접 준비하든 상관없이 동작합니다.

frontier-agent라는 이름의 터미널 UI에는 두 가지 작업 방식이 기본으로 들어 있습니다. 하나는 상태를 유지하는 에이전트 하나가 조사하고 파일을 읽고 결과물을 쓰고 명령을 실행하며 반복하는 ReAct 방식이고, 다른 하나는 조율자가 작업 보드를 관리하면서 독립적인 일감을 병렬 하위 에이전트에게 위임하고 보고를 모아 종합하는 Agent Team 방식입니다. 실행 환경은 Python 3.12와 uv이며, Docker는 선택 사항입니다.

FrontierAgent의 두 가지 작업 방식 비교

두 방식은 명령줄 인자 하나로 갈립니다. 저장소가 정리한 용도와 실행 모델은 다음과 같습니다:

방식 적합한 작업 실행 모델
react 초점이 좁은 조사, 저장소 분석, 문서와 파일 작업 tui 워크플로우 프로필을 쓰는 상태 유지 에이전트 하나
agent_team 분해와 병렬 조사로 이득을 보는 넓은 질문 조율자, 지속되는 작업 보드, 상한이 걸린 병렬 하위 에이전트, 보고 수집과 종합

Agent Team 쪽 구조는 저장소가 개념도로 그려 두었습니다. 주 에이전트가 하위 에이전트를 만들어 작업을 배정하고 진행을 관찰하며, 서로 어긋나는 보고가 나오면 검증 에이전트 팀에 넘겨 충돌을 정리한 뒤 최종 보고서를 종합하는 흐름입니다:

병렬성을 쓸 때 주의할 점도 함께 적혀 있습니다. Agent Team의 병렬 실행은 벤치마크 실행기의 동시성과 별개로 곱해지므로, 동시에 나가는 모델 호출 수가 실행기 동시성과 팀 생성 상한의 곱에 가까워질 수 있습니다. 평가할 때는 --concurrency 1부터 시작하라는 것이 저장소의 권고입니다.

FrontierAgent는 누구에게 맞는가

긴 조사 작업을 터미널에서 실행하면서 결과물과 실행 기록을 파일로 남겨야 하는 사람에게는 FrontierAgent가 적절한 선택입니다. 세션마다 체크포인트와 추적 기록, 엔진 로그, 궤적이 실행 디렉토리에 함께 쌓이고, /revert로 세션이 만든 변경을 되돌리거나 --resume으로 저장된 실행을 이어받을 수 있습니다. 쓰기와 삭제, 패키지 설치, 위험한 셸 명령에는 승인 관문이 걸려 있어서 처음 붙여 볼 때도 통제 범위를 좁혀 둘 수 있습니다.

반대로 모델 서빙까지 직접 하려는 팀에게는 FrontierAgent의 진입 비용이 만만치 않습니다. 로컬 SGLang 서빙은 검토를 거친 NVIDIA 드라이버와 CUDA, SGLang 버전 조합에 고정되어 있고, 어긋나면 모델 로드 중에 알아보기 어려운 CUDA나 Triton 커널 오류로 뒤늦게 드러난다고 저장소가 직접 경고합니다. Windows는 WSL2를 Linux로 취급하는 방식으로만 지원됩니다. 모델을 직접 올릴 계획이 없다면 OpenAI 호환 엔드포인트를 쓰는 쪽이 훨씬 짧은 경로입니다.

FrontierAgent의 파일 샌드박스와 보안 모델

셸 도구와 파일 도구가 하나의 작업 단위 샌드박스를 공유하며, 경로마다 권한 정책이 다릅니다:

경로 정책 용도
/inputs 읽기 전용 제공된 문서와 벤치마크 입력
/workspace 읽기 쓰기 소스 체크아웃, 추출한 데이터, 임시 작업
/outputs 통제된 읽기 쓰기 최종적으로 남는 결과물

대화형 세션에서는 여기에 승인 관문이 더해지고, 파일 변경은 저널에 기록되어 /revert로 되돌릴 수 있습니다. --yes를 켜도 여전히 거부되는 작업이 남아 있으며, 권한과 샌드박스 실패는 실패 시 차단(fail-closed) 방향으로 처리됩니다. macOS와 Docker 환경에서 /outputs는 호스트의 .apodex/runs/<session-id>/outputs로 연결되므로 결과물을 터미널 밖에서 바로 열어볼 수 있습니다.

작업이 진행되는 동안 타자를 치면 그 지시가 큐에 들어가고, 현재 실행을 버리지 않은 채 다음 안전한 차례 경계에서 주입됩니다. Agent Team 방식에서는 이 지시가 조율자를 움직이며, 이미 실행 중인 하위 에이전트는 끝까지 진행됩니다.

FrontierAgent의 저장소 구성과 평가 계층

저장소는 프레임워크와 도구, 워크플로우, 평가 계층의 경계를 의도적으로 나눠 두어 각각 따로 재사용할 수 있게 했습니다:

frontier_agent/  generic loop, scheduling, registries, AgentBus, observers
plugins/tools/   web, shell, file, sandbox, and team tool implementations
workflows/       ReAct and Agent Team pipelines, profiles, prompts, observers
apodex/          terminal CLI/TUI, approvals, sessions, traces, and Docker path
benchmarks/      public harness plus bundled FrontierSearchBench/FrontierChallenge

평가 하네스는 벤치마크 질문마다 별도 하위 프로세스에서 실행하고, 여러 번에 걸친 실험을 이어서 진행할 수 있으며, 벤치마크별로 결정론적 채점기나 모델 기반 채점기를 골라 적용합니다. 지원 벤치마크는 BrowseComp, BrowseComp-ZH, xbench-DeepResearch, 텍스트 전용 Humanity's Last Exam(HLE), SuperChem, FrontierScience-Research, FrontierScience-Olympiad, DeepSearchQA, WideSearch, FrontierSearchBench, OfficeQA, GDPval, APEX, OneMillion-Bench입니다. 이 가운데 GDPval은 이 오픈소스 하네스에서 결정론적 결과물 검증만 수행하고 에이전트 방식의 짝지어 비교 채점기는 의도적으로 제외했다고 밝히고 있습니다.

FrontierAgent 벤치마크 읽기

저장소는 두 작업 방식과 이전 세대 모델을 비교한 표를 싣고 있습니다. 표의 수치는 FrontierAgent라는 런타임 자체의 성능이 아니라, 같은 런타임 위에서 Apodex 모델을 실행했을 때의 결과입니다:

구성 APEX-Agents GDPval FrontierFinance FrontierScience-Research BioMysteryBench HLE
Apodex-1.1 Agent Team 38.5 78.8 54.3 63.3 35.3 56.1
Apodex-1.1 ReAct 34.4 69.5 48.7 55.0 23.5 53.2
Apodex-1.0 16.5 59.3 40.3 28.3 17.6 49.0

여섯 항목 모두에서 Agent Team이 ReAct보다 높고, 격차가 가장 큰 곳은 BioMysteryBench로 23.5에서 35.3까지 올라갑니다. 위임과 종합에 드는 비용이 넓은 조사 과제에서 회수된다는 근거로 읽을 수 있습니다. 다만 이 표에는 외부 시스템이 빠져 있어서, 저장소가 함께 실은 차트를 보아야 전체 그림이 나옵니다:

차트에서 Apodex-1.1 Agent Team은 APEX-Agents와 FrontierFinance, FrontierScience-Research에서 나열된 외부 시스템보다 앞서지만, 나머지 세 항목에서는 Claude Opus 5에 뒤집니다. GDPval에서 78.8 대 89.4, BioMysteryBench에서 35.3 대 49.4, HLE에서 56.1 대 64.7입니다. 본문의 표만 보면 이 세 항목의 패배가 보이지 않으므로, 표와 차트를 함께 놓고 읽는 편이 정확합니다.

FrontierAgent 설치와 사용

Git과 Python 3.12, uv, 그리고 OpenAI 호환 모델 엔드포인트가 필요합니다. 설치는 저장소를 받아 uv sync로 의존성을 맞추는 순서입니다:

git clone https://github.com/ApodexAI/FrontierAgent.git
cd FrontierAgent

uv sync --python 3.12 --extra dev
cp .env.example .env

.env에 사용할 엔드포인트를 적습니다. 웹 조사 도구를 쓸 계획이면 검색 API 키를 함께 채웁니다:

OPENAI_API_KEY=your-key
OPENAI_BASE_URL=https://your-openai-compatible-endpoint/v1
OPENAI_MODEL=your-model-name

# Optional web research tools
SERPER_API_KEY=
JINA_API_KEY=

실행할 때 작업 방식을 인자로 고릅니다:

# 상태를 유지하는 단일 에이전트
uv run frontier-agent --mode react --cwd /path/to/project

# 조율자와 병렬 하위 에이전트
uv run frontier-agent --mode agent_team --cwd /path/to/project

작업을 함께 넘겨 시작하거나, 한 번만 실행하거나, 읽기 전용 문서를 미리 붙여 둘 수도 있습니다:

uv run frontier-agent --mode agent_team --cwd /repo \
  "Research the alternatives, verify the evidence, and write a report"

uv run frontier-agent --mode react --cwd /repo -p "explain src/main.py"
uv run frontier-agent --resume

uv run frontier-agent --mode react --cwd /repo \
  --input ~/Downloads/claim.pdf --input ~/Desktop/photo.jpg

Python 환경을 따로 만들지 않으려면 GitHub Container Registry에 올라온 linux/amd64linux/arm64 이미지를 쓸 수 있습니다:

cp .env.example .env
docker compose run --rm agent

uv sync로 설치되는 것은 가벼운 터미널 런타임뿐이고, 과학 계산과 문서 처리 패키지는 기본 모드에서 의도적으로 선택 사항으로 남아 있습니다. 에이전트가 실제 작업에 필요한 것만 <project>/.apodex/runtime/native 아래에 설치합니다. 어느 설치 경로를 골라야 할지는 저장소의 docs/install/에 있는 선택 안내를 보면 됩니다.

FrontierAgent의 라이선스

FrontierAgent는 Apache 라이선스 2.0으로 공개되어 있어 개인 및 상업적 목적으로 자유롭게 사용할 수 있습니다.

단, 저장소가 함께 담고 있는 FrontierSearchBench는 외부 채점기와 격리 요건을 따로 두고 있고, 나머지 벤치마크 데이터셋도 각자의 배포 조건을 따릅니다. 평가를 돌리기 전에는 저장소의 benchmarks/README.md에서 데이터셋별 조건을 확인해야 합니다.

:house: Apodex 서비스 홈페이지 (FrontierAgent 개발사의 상용 API 서비스)

:books: FrontierAgent 문서 색인

:scroll: Apodex 1.1 기술 보고서 논문

:github: FrontierAgent 프로젝트 GitHub 저장소

:hugs: Apodex-1.0 모델 컬렉션

더 읽어보기




이 글은 GPT 모델로 정리한 초안을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 댓글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:south_korea:에서 이런 글들을 계속 정리하고 있습니다. 회원 가입으로 주요 글들을 이메일:love_letter:로, 텔레그램(Telegram)이나 Slack/Discord/Teams/Dooray/GoogleChat 등으로 새 글 알림을 받아보세요! :smiley:

:wrapped_gift: 아래:down_right_arrow:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck: