V

develop-ai-functions-example

작성자 vercel

develop-ai-functions-example는 `vercel/ai`의 `examples/ai-functions/src/` 아래에서 실행 가능한 AI SDK 예제를 새로 만들거나 수정할 때 유용합니다. 적절한 카테고리를 고르고, repo 관례에 맞추며, provider 검증·데모·fixture용 최소 예제를 만드는 데 도움이 됩니다.

Stars23.1k
즐겨찾기0
댓글0
추가됨2026년 3월 31일
카테고리Skill Examples
설치 명령어
npx skills add vercel/ai --skill develop-ai-functions-example
큐레이션 점수

이 스킬은 67/100점으로, 이미 Vercel AI repo 내부에서 작업하는 사용자에게는 디렉터리 등록 가치가 있지만, 단독 설치 결정 페이지로는 강한 편은 아닙니다. 저장소 근거를 보면 `examples/ai-functions/src` 아래 예제를 생성·수정하는 실제 워크플로 콘텐츠가 있고, 구체적인 예제 카테고리와 실행 가이드로 보이는 정보도 포함되어 있어, 일반적인 프롬프트보다 에이전트를 더 빠르게 적절한 작업 영역으로 유도할 수 있습니다. 다만 이 스킬은 `internal: true`로 표시되어 있고 실험용/테스트 성격의 신호가 있으며, 지원 파일이나 설치 명령도 없어 더 넓은 사용자층이 신뢰하고 이식성 있게 쓰기에는 한계가 있습니다.

67/100
강점
  • 트리거 범위가 명확합니다. 설명에서 `examples/ai-functions/src` 아래 AI function 예제를 생성, 실행, 수정할 때 언제 써야 하는지 분명히 밝힙니다.
  • 워크플로 구조가 구체적입니다. 이 스킬은 `generateText`, `streamText`, `generateObject`, embeddings, images, speech, transcription, reranking, agent workflows 같은 예제 카테고리를 체계적으로 짚어 줍니다.
  • 문서화된 안내가 충분합니다. SKILL.md 분량이 길고, 여러 워크플로/제약 신호, code fence, repo 경로 참조를 포함하고 있어 placeholder 텍스트 수준에 머물지 않습니다.
주의점
  • 적합한 사용 범위가 좁습니다. 메타데이터에 `internal: true`가 표시되어 있어, 일반 사용자가 아니라 Vercel AI repository 내부 기여자에 맞춰진 스킬로 보입니다.
  • 도입 판단 정보가 제한적입니다. 설치 명령이 없고, 새 사용자가 워크플로를 독립적으로 실행하는 데 도움이 될 지원 파일, 스크립트, 참고 자료도 제공되지 않습니다.
개요

develop-ai-functions-example 스킬 개요

develop-ai-functions-example의 용도

develop-ai-functions-example 스킬은 vercel/ai 저장소의 examples/ai-functions/src/ 안에서 실행 가능한 예제를 새로 만들거나 수정할 때 쓰는, 목적이 분명한 빌드 가이드입니다. 일반적인 프롬프팅 용도가 아닙니다. AI SDK function 데모, provider 검증, 테스트성 fixture에 맞는 저장소 관례를 따르는 예제를 만들 수 있도록 돕는 데 초점이 있습니다.

이 스킬이 필요한 사람

다음과 같은 작업을 한다면 develop-ai-functions-example 스킬이 잘 맞습니다.

  • AI SDK function용 새 예제를 추가해야 할 때
  • 예제를 다른 provider에 맞게 바꿔야 할 때
  • 특정 provider가 어떤 기능을 지원하는지 검증해야 할 때
  • 기존 예제 트리 아래에 최소 재현 예제나 fixture를 만들어야 할 때
  • 임의 패턴을 새로 만드는 대신 저장소 구조에 맞추고 싶을 때

반대로 generateText()가 개념적으로 어떻게 동작하는지 LLM에게 추상적으로 설명만 듣고 싶다면, 이 스킬은 필요한 범위보다 더 좁을 가능성이 큽니다.

실제로 해결해 주는 핵심 작업

