에이전트와 사람이 같은 도구로 일하는 인터페이스를 만드는 법
코딩 에이전트가 파일과 테스트, 미리보기를 함께 다루듯, 지식 업무에도 에이전트의 작업 과정을 눈앞에서 확인하고 수정할 수 있는 환경이 필요합니다. 에이전트 네이티브는 에이전트가 사용하는 도구와 사용자가 클릭하는 버튼이 동일한 코드를 공유하도록 설계된 프레임워크입니다. 덕분에 에이전트가 한 일은 화면에 즉시 반영되고, 사용자가 고친 내용은 에이전트가 바로 이어받아 작업합니다.
하나의 액션, 여러 경로
에이전트 네이티브의 핵심은 '액션'이라는 개념입니다. 개발자가 특정 기능을 액션으로 정의하면, 에이전트는 이를 도구로 호출하고 UI는 코드로 같은 함수를 실행합니다. 이 과정에서 검증, 권한, 구현 로직이 모두 동일하게 적용됩니다. 에이전트가 UI를 마우스로 클릭하는 대신, UI와 동일한 액션 레이어를 통해 직접 작업하기 때문에 데이터 불일치가 생기지 않습니다. 예를 들어 인사말을 보내는 액션을 만들면, 에이전트가 도구로 쓰든 React 컴포넌트가 호출하든, HTTP 요청이든 동일한 결과를 반환합니다.
함께 일하는 환경
이 프레임워크는 에이전트와 사용자가 동일한 데이터와 상태를 공유하도록 돕습니다. 에이전트가 처리한 작업은 UI에 즉시 표시되고, 사용자가 UI에서 수정한 내용은 에이전트가 다음 작업에 활용할 수 있습니다. 또한 현재 페이지, 선택된 기록, 활성 뷰와 같은 UI 상태가 에이전트에 전달되어 맥락에 맞는 판단을 내릴 수 있게 합니다. 이러한 구조는 에이전트가 독립적으로 일하면서도 사용자의 감독과 개입을 자연스럽게 받아들이는 환경을 만듭니다.
포함된 기능과 시작 방법
에이전트 네이티브는 에이전트 채팅, 인증 및 권한 관리, 스킬과 메모리, 자동화, 에이전트 팀, PostgreSQL 백엔드를 기본으로 제공합니다. 로컬 개발에서는 PGlite를, 프로덕션에서는 PostgreSQL을 사용할 수 있으며, Nitro 호환 호스트에서 실행됩니다. 시작은 간단합니다. npx --yes @agent-native/core@latest create my-agent --standalone --template chat 명령을 실행하면 채팅 템플릿 기반의 에이전트 프로젝트를 생성할 수 있습니다. LLM, SQL 데이터베이스, 도구, 인프라는 사용자가 직접 선택하여 연결하며, 만든 모든 자산은 소유자가 그대로 유지합니다.
실제 사례로 보는 활용
README에는 회의록 기록, 디자인 생성, 슬라이드 편집, 데이터 분석, 캘린더 관리, 메일 처리, 자산 관리, 콘텐츠 작성, 계획 수립 등 다양한 오픈소스 에이전트 예시가 포함되어 있습니다. 이 예시들은 프레임워크가 어떻게 특정 업무 영역에 적용되는지 보여주는 참고 자료로 사용할 수 있습니다. 각 에이전트는 해당 업무에 특화된 액션들을 정의하여, 사용자가 친숙한 방식으로 결과를 검토하고 승인하는 흐름을 따릅니다.
적용 전 확인 사항
이 프레임워크는 TypeScript 기반이며, MIT 라이선스로 공개되어 있습니다. 사용자가 자신의 LLM과 데이터베이스, 인프라를 직접 준비해야 하므로, 이러한 외부 의존성을 관리할 수 있는 역량이 필요합니다. 또한 Nitro 호환 호스트와 PostgreSQL(또는 로컬의 PGlite) 환경이 요구됩니다. 에이전트와 UI가 동일한 액션 레이어를 공유하는 구조는 일관성을 보장하지만, 액션 설계 시 권한과 검증 로직을 신중하게 구성해야 합니다. 복잡한 권한 체계나 대규모 데이터 처리가 필요한 경우, 기본 제공된 인증 및 권한 관리 기능의 범위를 사전에 검토하는 것이 좋습니다.