코딩 에이전트
코딩 에이전트 (코드 작성·실행)
CrewAI 에이전트는 이제 코드를 직접 작성하고 실행할 수 있는데요, 이런 능력이 특히 계산이나 프로그래밍이 필요한 태스크에서 문제 해결력을 크게 키워줘요. 에이전트를 만들 때 allow_code_execution=True만 켜면 내부적으로 코드를 실행하는 도구가 붙어요. 다만 기본값이 False라서 명시적으로 켜 줘야 한다는 점, 그리고 더 강력한 모델을 쓰는 편이 좋다는 점을 기억해 두면 좋아요.
출처: 공식문서
본문
코드 실행 활성화
에이전트를 생성할 때 allow_code_execution 파라미터를 True로 설정하면 코드 실행이 켜져요.
from crewai import Agent
coding_agent = Agent(
role="Senior Python Developer",
goal="Craft well-designed and thought-out code",
backstory="You are a senior Python developer with extensive experience in software architecture and best practices.",
allow_code_execution=True
)
allow_code_execution 파라미터는 기본값이 False예요.
중요 고려 사항
- 모델 선택: 코드 실행을 켤 때는 Claude 3.5 Sonnet, GPT-4 같은 더 유능한 모델을 권장해요. 이런 모델은 프로그래밍 개념을 더 잘 이해하고 올바르고 효율적인 코드를 만들 가능성이 높아요.
- 오류 처리: 코드 실행에는 오류 처리가 포함돼요. 실행된 코드가 예외를 던지면 에이전트는 오류 메시지를 받고 코드를 고치거나 대안을 제시할 수 있어요.
max_retry_limit파라미터(기본값 2)가 태스크의 최대 재시도 횟수를 제어해요. - 의존성: 코드 실행을 쓰려면
crewai_tools패키지를 설치해야 해요. 설치돼 있지 않으면 에이전트가"Coding tools not available. Install crewai_tools."같은 info 메시지를 남겨요.
코드 실행 프로세스
코드 실행이 켜진 에이전트가 프로그래밍이 필요한 태스크를 만나면 이렇게 진행돼요:
- 태스크 분석(Task Analysis): 에이전트가 태스크를 분석해 코드 실행이 필요하다고 판단해요.
- 코드 작성(Code Formulation): 문제를 풀기 위한 파이썬 코드를 작성해요.
- 코드 실행(Code Execution): 코드가 내부 코드 실행 도구(
CodeInterpreterTool)로 전송돼요. - 결과 해석(Result Interpretation): 에이전트가 결과를 해석해 응답에 반영하거나 이후 문제 해결에 사용해요.
예제 사용법
코드 실행이 가능한 에이전트를 만들고 태스크에서 사용하는 전체 예시예요.
from crewai import Agent, Task, Crew
# Create an agent with code execution enabled
coding_agent = Agent(
role="Python Data Analyst",
goal="Analyze data and provide insights using Python",
backstory="You are an experienced data analyst with strong Python skills.",
allow_code_execution=True
)
# Create a task that requires code execution
data_analysis_task = Task(
description="Analyze the given dataset and calculate the average age of participants.",
agent=coding_agent
)
# Create a crew and add the task
analysis_crew = Crew(
agents=[coding_agent],
tasks=[data_analysis_task]
)
# Execute the crew
result = analysis_crew.kickoff()
print(result)
이 예시에서 coding_agent는 파이썬 코드를 작성·실행해 데이터 분석 태스크를 수행해요.