ElizaOS를 좀 더 딥하게 다루기 위해 아래와 같은 내용을 다룬다.
이번 글에서는 ElizaOS의 Action과 Evaluator가 어떤 역할을 하는지, 어떻게 작성하는지를 실제로 코드를 보며 스터디해본다. 또한 이를 토대로 커스텀 Plugin을 만들어 나의 Agent에 다양한 기능을 붙여보자.
먼저, 간단한 다이어그램을 통해 각 컴포넌트가 어떻게 동작하는지 알아보자.

여기서는 에이전트에게 “나 두들 몇번 홀더야” 라고 명령하면 프로필 이미지를 추출하여 응답하는 에이전트 플러그인을 만들어보려고 한다.
이전 글에서도 한번 언급했듯, LLM 모델 자체로는 어떤 “기능”을 달기 어렵다. 물론 각 AI model provider(OpenAI 등)에서 여러 Function Call 기능 등을 제공하긴 하지만, ElizaOS에서도 플러그인을 통해 “기능”을 구현할 수 있도록 만들었다.
그 중 에이전트가 직접 실행할 기능의 로직을 Action이라고 한다.
이번 예제에서 에이전트가 실행할 Action의 로직은 두들 NFT의 이미지 주소를 가져오는 것이다. 이를 위해 먼저 Alchemy NFT metadata API를 사용하기로 했다.
https://github.com/boohyunsik/eliza-starter/blob/example/src/character.ts#L169