자율 에이전트가 실제 작업을 완수하는 실행 환경
버그를 재현하고 원인을 찾아 수정까지 시도하는 에이전트를 직접 만들어 볼 수 있습니다. Flue는 모델이 필요한 도구와 보안 샌드박스를 스스로 구성하도록 돕는 TypeScript 기반 실행 하네스입니다. 개발자는 에이전트 로직에 집중하고, 실행 환경의 복잡성은 프레임워크가 처리합니다.
함수로 정의하는 에이전트 구조
에이전트를 함수로 정의하는 방식을 사용합니다. useModel, useSandbox, useTool 같은 훅을 통해 모델, 샌드박스, 도구, 스킬을 조합하면 됩니다. 이렇게 구성된 에이전트는 세션 관리, 파일 시스템 접근, 도구 호출을 자율적으로 수행합니다. 개발자는 복잡한 API 호출을 직접 작성하지 않고, 에이전트가 필요한 환경을 선언적으로 지정하면 됩니다. 이는 에이전트가 독립적으로 작업을 완수할 수 있는 기반을 마련해 줍니다.
안전한 실행과 지속성 보장
에이전트가 파일을 수정하거나 외부 API를 호출할 때 발생할 수 있는 위험을 줄이기 위해 보안 샌드박스를 제공합니다. 로컬, 가상, 원격 컨테이너 중 원하는 환경을 선택해 사용할 수 있습니다. 또한 작업 중 실패나 재시작이 발생해도 진행 상황을 유지하는 내구성(Durability) 기능을 지원합니다. 이를 통해 에이전트는 중단 없이 목표를 향해 작업을 이어갈 수 있습니다. 복잡한 워크플로우에서도 안정적으로 동작하도록 설계되었습니다.
외부 시스템과의 연결 확장
에이전트가 실제 업무 환경에서 작동하려면 외부 도구와 서비스와 연결되어야 합니다. Flue는 MCP(Model Context Protocol) 서버를 통해 인증된 도구와 서비스를 연결할 수 있게 합니다. Slack, Teams, Discord, GitHub 등에서 발생하는 이벤트를 채널을 통해 수신하고 처리할 수도 있습니다. OpenTelemetry, Braintrust, Sentry 등 다양한 관측 도구와 연동하여 에이전트 실행 과정을 모니터링할 수 있습니다. 이러한 확장성을 통해 에이전트는 조직의 기존 워크플로우에 자연스럽게 통합됩니다.
배포 환경과 패키지 구성
Flue는 Node.js, Cloudflare Workers, GitHub Actions, GitLab CI/CD, Daytona, Render 등 다양한 환경에서 배포할 수 있습니다. @flue/runtime은 핵심 실행 로직을 담당하고, @flue/vite는 개발 및 빌드 과정을 지원합니다. @flue/cli는 로컬 실행과 문서 접근을 위한 명령줄 도구를 제공하며, @flue/sdk는 배포된 에이전트와 상호작용하는 클라이언트용 SDK입니다. Postgres와 OpenTelemetry를 위한 전용 어댑터도 포함되어 있어 데이터 저장과 추적 설정이 용이합니다.
TypeScript 기반 에이전트 개발을 시작하기 전
Flue는 TypeScript를 주 언어로 사용하므로, 해당 언어에 익숙한 개발자에게 적합합니다. 자율적인 에이전트 개발을 원하지만, 실행 환경과 보안 문제를 직접 해결하기 부담스러운 팀에 유용합니다. README는 구체적인 성능 수치나 벤치마크 결과를 제공하지 않으므로, 대규모 배포 전 자체 테스트를 권장합니다.