대부분의 사용자는 설명문을 원하는 것이 아닙니다. 올바른 폴더에, 올바른 형태로, 올바른 SDK function을 사용한, 실제로 동작하는 예제를 원합니다. 그리고 저장소 특유의 실수를 줄이고 싶어 합니다. 그런 의미에서 develop-ai-functions-example은 AI Functions 예제 영역을 위한 저장소 인지형 구현 도우미로 보는 것이 가장 정확합니다.

일반적인 코딩 프롬프트와 다른 점

일반 프롬프트도 예제 코드를 초안으로 만들 수는 있지만, 대체로 이 저장소의 분류 체계나 파일 배치 규칙은 놓치기 쉽습니다. develop-ai-functions-example은 다음과 같은 실무 맥락을 추가해 줍니다.

  • examples/ai-functions/src/ 아래에 이미 존재하는 예제 카테고리
  • 기능 유형과 대상 디렉터리 사이의 기대되는 매핑
  • 이 저장소에서 예제를 두는 목적: 검증, 시연, fixture
  • 장황한 튜토리얼보다 최소 단위의 실행 가능한 예제를 우선하는 성향

가장 잘 맞는 범위

develop-ai-functions-example for Skill Examples가 특히 잘 맞는 작업 범위는 아래 카테고리입니다.

  • generate-text/
  • stream-text/
  • generate-object/
  • stream-object/
  • agent/
  • embed/
  • embed-many/
  • generate-image/
  • generate-speech/
  • transcribe/
  • rerank/
  • middleware/

이 범위는 중요합니다. 이 스킬은 이 저장소 레이아웃 안에서 예제를 개발하는 데 최적화되어 있으며, 앱 설계, SDK API surface 설계, 프로덕션 아키텍처 설계를 위한 도구는 아닙니다.

develop-ai-functions-example 스킬 사용 방법

설치 맥락과 적용 위치

develop-ai-functions-example install 안내는 vercel/ai 저장소 안에서 작업할 때, 혹은 그 예제 구조를 그대로 따라가고 싶을 때 사용하는 것이 적절합니다. 흔한 설정은 다음과 같습니다.

npx skills add vercel/ai --skill develop-ai-functions-example

그다음 작업이 examples/ai-functions/src/ 아래의 예제 파일을 만들고, 수정하고, 검증하는 일에 해당할 때 이 스킬을 호출하면 됩니다.

먼저 올바른 예제 카테고리부터 정하세요

코드를 요청하기 전에 대상 function 계열부터 정해야 합니다. 이 결정이 가장 영향력이 큰 이유는, 폴더 위치와 예제 형태가 여기서 함께 결정되기 때문입니다.

예를 들면:

  • 일반적인 1회성 텍스트 출력 → generate-text/
  • 토큰 또는 청크 단위 스트리밍 → stream-text/
  • 스키마 제약이 있는 구조화 출력 → generate-object/
  • 스트리밍되는 구조화 출력 → stream-object/
  • 단일 입력에 대한 임베딩 → embed/
  • 배치 입력에 대한 임베딩 → embed-many/
  • 도구를 사용하는 다단계 워크플로 → agent/

이 단계를 건너뛰면 생성된 예제가 아예 잘못된 API를 사용하는 경우가 생길 수 있습니다.

스킬이 사용자에게서 필요로 하는 입력

develop-ai-functions-example usage의 품질은 요청을 얼마나 구체적으로 하느냐에 크게 좌우됩니다. 아래 정보를 함께 주는 것이 좋습니다.

  • 대상 function, 예: generateObject() 또는 streamText()
  • 알고 있다면 provider와 model
  • 예제 목적이 지원 검증인지, 문서형 데모인지, 테스트 fixture인지
  • 기대하는 입력과 출력
  • 스트리밍, tools, schema validation, middleware가 필요한지 여부
  • dependency, 파일 이름, 환경 변수에 대한 제약이 있는지

약한 입력 예:

  • “Make an AI example.”

더 강한 입력 예:

  • “Create a minimal generateObject() example under examples/ai-functions/src/generate-object/ that tests structured extraction from product review text using a Zod schema and a provider supported in this repo.”

막연한 목표를 스킬 친화적인 프롬프트로 바꾸는 법

좋은 develop-ai-functions-example guide 프롬프트는 결과물, 대상 디렉터리, 사용할 function, 검증 의도를 분명히 적습니다.

