Community생산성 & 협업github.com

genkit-ai/developing-genkit-js

Genkit을 사용하여 Node.js/TypeScript에서 AI 기반 애플리케이션을 개발합니다. 사용자가 Genkit, AI 에이전트, 플로우, 또는 JavaScript/TypeScript 도구에 대해 질문하거나 Genkit 오류, 유효성 검사 문제, 타입 오류, API 문제를 만났을 때 사용하세요.

developing-genkit-js란 무엇인가요?

이 기술은 Genkit 프레임워크를 사용하여 Node.js/TypeScript 환경에서 AI 기반 애플리케이션을 개발하는 방법을 안내합니다. Genkit은 Google이 개발한 오픈 소스 프레임워크로, AI 모델, 도구, 에이전트, 플로우를 쉽게 구축하고 관리할 수 있도록 해줍니다. 주요 기능으로는 AI 플로우 정의, 도구 통합, 프롬프트 관리, 출력 검증, 그리고 보안 및 모니터링 기능이 포함되어 있습니다. 이 기술은 Cursor, Claude Code, Codex 등 다양한 AI 코딩 에이전트에서 사용할 수 있으며, 특히 JavaScript/TypeScript 생태계에 특화되어 있습니다. Genkit을 사용하면 복잡한 AI 파이프라인을 간결하고 타입 안전하게 구현할 수 있어 개발 생산성을 크게 향상시킬 수 있습니다. 또한, 오류 처리, 유효성 검사, 타입 검사, API 통합 등 실질적인 개발 문제를 해결하는 데 도움을 줍니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/genkit-ai/skills/tree/main/skills/developing-genkit-js

Installed? Explore more 생산성 & 협업 skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

developing-genkit-js은(는) 무엇을 하나요?

Genkit을 사용하여 Node.js/TypeScript에서 AI 기반 애플리케이션을 개발합니다. 사용자가 Genkit, AI 에이전트, 플로우, 또는 JavaScript/TypeScript 도구에 대해 질문하거나 Genkit 오류, 유효성 검사 문제, 타입 오류, API 문제를 만났을 때 사용하세요.

개요

이 기술은 Google의 Genkit 프레임워크를 사용하여 Node.js/TypeScript 환경에서 AI 기반 애플리케이션을 개발하는 방법을 제공합니다. Genkit은 AI 모델 통합, 도구 체인 구축, 프롬프트 관리, 출력 검증 등을 위한 종합적인 도구 세트를 제공합니다.

주요 기능

  • AI 플로우 정의: 복잡한 AI 워크플로우를 간결하게 정의
  • 도구 통합: 외부 API, 데이터베이스, 파일 시스템 등과 통합
  • 프롬프트 관리: 템플릿 기반 프롬프트 관리 및 버전 관리
  • 출력 검증: Zod와 같은 스키마 검증 라이브러리를 사용한 출력 검증
  • 보안 및 모니터링: 요청 추적, 로깅, 오류 처리

사용 방법

설치

npm install genkit

기본 플로우 정의

import { genkit, z } from 'genkit';

const ai = genkit();

// 간단한 플로우 정의
const helloFlow = ai.defineFlow(
  {
    name: 'helloFlow',
    inputSchema: z.object({ name: z.string() }),
    outputSchema: z.string(),
  },
  async (input) => {
    return `Hello, ${input.name}!`;
  }
);

// 플로우 실행
const result = await helloFlow({ name: 'World' });

도구 통합

const greetTool = ai.defineTool(
  {
    name: 'greetTool',
    description: '인사 메시지를 생성합니다',
    inputSchema: z.object({ name: z.string() }),
    outputSchema: z.string(),
  },
  async (input) => {
    return `안녕하세요, ${input.name}님!`;
  }
);

// 플로우에서 도구 사용
const chatFlow = ai.defineFlow(
  {
    name: 'chatFlow',
    inputSchema: z.object({ message: z.string() }),
  },
  async (input) => {
    return ai.generate({
      prompt: input.message,
      tools: [greetTool],
    });
  }
);

오류 처리

Genkit은 다음과 같은 오류 유형을 제공합니다:

  • GenkitError: 일반적인 Genkit 오류
  • ValidationError: 입력/출력 검증 오류
  • ToolError: 도구 실행 중 오류
  • FlowError: 플로우 실행 중 오류
import { GenkitError } from 'genkit';

try {
  const result = await myFlow(input);
} catch (error) {
  if (error instanceof GenkitError) {
    console.error('Genkit 오류:', error.message);
  }
}

추가 리소스

관련 스킬