좋습니다.
이번에는 CREW AI + Pydantic 기반 프롬프트 자동 생성 활용 예시를 개조식으로 정리해드릴게요.
🛠️ 프롬프트 자동 생성이란?
-
Pydantic 모델의 필드를 기반으로
에이전트가 사용할 **프롬프트 문장(질문, 요청)**을 자동 생성하는 기능 -
사람이 직접 작성하지 않고 모델 스키마를 보고 필요한 정보를 요청하는 방식
-
입력 누락 방지, 일관된 프롬프트 생성에 유리
🚀 코드 예시
1. 라이브러리 설치
pip install crewai pydantic
2. 입력 모델 (InputSchema) 정의
from pydantic import BaseModel
# 사용자가 입력해야 할 정보 정의
class BlogPostInput(BaseModel):
title: str
keywords: list[str]
target_audience: str
tone: str
3. 에이전트(Agent) 생성
from crewai import Agent
# 에이전트 정의
blog_writer_agent = Agent(
name="BlogWriterAgent",
description="Writes a blog post based on title, keywords, target audience, and tone.",
input_schema=BlogPostInput,
auto_generate_prompt=True, # ✅ 자동 프롬프트 생성 활성화
)
-
auto_generate_prompt=True설정이 핵심입니다.
4. Task 정의 및 Crew 구성
from crewai import Task, Crew
# 에이전트에 맡길 작업
blog_task = Task(
agent=blog_writer_agent,
description="Create an engaging blog post from the given inputs."
)
# 에이전트 + 작업으로 팀 구성
blog_crew = Crew(
agents=[blog_writer_agent],
tasks=[blog_task],
process="sequential"
)
5. 입력값과 함께 실행
# 입력 데이터
input_data = {
"title": "Top 10 AI Trends in 2025",
"keywords": ["AI", "machine learning", "future tech"],
"target_audience": "tech enthusiasts",
"tone": "informal"
}
# 실행
result = blog_crew.run(inputs=input_data)
print(result)
📋 프롬프트 자동 생성 흐름
| 단계 | 설명 |
|---|---|
| 1 | Pydantic 필드를 읽음 (title, keywords, target_audience, tone) |
| 2 | CREW AI가 이 정보를 요구하는 문장(prompt)을 자동 생성 |
| 3 | 생성된 프롬프트를 LLM(언어 모델)에 전달 |
| 4 | 답변을 받아 결과 반환 |
📌 주의사항
-
input_schema가 있어야auto_generate_prompt가 작동합니다. -
description필드를 추가로 달아주면, 더 구체적이고 자연스러운 프롬프트가 만들어질 수 있습니다. -
수동 프롬프트 작성이 필요 없으니 빠르게 개발할 수 있습니다.
✨ 이 기능의 활용 포인트
-
에이전트 수가 많아질 때 → 빠른 프로토타이핑
-
비개발자 협업 시 → 입력 명세만 알려주면 바로 프롬프트 생성 가능
-
모듈화된 시스템 → 하나의 입력 모델을 다양한 에이전트에서 재활용
추가로,
"수동으로 커스텀 프롬프트 + 일부 자동 생성 섞는 고급 패턴" 도 설명해드릴까요?
(진짜 실무에서는 이 방식도 많이 씁니다!) 🚀
댓글 없음:
댓글 쓰기