본문 바로가기

인공지능

Flue: TypeScript 기반 자율 에이전트 개발 프레임워크 완전정복

728x90
반응형
728x170

이 블로그에서는 Flue라는 새로운 에이전트 개발 프레임워크의 개념과 특징을 상세히 설명합니다. Flue는 단순한 SDK가 아니라 TypeScript 기반의 에이전트 실행 환경(harness)을 제공하여 자율적이고 강력한 AI 워크플로우를 구축할 수 있도록 설계된 도구입니다. 에이전트 개발의 배경, 주요 기능, 그리고 실제 코드 예제를 통해 Flue가 왜 차별화되는지 정리합니다.

반응형

에이전트 개발의 배경

전통적인 AI 도구는 대부분 LLM(Large Language Model) API 호출 기반으로 이루어졌습니다. 간단한 챗봇이나 정해진 절차에 따라 동작하는 자동화 작업에서는 충분했지만, 복잡한 맥락 유지나 외부 시스템과의 상호작용이 필요한 작업에서는 한계가 있었습니다.

이후 Claude Code나 Codex와 같은 에이전트는 단순 API 호출을 넘어 “자율(autonomous)”로 동작할 수 있는 기능을 보여주었습니다. 특정 목표를 주면 사전에 정해진 절차가 아니라 에이전트 스스로 맥락과 제공된 도구를 활용해 문제를 해결해 나갔습니다. 이러한 맥락에서 Flue는 자율 에이전트 아키텍처를 TypeScript 환경 안에서 손쉽게 구현할 수 있도록 설계된 프레임워크입니다.


Flue란 무엇인가?

Flue는 TypeScript 기반의 에이전트 허니스(harness) 프레임워크입니다. 에이전트가 자율적으로 작업을 수행할 수 있도록 환경, 도구, 기술(skills), 지침(instructions), 파일 시스템 접근, 안전한 샌드박스 환경을 모두 제공합니다.

단순한 SDK가 아닌 실행의 기반이 되는 플랫폼으로, 개발자는 Flue를 통해 에이전트에게 작업 목표만 전달하면 에이전트가 스스로 판단하고 작업을 진행할 수 있게 됩니다.


주요 구성 요소 및 기능

에이전트(Agents)

Flue의 핵심은 에이전트입니다. 에이전트는 대화나 이벤트 전반에 걸쳐 상태를 유지하며 작업 목표를 향해 자율적으로 행동합니다. 작업을 처음부터 끝까지 처리할 수 있도록 설계되어 있습니다.

워크플로우(Workflows)

워크플로우는 입력에서 최종 결과까지 명확한 흐름을 제공하며 에이전트의 논리적 추론을 코드로 안내할 수 있는 구조를 말합니다. 이를 통해 반복적이거나 구조화된 자동화 작업을 쉽게 구현할 수 있습니다.

샌드박스(Sandboxes)

에이전트가 시스템에 안전하게 접근하고 도구를 실행할 수 있도록 격리된 환경을 제공합니다. 로컬, 가상, 원격 컨테이너 등 다양한 샌드박스를 선택해 사용할 수 있습니다.

지속 실행(Durable Execution)

에이전트는 작업 도중 실패하거나 재시작이 발생하더라도 진행 상태를 보존하고 가능한 한 진행하던 작업을 이어서 수행할 수 있는 복구 메커니즘을 갖추고 있습니다.

서브에이전트(Subagents)

복잡한 작업을 여러 역할로 분리할 수 있도록 지원합니다. 예를 들어 문제 분류, 검증, 수정과 같은 전문 역할을 각각 서브에이전트에게 분담시키고 메인 에이전트가 이를 조율할 수 있습니다.

도구(Tools)

에이전트가 외부 API를 호출하거나 데이터를 조회하고 애플리케이션에 제어된 변경을 수행할 수 있도록 타입이 정의된 액션을 제공합니다. 도구 인터페이스는 TypeScript 환경에서 직접 작성되고 안전하게 호출됩니다.

스킬(Skills)

재사용 가능한 전문 지식과 워크플로우를 패키지화한 것입니다. 특정 작업이 필요할 때 에이전트가 스킬을 로드해 해당 영역에 특화된 지침과 기능을 활용할 수 있습니다.

MCP 서버

Model Context Protocol(MCP) 생태계를 통해 인증된 도구와 서비스와 연결할 수 있는 서버입니다. 이를 통해 외부 시스템과의 통합이 용이해집니다.

관측성(Observability)

