Genkit은 AI 기능을 웹·모바일·백엔드 앱에 넣기 위한 오픈소스 프레임워크다. Google Firebase가 만들고 프로덕션에서 사용하며, 모델 호출·구조화 출력·툴 호출·RAG·플로우·관찰 가능성을 하나의 개발 경험으로 묶는다. JavaScript/TypeScript와 Go는 프로덕션 준비 상태, Python은 베타, Dart는 프리뷰 단계다.
왜 필요한가
AI 앱을 만들 때 모델 API 호출만으로는 부족하다. 실제 제품에는 프롬프트 버전 관리, 타입이 있는 출력, 검색 증강 생성(RAG), 도구 호출, 로컬 디버깅, 평가, 배포 후 추적이 함께 필요하다. Genkit은 이 과정을 Firebase·Cloud Run·일반 Node.js/Go/Python 런타임에 붙일 수 있는 애플리케이션 프레임워크로 제공한다.
GitHub 저장소 기준 약 6천 개의 스타를 보유한 Apache-2.0 프로젝트이며, Google Gemini뿐 아니라 OpenAI, Anthropic, Ollama 등 여러 모델 제공자를 플러그인 방식으로 연결한다.
핵심 기능
| 기능 | 설명 |
|---|---|
| 모델 추상화 | Gemini, OpenAI, Anthropic, Ollama 등 여러 모델 제공자를 같은 패턴으로 호출 |
| 구조화 출력 | 스키마를 기반으로 LLM 응답을 타입이 있는 데이터로 생성 |
| 툴 호출 | 애플리케이션 함수를 모델이 호출할 수 있는 도구로 노출 |
| 플로우(Flow) | AI 작업을 관찰 가능하고 테스트 가능한 서버 측 함수로 정의 |
| RAG | 리트리버, 인덱서, 임베더를 조합해 검색 증강 생성 파이프라인 구성 |
| 개발 UI | 로컬에서 플로우·프롬프트·모델·툴 실행 결과와 trace를 시각적으로 확인 |
| 배포·관찰 | Firebase, Cloud Run, 일반 서버 런타임에 배포하고 운영 지표를 추적 |
기본 사용 예
TypeScript에서는 genkit 코어와 모델 플러그인을 설치한 뒤 ai.generate()로 호출한다.
import { genkit } from 'genkit';
import { googleAI } from '@genkit-ai/google-genai';
const ai = genkit({ plugins: [googleAI()] });
const { text } = await ai.generate({
model: googleAI.model('gemini-flash-latest'),
prompt: 'What is the meaning of life?'
});Genkit의 중심 단위는 flow다. 일반 함수처럼 작성하지만 입력·출력 스키마, trace, 평가, Developer UI 실행을 붙일 수 있어 프로토타입에서 운영 코드로 옮기기 쉽다.
개발 도구
CLI는 전역 설치 후 로컬 앱을 감싸서 실행한다.
npm install -g genkit-cli
npm install genkit @genkit-ai/google-genai
genkit start -- npx tsx --watch src/index.tsgenkit start를 실행하면 텔레메트리 API와 Developer UI가 로컬 포트에서 열린다. 이 UI에서 정의된 flow, prompt, model, tool, retriever, indexer, embedder, evaluator를 직접 실행하고 trace를 확인할 수 있다.
어떤 팀에 맞나
- Firebase·Google Cloud 기반 제품팀: Cloud Functions for Firebase, Cloud Run, Gemini API와 자연스럽게 연결되는 AI 기능을 만들 때 적합하다.
- TypeScript/Go 백엔드 팀: LangChain류의 범용 체인 프레임워크보다 앱 코드에 가까운 형태로 플로우와 도구를 정의하고 싶을 때 유용하다.
- AI 기능을 제품에 내장하는 팀: 챗봇, 추천, 자동화, 문서 기반 질의응답처럼 모델 호출·도구·검색·관찰을 함께 관리해야 하는 경우에 맞다.
- 프로토타입을 운영으로 옮기는 팀: 로컬 Developer UI에서 prompt와 flow를 빠르게 실험하고, 같은 정의를 배포·모니터링까지 이어갈 수 있다.
다른 프레임워크와의 차이
| 비교 대상 | Genkit의 차이 |
|---|---|
| LangChain | 체인 조립보다 앱 플로우, 로컬 개발 UI, 배포 후 관찰 가능성에 더 초점을 둔다 |
| pydantic-ai | Python 타입 안전성 중심인 Pydantic AI와 달리 TypeScript·Go·Firebase 생태계 통합이 강하다 |
| 직접 SDK 호출 | 모델 호출뿐 아니라 flow, trace, RAG, 평가, 툴 호출을 제품 개발 단위로 묶는다 |
| 클라우드 전용 AI 빌더 | Google 생태계와 잘 맞지만 오픈소스이고 Google 외 모델·배포 환경도 지원한다 |
한계와 주의점
- 언어별 성숙도가 다르다. JavaScript/TypeScript와 Go는 프로덕션 준비 상태지만 Python은 베타, Dart는 프리뷰다.
- Google/Firebase 워크플로에 가장 자연스럽다. AWS·Azure·자체 Kubernetes 중심 팀은 배포와 관찰 계층을 별도로 맞춰야 한다.
- 단순한 한두 번의 모델 호출만 필요하다면 프레임워크 도입 비용이 더 클 수 있다.
라이선스
Apache-2.0
관련 문서
- gemini — Google의 멀티모달 AI 모델 및 서비스 생태계
- google-ai-studio — Gemini API 키와 모델 파라미터를 다루는 개발자 환경
- rag — 외부 지식을 LLM에 실시간으로 주입하는 검색 증강 생성 기술
- pydantic-ai — Python 중심 타입 안전 AI 에이전트 프레임워크
- cloudflare-agents — Durable Objects 기반 영속 상태 AI 에이전트 SDK
참고 자료
- genkit-ai/genkit — GitHub 공식 저장소
- Get started with Genkit — Genkit Docs (2026-05-19)
- Developer tools — Genkit Docs (2026-05-19)