Microsoft autogen 사용법
사용 방법은 github의 codespace 을 통해 사용해 보거나 파이썬 패키지 pyautogen 을 설치해서 사용할 수 있다.
나는 codespace 를 설치해서 웹에서 사용한다.
이런 식으로 vscode 와 유사한 개발 환경에서 사용할 수 있다.코드스페이스가 VisualStudio Code를 사용해서 만들어졌기 때문이다. 이 코드스페이스 내에 ipython 노트북을 설치해서 사용한다.
사용 방법
OAI_CONFIG_LIST_sample 을 /notebook 폴더로 옮긴다. 그리고 파일 이름을 OAI_CONFIG_LIST 로 수정한다. 그리고 여기에 openai api key 를 세팅하면 된다. (azure openai api key 는 필요할 때만 세팅하면 된다.)
마지막으로 첫줄의 주석을 지우면 사용 준비가 완료된다!
notebook 에 있는 파일들의 기록된 실행 결과를 보거나 실행을 해보며 익히면 된다. 참고로 실행 시 GPT-4를 사용하기 때문에 비용에 유의 하자.
테슬라와 메타의 주식값 비교하기
기본적인 task 를 입력하면 이를 기반으로 실행한다. 이 예시는 스스로 실행 계획을 세우고 필요할 경우 파이썬 코드를 실행하고 해당 결과를 반영할 수 있다. 또 만약에 에러가 났을 경우 원인을 파악해서 수정할 수 있다. 위의 사진에서는 심볼을 FB로 해서 에러가 났는데 META 로 스스로 고쳐서 다시 실행한다.
이렇게 여러 번 스스로 실행을 하며 마지막에는 차트를 그림으로 표시해 준다.
자율 에이전트의 기본적인 모습을 보여 준다.
세부 계획 세우기
실패 시 재실행하여 반영하기 (반성 모드)
도구 사용하기 (코드 실행 등)
연속 실행 (필요 시 인간의 피드백)
autogen의 특징은 다른 agent 들의 결합, 인간의 개입, 여러 도구를 엮는 것이다. 아마도 AutoGPT와 유사한 모습이 많이 보인다.
스스로 체스 두기
오토에이전트의 모습을 좀 더 살펴 보기 위해서 예제를 하나 더 살펴 보자.
템플릿의 LLM에 체스에 대한 프롬프트를 제공한 뒤 각 플레이어의 턴에 맞춰 체스 보드를 디스플레이해 주는 코드이다. autogen/notebook/agentchat_chess.ipynb at main · microsoft/autogen
sys_msg_tmpl = """Your name is {name} and you are a chess player.
You are playing against {opponent_name}.
You are playing as {color}.
You communicate your move using universal chess interface language.
You also chit-chat with your opponent when you communicate a move to light up the mood.
You should ensure both you and the opponent are making legal moves.
Do not apologize for making illegal moves."""
이런 식으로 번갈아 가면서 체스를 둔다. LLM과 기존 코드의 결합으로 하나의 워크플로우를 만들어 낼 수 있다.
어디까지 발전할지 참 놀랍다. 마이크로소프트의 개발력은 참 대단한 것 같다. 역시 대기업의 파워라는 건가...