antoinezambelli/forge
A Python framework for self-hosted LLM tool-calling and multi-step agentic workflows
해결하는 문제
Forge는 셀프 호스팅 LLM 도구 호출을 위한 신뢰성 레이어를 제공합니다. 이는 로컬 모델(특히 8B 파라미터 규모의 소형 모델)이 도구를 실행할 때 자주 발생하는 잘못된 출력 형식, 잘못된 도구 선택 또는 구조화된 워크플로우 준수 실패와 같은 불안정성 문제를 해결합니다.
작동 방식
Forge는 LLM과 애플리케이션 사이에 위치하는 가드레일 스택을 구현합니다. 다음 세 가지 방식으로 사용할 수 있습니다:
- Proxy Server: OpenAI 및 Anthropic API를 지원하는 드롭인 프록시입니다. 요청을 가로채고 투명하게 가드레일을 적용하여, 기존 도구(aider 또는 Claude Code 등)의 코드 변경 없이 로컬 모델을 사용할 수 있게 합니다.
- WorkflowRunner: 도구 및 구조화된 에이전트 루프를 정의하기 위한 상위 수준의 프레임워크로, 시스템 프롬프트부터 컨텍스트 압축까지 전체 라이프사이클을 관리합니다.
- Guardrails Middleware: 기존의 커스텀 오케스트레이션 루프에 통합할 수 있는 구성 가능한 도구 세트입니다.
주요 기술 메커니즘은 다음과 같습니다:
- Rescue Parsing: 비표준 형식(예: XML 또는 fenced JSON)에서 구조화된 도구 호출을 추출하여 표준 스키마로 변환합니다.
- Response Validation: 도구 호출이 클라이언트에 도달하기 전에 정의된 사양과 일치하는지 확인합니다.
- Retry Loops: 실패한 추론을 모델에 대한 교정적 "넛지(nudge)"와 함께 자동으로 재시도합니다.
- Synthetic
respondTool: 모델이 텍스트 응답을 위해 특정 도구를 사용하도록 강제하여, 텍스트 생성과 도구 호출 사이의 일반적인 혼동을 방지합니다.
대상 사용자
거대한 프론티어 모델로 전환하지 않고도 도구 호출에 대한 프로덕션급 신뢰성이 필요한, 셀프 호스팅 LLM(Ollama, vLLM, llama.cpp 등을 통해)을 사용하여 에이전트 애플리케이션을 구축하는 개발자.
주요 특징
- 상당한 성능 향상: 평가 스위트에서 8B 로컬 모델의 신뢰성을 한 자릿수에서 84%로 끌어올립니다.
- 폭넓은 백엔드 지원: Ollama, llama-server, Llamafile, vLLM 및 Anthropic과 호환됩니다.
- 코드 수정 없는 통합: 프록시 모드를 통해 기존 AI 코딩 하네스의 소스 코드를 수정하지 않고도 강화할 수 있습니다。
- 컨텍스트 관리: 토큰 예산을 효율적으로 관리하기 위한 계층적 압축 전략이 포함되어 있습니다.