유용한 구성은 다음과 같습니다.

  • 무엇을 만들고 싶은지
  • 어디에 들어가야 하는지
  • 어떤 AI SDK function을 써야 하는지
  • 어떤 provider 전제를 허용하는지
  • 얼마나 최소 예제에 가깝게 할지, 혹은 얼마나 실전형으로 할지
  • 무엇을 성공 기준으로 볼지

예시 프롬프트:

“Use develop-ai-functions-example to create a minimal example in examples/ai-functions/src/stream-text/ showing streamText() with a provider already used in the repo. Keep it short, runnable, and clearly focused on streaming output rather than app integration. Include any required env vars and explain why this belongs in stream-text/ instead of generate-text/.”

먼저 SKILL.md를 읽고, 그다음 주변 예제를 확인하세요

이 스킬에서 눈에 보이는 지원 파일은 SKILL.md 하나뿐입니다. 먼저 읽어야 하는 이유는, 카테고리 맵과 저장소 특화 의도가 여기에 정리되어 있기 때문입니다. 그다음에는 수정하려는 대상 디렉터리의 인접 예제를 확인하세요. 광범위한 저장소 문서를 읽는 것보다, 로컬 네이밍 규칙과 코드 패턴을 더 빨리 파악할 수 있습니다.

실용적인 읽기 순서:

  1. skills/develop-ai-functions-example/SKILL.md
  2. examples/ai-functions/src/ 아래의 대상 폴더
  3. 의도한 기능과 가장 가까운 형제 예제 한두 개
  4. 주변에서 사용되는 provider별 import 또는 env 패턴

예제 목적에 맞게 형태를 맞추세요

이 저장소에서 예제는 단순 문서 용도만으로 쓰이지 않습니다. 프롬프트에 아래 중 무엇을 최적화하려는지 명시해야 합니다.

  • provider 지원 검증
  • 기능 시연
  • 재현 가능한 fixture
  • 반복 실험

이게 중요한 이유:

  • 검증용 예제는 최소 구성이고 의도가 분명해야 합니다
  • 데모용 예제는 핵심 API 동작이 잘 드러나야 합니다
  • fixture는 불필요한 변형을 피해야 합니다
  • 실험용 예제는 다소 거칠어도 되지만, 그래도 폴더 배치는 맞아야 합니다

출력은 최소화하되 실행 가능하게 유지하세요

좋은 develop-ai-functions-example skill 결과물은 대개 더 많은 것을 하지 않고, 꼭 필요한 것만 합니다. 다음 기준을 요청하는 것이 좋습니다.

  • 명확한 function 호출 하나
  • 필요한 import만 포함
  • 이해하기 쉬운 입력
  • 작은 단위의 출력 처리
  • env variables는 명시적으로 표시
  • 해당 폴더가 이미 기대하는 경우가 아니라면 framework scaffolding는 제외

이렇게 하면 모델이 앱 코드를 과하게 덧붙여서, 정작 보여주고 싶었던 SDK 동작을 가려 버리는 문제를 줄일 수 있습니다.

요청에 명시하면 좋은 저장소 경로

저장소에 맞는 결과를 원한다면 요청에 경로를 직접 적어 주세요. 특히 유용한 경로는 다음과 같습니다.

  • examples/ai-functions/src/generate-text/
  • examples/ai-functions/src/stream-text/
  • examples/ai-functions/src/generate-object/
  • examples/ai-functions/src/stream-object/
  • examples/ai-functions/src/agent/
  • examples/ai-functions/src/embed/
  • examples/ai-functions/src/embed-many/

경로를 직접 언급하면, 스킬이 중립적인 예제를 새로 꾸며내는 대신 해당 위치에 맞는 패턴을 고르는 데 도움이 됩니다.

새 예제를 만들 때의 실전 워크플로

안정적으로 진행하려면 다음 순서를 권장합니다.

  1. 대상 function 계열을 정한다
  2. 그 폴더의 형제 예제를 확인한다
  3. 폴더, function, provider, 목적을 포함해 스킬에 요청한다
  4. 초기 예제를 생성한다
  5. 검증이나 시연에 필요 없는 요소를 덜어낸다
  6. 의도한 provider로 실제 실행해 본다
  7. 주변 파일에 맞게 이름, 입력, env 처리를 다듬는다