에이전트의 동작을 모니터링하고 OpenTelemetry, Braintrust, Sentry 등과 연계해 텔레메트리를 수집할 수 있습니다. 이를 기반으로 성능과 오류를 추적할 수 있습니다.

채널(Channels)

Slack, Teams, Discord, GitHub 등 다양한 플랫폼에서 이벤트를 받아 에이전트가 처리할 수 있도록 채널 통합을 제공합니다.


Flue 설치와 코드 예시

아래는 Flue를 사용해 버그 리포트를 처리하는 자율 에이전트를 구현한 코드 예시입니다. TypeScript로 작성되며, triage(문제 분류)와 verify(검증)라는 스킬을 구성요소로 포함하고 GitHub 도구를 함께 사용합니다.

import { defineAgent, type AgentRouteHandler } from '@flue/runtime';
import { local } from '@flue/runtime/node';
import triage from '../skills/triage/SKILL.md' with { type: 'skill' };
import verify from '../skills/verify/SKILL.md' with { type: 'skill' };
import * as githubTools from '../tools/github.ts';

// Give agents the context and autonomy to solve complex tasks:
const instructions = `
Triage a bug report end-to-end: reproduce the bug,
diagnose the root cause, verify whether the behavior is
intentional, and attempt a fix.
...`;

export const route: AgentRouteHandler = async (_c, next) => next();

// Compose the complete harness your agent needs to do real work
export default defineAgent(() => ({
  model: 'anthropic/claude-sonnet-4-6',
  tools: [...githubTools],
  skills: [triage, verify],
  sandbox: local(),
  instructions,
}));

이 코드는 다음과 같이 구성됩니다.

  1. 모델 설정: anthropic/claude-sonnet-4-6 모델을 사용합니다.
  2. 도구 추가: GitHub 관련 도구를 에이전트가 사용할 수 있게 합니다.
  3. 스킬 로딩: triage와 verify 스킬을 포함해 전문작업을 담당하도록 합니다.
  4. 샌드박스 선택: 로컬 샌드박스를 사용해 안전한 실행 환경을 제공합니다.
  5. 작업 지침(instructions): 에이전트에게 작업 목표와 기대 동작을 텍스트로 전달합니다.

이렇게 구성된 에이전트는 버그 리포트의 재현, 원인 분석, 의도된 동작 검증, 수정 시도까지 자율적으로 처리할 수 있습니다.


어디에서 실행할 수 있나

Flue로 개발한 에이전트는 다양한 환경에서 실행 가능합니다.

  • Node.js
  • Cloudflare Workers
  • GitHub Actions
  • GitLab CI/CD
  • Daytona
  • Render

이와 같은 플랫폼 지원을 통해 로컬 개발부터 클라우드 기반의 배포까지 유연하게 대응할 수 있습니다.


Flue의 장점 요약

  • TypeScript 기반 개발 환경으로 타입 안정성과 코드 가독성을 확보
  • 에이전트가 맥락을 유지하면서 자율적으로 작업 수행
  • 워크플로우 구조와 스킬 재사용 기능으로 복잡한 자동화 처리에 적합
  • 샌드박스 및 지속 실행을 통해 안정성과 복원력 제공
  • 다양한 도구 및 채널 통합으로 실제 시스템 작업 가능
  • 관측성 지원으로 에이전트 동작 추적과 성능 모니터링 가능

728x90

Flue는 단순 API 호출 기반의 개발 환경을 넘어 자율적이고 복잡한 작업을 수행할 수 있는 에이전트 개발 환경을 제공합니다. TypeScript 기반의 harness는 작업 맥락, 도구, 스킬, 샌드박스 등을 하나의 통합된 환경으로 제공하여 개발 생산성과 안정성을 높입니다.

앞으로 AI 기반 자동화와 자율 시스템이 확산됨에 따라, Flue와 같은 프레임워크는 에이전트가 실제 업무 시스템과 통합되어 활용되는 데 중추적인 역할을 할 것으로 기대됩니다. 특히 지속 실행, 관측성, 다양한 채널과 도구 통합 기능은 실무 적용 시 매우 유용한 요소가 될 것입니다.

Flue를 통해 에이전트 개발의 복잡도를 낮추고, 안정적이고 확장 가능한 AI 워크플로우를 구축할 수 있는 방향성을 제시할 수 있습니다.

300x250

https://github.com/withastro/flue

 

GitHub - withastro/flue: The sandbox agent framework.

The sandbox agent framework. Contribute to withastro/flue development by creating an account on GitHub.

github.com

728x90
반응형
그리드형