Software Catalog에서의 AI
Backstage에는 다른 소프트웨어 구성 요소와 함께 AI 관련 리소스를 모델링하기 위한 카탈로그 엔티티 유형이 있습니다. AI 스킬, 거버넌스 규칙, MCP 서버에 대한 소유권, 라이프사이클, 관계를 나머지 카탈로그와 같은 방식으로 추적할 수 있습니다.
출처: 문서
본문
Backstage에는 다른 소프트웨어 구성 요소와 함께 AI 관련 리소스를 모델링하기 위한 카탈로그 엔티티 유형이 있습니다. AI 스킬, 거버넌스 규칙, MCP 서버에 대한 소유권, 라이프사이클, 관계를 나머지 카탈로그와 같은 방식으로 추적할 수 있습니다.
이 페이지에 설명된 모든 엔티티는 name, description, tags, annotations, labels 같은 표준 메타데이터 필드를 사용합니다.
설치
AiResource 엔티티 kind와 mcp-server API 타입 모두 @backstage/plugin-catalog-backend-module-ai-model 모듈에서 제공됩니다. 이를 백엔드에 추가하세요.
루트 디렉토리에서
yarn --cwd packages/backend add @backstage/plugin-catalog-backend-module-ai-model
packages/backend/src/index.ts
const backend = createBackend();// ...backend.add(import('@backstage/plugin-catalog-backend-module-ai-model'));// ...backend.start();
AiResource 엔티티 kind
AiResource 엔티티 kind는 스킬과 거버넌스 규칙 같은 AI 코딩 도구가 소비하는 맥락적 정보를 나타냅니다. spec.type 필드가 사용 가능한 추가 spec 필드를 결정합니다.
Skill(스킬)
스킬은 AI 코딩 도구를 위한 재사용 가능한 맥락적 지식입니다.
apiVersion: backstage.io/v1alpha1kind: AiResourcemetadata: name: frontend-design description: Skill for creating production-grade frontend interfacesspec: type: skill lifecycle: production owner: ai-platform-team system: ai-tooling disciplines: - web categories: - framework agents: - claude-code dependsOn: - airesource:default/base-coding-standards
스킬 특화 필드:
-
disciplines(선택): 스킬이 적용되는 분야 목록. 예:web또는backend. -
categories(선택): 스킬을 구성하기 위한 카테고리 목록. -
agents(선택): 스킬이 설계된 AI 에이전트 목록. -
dependsOn(선택): 이 스킬이 의존하는 다른AiResource엔티티에 대한 참조.
Rule(규칙)
규칙은 AI 코딩 도구에 대한 제약과 거버넌스 정책을 정의합니다.
apiVersion: backstage.io/v1alpha1kind: AiResourcemetadata: name: no-direct-db-access description: Prevent AI tools from generating direct database queriesspec: type: rule lifecycle: production owner: platform-team category: security rationale: All database access must go through the service layer to maintain audit trails disciplines: - backend
규칙 특화 필드:
-
category(필수): 규칙의 카테고리. 예:security또는quality. -
rationale(필수): 규칙이 존재하는 이유에 대한 설명. -
disciplines(선택): 규칙이 적용되는 분야 목록.
기본 필드
모든 AiResource 엔티티는 유형과 관계없이 다음 spec 필드를 공유합니다.
-
type(필수): AI 리소스의 유형. 지원되는 값은skill과rule이지만, 어떤 문자열이든 허용됩니다. -
lifecycle(필수): 리소스의 라이프사이클 단계. 예:experimental또는production. -
owner(필수): 소유 엔티티에 대한 참조. 일반적으로 그룹 또는 사용자입니다. -
system(선택): 이 리소스가 속한 시스템에 대한 참조.
스킬 및 규칙 콘텐츠 접근
스킬과 규칙의 실제 콘텐츠는 엔티티 spec에 저장되지 않습니다. 대신 표준 backstage.io/source-location 어노테이션을 통해 소스 파일이 참조됩니다. 스킬 또는 규칙 파일에서 AiResource 엔티티를 생성하는 엔티티 프로바이더는 이 어노테이션을 소스 파일을 가리키도록 설정해야 합니다.
MCP 서버 API 타입
mcp-server 타입은 API 엔티티 kind의 구조화된 하위 타입입니다. 카탈로그에서 MCP 서버를 나타낼 때 사용하세요. 다른 API 타입(예: openapi 또는 graphql)이 사용하는 definition 필드 대신 remotes 목록을 통해 전송 엔드포인트를 캡처합니다.
apiVersion: backstage.io/v1alpha1kind: APImetadata: name: backstage-mcp-server description: An MCP server that exposes tools related to the Backstage ecosystem tags: - mcp - aispec: type: mcp-server lifecycle: experimental owner: team-a remotes: - type: streamable-http url: http://localhost:7007/api/mcp-actions/v1
필드
-
type(필수):mcp-server여야 합니다. -
lifecycle(필수): 서버의 라이프사이클 단계. 예:experimental또는production. -
owner(필수): 소유 엔티티에 대한 참조. 일반적으로 그룹 또는 사용자입니다. -
system(선택): 이 서버가 속한 시스템에 대한 참조. -
remotes(필수): 전송 엔드포인트의 배열로, 최소 한 항목을 가집니다. 각 항목은 다음을 가집니다. -
type(필수): 전송 프로토콜. 예:streamable-http또는stdio. -
url(필수): MCP 서버의 엔드포인트 URL.