처음부터 완성형 예제를 막연히 요청한 뒤 나중에 저장소 구조에 끼워 맞추는 것보다, 보통 이 방식이 더 빠릅니다.

일반 프롬프트 대신 이 스킬을 써야 할 때

주요 위험이 저장소 불일치일 때 develop-ai-functions-example usage를 쓰는 것이 좋습니다. 예를 들어 잘못된 폴더, 잘못된 AI SDK function, 과도한 복잡도, 혹은 예제 트리에 어울리지 않는 데모가 나올 위험이 있을 때입니다. 반대로 examples/ai-functions/src/ 바깥의 더 넓은 아키텍처 조언이 필요하다면 일반 프롬프트가 더 적합합니다.

develop-ai-functions-example 스킬 FAQ

develop-ai-functions-example은 vercel/ai 저장소에서만 쓰는 스킬인가요

가장 유용한 곳은 맞습니다. 이 스킬이 examples/ai-functions/src/의 예제 분류 체계에 맞춰 설계되어 있기 때문입니다. 다만 자신의 예제 저장소에 패턴 참고용으로 활용할 수도 있습니다. 단, 이 구조를 맞추는 것이 중요하지 않다면 가치가 떨어집니다.

이 스킬은 초보자도 쓰기 쉬운가요

네, 무엇을 시연하고 싶은지는 이미 알고 있다는 전제라면 초보자에게도 도움이 됩니다. 목표를 적절한 예제 카테고리로 좁혀 주기 때문입니다. 반면 텍스트 생성, 구조화 생성, 임베딩, agent, middleware 중 무엇을 써야 할지 아직 결정하지 못한 단계라면 초보자 친화성은 떨어집니다.

단순한 코딩 요청보다 더 잘하는 점은 무엇인가요

가장 큰 장점은 저장소 적합성입니다. develop-ai-functions-example은 구조화 출력 예제를 일반 텍스트 폴더에 넣는다든지, 스트리밍 데모에 비스트리밍 API를 쓴다든지, 관련 없는 앱 코드를 붙여 fixture를 과하게 키운다든지 하는 실수를 줄이는 데 강합니다.

언제는 develop-ai-functions-example을 쓰지 말아야 하나요

다음이 필요하다면 이 스킬은 적합하지 않습니다.

  • 프로덕션 앱 아키텍처
  • UI 통합 가이드
  • 일반적인 AI SDK 튜토리얼
  • 저장소를 넘나드는 리팩터링 조언
  • 예제 생성을 넘어서는 평가 또는 벤치마킹 전략

의도적으로 범위를 좁게 잡은 스킬입니다.

provider를 먼저 정확히 알아야 하나요

항상 그런 것은 아닙니다. 하지만 하나를 지정하면 결과물 품질이 더 좋아집니다. 아직 모른다면, 주변 예제에서 이미 쓰고 있는 provider를 사용해 달라고 요청하세요. 그러면 생성된 파일을 기존 저장소 패턴과 맞춰 검증하기가 훨씬 쉬워집니다.

새 예제뿐 아니라 기존 예제 수정에도 도움이 되나요

그렇습니다. 기존 예제를 수정하거나 더 단단하게 다듬을 때도 유용합니다. 특히 SDK function을 바꾸고 싶을 때, provider를 교체할 때, 재현 예제를 더 단순하게 만들고 싶을 때, 혹은 파일을 올바른 카테고리에 맞게 정렬하고 싶을 때 효과적입니다.

develop-ai-functions-example 스킬을 더 잘 활용하는 방법

저장소의 구체적인 대상 위치를 지정하세요

가장 효과적인 개선 방법은 정확한 대상 폴더와 function을 함께 적는 것입니다. 예를 들어:

약한 요청:

  • “Add an example for object extraction.”

강한 요청:

  • “Use develop-ai-functions-example to add a minimal generateObject() example under examples/ai-functions/src/generate-object/ that extracts invoice fields from plain text and prints validated JSON.”

두 번째 요청은 API 선택과 파일 위치에 대한 모호함을 없애 줍니다.

