언어 장벽을 허무는 AI 번역기, DeepL Translator
페이지 정보
작성자 작성자 : 중후한은하수68 연락처 연락처 : E-mail E-mail : mightytower7@kakao.com 댓글 0건 조회 330회 작성일 26-05-14 15:26본문
지난번까지는 에이전트 하나하나를 위해 정말 코드를 한땀 한땀 새기는걸 이해하느라 고생했는데..CrewAI라는 도구를 서 만드니 너무 쉽다.. 쉬워! 원리를 깨닫고 들어서 그런 것인가, 아니면 도구의 위대함인가. CrewAI는 자유도는 조금 낮을지 몰라도, 직렬 작업을 수행하는 AI 에이전트 팀이 필요할 때 세상에서 가장 편리한 도구가 될 것개발 환경 세팅하기우선 uv로 새로운 프로젝트 파일을 만들고- 가라, uv init ! Cursor로 새로운 프로젝트 파일을 곱게 연 다음에, .env 폴더 만들고 나의 소중한 OPENAI API Key연결.그리고 dependecy 에 crewai[tools]>=0.152.0, python-dotenv>=1.1.1"추가하기. 패키지를 풀다가 말로만 듣던 위기 봉착. 파이썬 버전이 너무 최신이라 문제. 3.14는 너무 최신 버전이라 ai translator Crew AI 가 사용하는 핵심 라이브러리들이 아직 준비가 되어있지 않았다. 해서 내 오른팔 Curos AI와 왼팔 제미나이에게 물어물어 pyproject.toml 에 파이썬 요구 버전을 requires-python =>=3.10,<3.13로 변경하고 uv sync를 실행하니 에러없이 설치 완료! (옛날엔 이런 AI 없이 어떻게 개발한거야... 개발자들 대단해) 맨 위 import traceback 는 혹시 에러가 났을 때 그 원인을 아주 상세하게 추적(Trace)해서 보여주는 용도.env에 있는 API 키를 가져오기 위한 dotenvcrewai에서 에이전트, 태스크, 크루를 만들어낼 패키지들 밑에 AI Agent에게 쥐어주려고 손수 만든 툴(함수)까지 함께 임포트하면 끝!AI 크루 만들기데코레이트를 써서 아주 쉽게 만들었다. class로 crewbase를 하나 만들어주고, ai translator 그 밑에 여기에 들어갈 agents, tasks, crew를 정의해주면 된다. AI Agent 를 이루는 요소들 정의하기@CrewBase ... : AI 에이전트 팀을 만드는 설계도(본부) 라는 선언@가 붙는 것들을 '데코레이터라고 하는데, 이 복잡한 코드 없이 자동으로 하위에 있는 값들을 정의하고 필요한 능력들을 자동으로 붙여준다고 생각하면 됨예를 들어 데코레이터 덕분에 agents.yaml과 tasks.yaml에 적어둔 설정값을 별도의 복잡한 코드 없이도 자동으로 불러와서 사용할 수 있게 되는 마법의 명찰@Agent ... : Agent를 정의할 때 붙여주는 명찰YAML 파일에 적어둔 Agent 의 목표, 역할, 백그라운드를 자동으로 연결config=self.agents_config[...]: YAML 파일에서 설정한 이 일꾼의 성격과 목표를 자동으로 가져옴tools=[count_letters]: ai translator 특히 카운터 에이전트에게는 직접 만든 함수 툴을 쥐어주기@Task ... : 할 일을 정의할 때 붙여주는 명찰 YAML 파일에 적어둔 상세한 업무 내용(Description)과 결과물 규격(Expected Output)을 자동으로 연결@Crew... : 이제 팀을 최종적으로 조립하는 단계agents =self.agents: 명찰(@agent)을 단 일꾼들을 모두 모으기 tasks =self.tasks: 지시서(@task)를 순서대로 정리verbose =True: AI Agent가 실행하는 로그들을 터미널에 모두 띄워줌kickoff: 임무 투입 지시 kickoff(inputs={sentence": ...})는 CrewBase에 첫 번째 일거리를 던져주는 신호탄입력한 문장이 에이전트 팀에게 전달되면서, 번역하고 다듬고 글자 수를 세는 일련의 과정이 시작YAML ai translator 파일로 agent, task 속성 작성하기config 폴더를 추가해서 그 안에 agents.yaml, tasks.yaml 파일을 만든다.그 안에서 각 agent와 task를 정의하게 되는데, 파이썬 코드와 프롬프트를 분리해서 관리하기 위함이다. 나중에 에이전트의 성격을 바꾸고 싶을 때, 파이썬 코드를 건드릴 필요 없이 YAML 파일의 텍스트만 고치면 되게.각 agent와 task, crew를 정의할 때는 필수로 기재해야하는 속성값이 있는데, 이는 crewai 홈페이지에 나와있다. ※ 참고로, yaml 파일을 만들기 싫다면 속성은 아래 처럼 파이썬에 같이 작성해도 문제는 없다. 툴 만들기 툴이 왜 필요한가, 천재만재 AI가 있는데.AI 에이전트는 언어 모델이기 때문에 생각은 잘하지만, 정확한 데이터 확인, 프로그램 실행 같이 실수가 잦거나 할 수 없는 일들을 만났을 때, 할 수 없는 에이전트가 믿고 ai translator 쓸 수 있는 백과사전 같은걸 쥐여주는 것이 바로 툴(Tool)tools.py 파일을 새로 만들고, 거기에 crewai.tools 패키지 일부를 임포트해서 @tool 데코레이트를 달아준 뒤 이 기능에 대한 설명을 써주고 return 값을 파이썬 함수로 정의했다. "": 어떨 때 이 도구를 써야할지를 에이전트에게 알려주는, 에이전트에게 보내는 사용 설명서파이썬의 내장 함수 len을 이용해 문장의 길이를 재고, return은 계산된 값을 에이전트에게 알려주기는 함수결과 짜잔이제 파이썬 코드를 실행하면, 터미널에 촤르륵.I'm Jeina and I like to develope AI Agents 를 한글로 번역하고-다시 일본어로 번역하면서, 한글 발음을 기재해주고-쥐어준 툴을 사용해서 기특하게 글자수를 세어낸다. 맞겠지..? 맞을거야...처음 사용해본 CrewAI :) 흐뭇하구나.
