주요 내용

  • Genkit은 TypeScript, Go, Dart, Python을 지원하는 오픈소스 AI/에이전트 앱 프레임워크입니다.
  • 새로 도입된 미들웨어 시스템: 생성 호출과 도구 실행 루프를 가로채 커스텀 동작을 주입하는 컴포저블 훅
  • 세 가지 훅 레이어:
    • Generate 훅: 툴 루프 반복당 한 번 실행, 컨텍스트 주입, 메시지 재작성 등
    • Model 훅: 모델 API 호출당 한 번 실행, 재시도, 폴백, 캐싱, 지연 로깅
    • Tool 훅: 도구 실행당 한 번 실행, 사람 개입, 샌드박싱, 도구별 로깅
  • 제공되는 사전 빌드 미들웨어:
    • Retry: 일시적 오류 시 지수 백오프로 자동 재시도 (Go 예제 코드 포함)
    • Fallback: 주요 모델 실패 시 대체 모델로 전환 (예: Google AI -> Anthropic Claude)
    • Tool Approval: 허용 목록 기반 도구 제한, 승인되지 않은 도구 호출 시 인터럽트 발생
    • Skills: SKILL.md 파일을 읽어 시스템 프롬프트에 주입, 필요 시 on-demand 로드
    • Filesystem: 모델에 제한된 로컬 파일 시스템 접근 권한 부여 (읽기/쓰기/편집)
  • 사용자 정의 미들웨어 작성: 간단한 인터페이스(이름 + 팩토리 함수)를 구현, WrapModel 훅으로 콘텐츠 필터 예제 제공
  • 미들웨어는 순서대로 중첩 가능 (좌에서 우로 감쌈)
  • Genkit Developer UI에서 미들웨어 설정, 추적, 테스트 가능
  • 자세한 내용은 Genkit 문서 참조, 새로운 미들웨어 아이디어는 GitHub 이슈 제출 가능

링크 공유, 이제 더 스마트하게

어떤 URL이든 AI가 핵심 내용을 요약하고 미리보기를 자동 생성해 드립니다. 🤖