출력 목적을 첫 문장에서 밝히세요

사용자가 가장 궁금해하는 것은 이 예제가 지원 여부를 입증하려는 것인지, 사용법을 가르치려는 것인지, fixture 역할을 하려는 것인지입니다. 프롬프트 첫 문장에 넣어 두세요. 이 결정에 따라 코드 형태가 달라지는 경우가 많습니다.

첫 초안에서 과설계를 막으세요

흔한 실패 패턴은 쓸데없는 wrapper, 앱 scaffolding, 관심사의 혼합이 들어간 응답을 받는 것입니다. 아래 조건을 명시적으로 요청하세요.

  • minimal code
  • one responsibility
  • no UI
  • no framework setup
  • only essential comments

이렇게 해야 예제가 examples tree에 맞는 상태를 유지하고, 작은 앱처럼 커지는 것을 막을 수 있습니다.

로컬 패턴을 따라가라고 요청하세요

develop-ai-functions-example skill의 결과를 개선하려면, 모델에게 주변 예제의 네이밍, import, env handling을 따라 하라고 지시하세요. “best practices”를 요청하는 것보다 이 짧은 지시가 더 중요할 때가 많습니다.

예:

  • “Match the style of sibling files in examples/ai-functions/src/stream-text/ and avoid introducing a new pattern unless required.”

입력과 기대 출력 형태를 구체적으로 적으세요

또 다른 흔한 실패 원인은 데모 로직이 지나치게 모호한 것입니다. 샘플 입력과 기대 출력 형태를 지정하면 예제를 검증하기가 훨씬 쉬워집니다.

더 좋은 프롬프트 세부 정보:

  • 입력 텍스트 또는 payload
  • 기대하는 응답 형태
  • 출력이 streamed, logged, schema-validated 중 무엇이어야 하는지
  • 무엇을 성공으로 볼 것인지

넓히기보다 더 좁혀 가며 반복하세요

첫 초안 이후에는 범위를 넓히기보다 모호함을 제거하는 방식으로 개선하는 것이 좋습니다.

  • “some provider”를 구체적인 provider로 바꾸기
  • “an object”를 스키마로 바꾸기
  • “example script”를 대상 디렉터리로 바꾸기
  • “works”를 테스트 가능한 출력 기대치로 바꾸기

develop-ai-functions-example에서 가장 좋은 반복 경로는 보통 기능을 더하는 것이 아니라 범위를 더 명확히 좁히는 것입니다.

결과를 채택하기 전에 카테고리 적합성을 확인하세요

결과를 유지하기 전에 아래를 확인하세요.

  • 사용한 function에 맞는 폴더가 맞는가?
  • 검증용으로 충분히 최소 구성인가?
  • 핵심 동작 하나를 분명하게 보여 주는가?
  • maintainer가 봤을 때 왜 여기에 있어야 하는지 이해할 수 있는가?

아니라면 코드부터 고치기보다 프롬프트를 먼저 수정하세요. 대개 그쪽이 더 빠른 해결책입니다.

provider와 환경 변수 전제를 프롬프트에 넣으세요

예제가 credential이나 provider 특화 동작에 의존한다면, 그 점을 직접 적어 주세요. 그렇지 않으면 모델이 겉보기에는 그럴듯하지만 저장소에서 실제로 실행하기 어려운 코드를 내놓을 수 있습니다.

유용한 추가 정보:

  • 필요한 env var 이름
  • provider SDK 관련 전제
  • 안정성이 중요하다면 model 이름
  • fallback 허용 여부

형제 예제를 합격 기준으로 삼으세요

출력 품질을 높이는 실용적인 방법은, 생성된 파일을 일반적인 코드 기준이 아니라 인접한 형제 예제와 비교해 판단하는 것입니다. 주변 파일보다 유난히 더 복잡하거나, 초점이 흐리거나, 구조가 다르게 느껴진다면 로컬 패턴에 맞춰 다시 작성해 달라고 요청하세요.

평점 및 리뷰

아직 평점이 없습니다
리뷰 남기기
이 스킬의 평점과 리뷰를 남기려면 로그인하세요.
G
0/10000
최신 리뷰
저장 중...