2025년 6월 24일 화요일

프롬프트 자동 생성

 좋습니다.

이번에는 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 필드를 추가로 달아주면, 더 구체적이고 자연스러운 프롬프트가 만들어질 수 있습니다.

  • 수동 프롬프트 작성이 필요 없으니 빠르게 개발할 수 있습니다.


✨ 이 기능의 활용 포인트

  • 에이전트 수가 많아질 때 → 빠른 프로토타이핑

  • 비개발자 협업 시 → 입력 명세만 알려주면 바로 프롬프트 생성 가능

  • 모듈화된 시스템 → 하나의 입력 모델을 다양한 에이전트에서 재활용


추가로,
"수동으로 커스텀 프롬프트 + 일부 자동 생성 섞는 고급 패턴" 도 설명해드릴까요?
(진짜 실무에서는 이 방식도 많이 씁니다!) 🚀

댓글 없음:

댓글 쓰기