이 코드를 보세요. 한번 보세요. 그리고 이것은 AI 에이전트입니다. 코드 두 줄로 이루어진 함수죠. 이 작은 기능만으로도 이 에이전트는 메시지를 보내고 받을 수 있습니다. 메모리를 가지고 있고, 자체 데이터베이스가 있습니다. 실시간으로 메시지를 스트리밍합니다. 모든 사용자마다 세션(session)을 갖추고 있으며, 충돌(crash)에서도 복구됩니다. 이 모든 것이 백그라운드에서 일어나고 있는 겁니다. 친구들, 이것이 바로 Flu 프레임워크의 마법입니다.
저는 오랫동안 AI 에이전트를 구축해 왔습니다. 10개가 넘는 프레임워크를 시도해 봤지만, 이 Flu라는 것은 저를 놀라게 하고 있습니다. 내부적으로는 Pi 위에서 구동됩니다. OpenClaw와 Pi 코딩 에이전트가 사용하는 것과 동일한 오픈 하네스(open harness)입니다. 그리고 기본으로 제공되는 모든 것을 보세요. 에이전트(Agents), 샌드박스(Sandboxes), 서브에이전트(SubAgents), 스킬(Skills), 도구(Tools), MCP 서버(MCP Servers), 영속적 상태(Persistent State), 채팅(Chat)까지요. 코드를 한 줄도 작성하지 않았지만, 이 모든 것을 얻게 됩니다.
Flu의 제가 가장 좋아하는 부분 중 하나는 React와 매우 비슷하게 생겼다는 점입니다. 훅(hooks)을 사용합니다. 자, 예시를 확장해 보겠습니다. 에이전트에 데이터를 좀 넣어줍시다. 이것이 그 데이터를 담고 있는 훅입니다. Count는 현재 값을 나타냅니다. SetCount는 이 값을 변경하는 방식이죠. 저에게는 React와 매우 비슷하게 보입니다. 첫 번째 인수는 이 데이터 조각의 이름이고, 두 번째 인수는 기본값인 '0'입니다. 에이전트가 처음 실행될 때 모든 것이 자동으로 데이터베이스에 들어갑니다. SQL 코드를 한 줄도 작성하지 않았어요. 정말 멋지지 않나요?
이제 카운트를 증가시키고 감소시키는 도구를 넣어줍시다. 이것은 use tool이라는 또 다른 훅입니다. 이름, 즉 모델이 호출하는 이름을 부여합니다. 설명(description)을 부여하여 모델이 언제 이 도구를 사용해야 하는지 알게 합니다. 그리고 실제로 호출되었을 때 실행되는 코드를 부여합니다. 이렇게 에이전트에 도구와 데이터를 제공하기가 얼마나 쉬운지 알 수 있습니다.
가장 좋은 점은 훅이 조건부(conditional)일 수 있다는 것입니다. 이 에이전트는 눈앞의 사용자가 유료인지 아닌지를 알고 있습니다. 만약 그것이 참이라면, 더 비싼 Anthropic 모델을 호출합니다.
만약 해당 모델이 아니면 대신 저렴한 중국어 모델로 폴백(fallback)됩니다. 이와 정확히 동일한 원칙은 도구 사용 후크(tool hook)와 수많은 다른 모든 기능에도 적용됩니다. 예를 들어, MCP Connection을 사용하여 외부 도구에 연결할 수도 있고, SubAgent를 사용하여 전문 작업자에게 작업을 위임할 수도 있습니다. 또한 Sandbox 기능을 사용하여 에이전트가 코드를 실행할 실제 공간을 제공할 수도 있으며, 이 외에도 훨씬 더 많은 기능들이 존재합니다.
Flu는 또한 비종속적(agnostic)으로 설계되었습니다. AWS, Cluster, Docker 등 다양한 환경에 배포할 수 있습니다. 또한 Anthropic, OpenAI, Google, Grok, XAI, DeepSeq 등 모든 LLM과 작동하며, 사용자의 자체 데이터베이스와도 연동됩니다. Postgres, MongoDB, Redis 등이 가능합니다.
데이터베이스에 대해 이야기하자면, 에이전트가 SQLite를 사용하는 것이 얼마나 쉬운지 보여드리겠습니다. 저희는 db.ts라는 단 하나의 파일을 만듭니다. Flu의 런타임에서 SQLite를 가져와 파일로 지정하여 내보내기만 하면 됩니다. 끝입니다. 모든 대화 기록과 상태 정보가 바로 그곳에 저장됩니다.
이제 데이터베이스를 변경해 보겠습니다. 파일은 동일합니다. 이번에는 Postgres입니다. 그리고 에이전트 코드는 전혀 수정할 필요가 없습니다. 또한, 모든 에이전트는 무료로 REST API를 제공받습니다. 전체 기록을 보려면 단순히 대화 내용을 가져오기만 하면 됩니다. 메시지를 보내려면 같은 URL에 POST 요청을 보내면 됩니다. 완전히 새로운 세션을 생성하려면 새로운 ID로 POST 요청을 보내고, 실시간으로 추적하려면 뷰 업데이트(view updates)를 받으면 됩니다. 그리고 실행 도중에 취소하려면 슬래시 어보트(/abort)로 POST 요청을 보내면 됩니다.
이것만으로는 충분하지 않은지, 에이전트를 UI에 직접 연결하는 React 패키지도 있습니다. 후크 하나만 연결하면 실시간 대화에 접속할 수 있습니다. 메시지를 보내는 것은 한 줄의 코드로 가능합니다. 그리고 이 내용은 에이전트가 응답함에 따라 실시간으로 스트리밍되며 업데이트됩니다.
저는 많은 프레임워크를 사용하여 여러 에이전트를 구축해 왔습니다. 대부분의 프레임워크는 메시지 입력, 메시지 출력, 메모리 관리, 압축(compaction), 데이터베이스 계층 등 모든 배관 작업(plumbing)을 직접 작성하도록 요구합니다. 하지만 Flu를 사용하면 이 모든 것이 포함되어 제공됩니다. 정말로 Flu 프레임워크를 확인해 보시길 바랍니다. AI 에이전트를 구축하는 과정을 매우 쉽고 재미있게 만들어주기 때문입니다. 저는 이미 Flu 프레임워크 전체 과정에 대한 강좌도 녹화했습니다.
이 과정에서는 가장 첫 번째 에이전트부터 도구(tools), 스킬(skills), MCPs, 서브 에이전트(sub-agents), 샌드박스(sandboxes)를 거쳐 클러스터 및 개인 서버에 실제로 배포하는 것까지 다룹니다. 이것은 AX 스쿨 멤버십에 포함되어 있습니다. 아직 AX 구독을 가지고 있지 않다면, 하나를 만드세요. 이 과정 외에도 Cloud Code 과정, GEF 과정, Hermes Agent 과정, 그리고 OpenAI Agents API 과정을 받게 됩니다. 제가 만드는 모든 과정은 1년 동안 제공됩니다. 주간 보고서와 코드 보일러플레이트도 마찬가지입니다. 댓글에 Flu로 무엇을 만들 것인지 알려주세요. 그리고 AX 엔지니어가 되려면 아래 링크를 클릭하세요. 다음 영상에서 뵙겠습니다. 안녕히 계세요.