시스템 구성
사용자에게 상품을 추천하는 시스템을 Multi Agent로 구현하려고 합니다.사용자가 "벗꽃차를 추천해줘" 라고 입력하면, 사용자의 의도를 파악해서 (Intent_agent)
상품 목록에서 상품을 선택하고(product_agent) 이것을 추천하는 comment를 담아서 제안하는(propose_agent) 일련의 과정을 sequence_agent 로 만들어서 진행하려고 합니다.
그런데 이것을 제가 코딩하기가 싫더라구요. 암요. 저는 엄청 게으른 사람이라..
하려고 하는 일을 명확히 정의
2-1. 상품리스트가 담긴 json을 chatGPT에게 넣어주고 이것으로 상품을 추천해주는 agent workflow에 대해서 여러가지 의견을 나누었습니다.
2-2 마지막에 해당 내용으로 google adk와 A2UI를 이용해서 프로젝트를 할수 있도록 PRD, TRD, Agent_description을 마크다운으로 만들어 달라고 했습니다.
Skill로 PM Agent, DEV Agent, TESTER Agent를 만듬
원래는 TASKS.md를 만들고 내가 하나씩 진행했는데, 왠지 PM에게 시키고 싶더군요.
이 일을 내가 시킬 수 있는 PM AGNET가 필요해 PM Agent를 하나 만들어줘. PM은 이 프로젝트에 대한 TASK 리스트를 만들고, DEV와 TESTER를 Agent를 오케스크레이션 시키는 역할을 해. PM Agent, DEV Agent, TESTER Agnet 를 모두 Skill로 만들어주고, 필요한 workflow를 지정해줘.
라고 Antigravity에 요청하니,
와 같이 만들어 주었습니다.
저에게 Team이 생겼네요.
@pm 프로젝트 TASKS 만들어줘.라고 해서 TASKS.md를 만들고 하나씩 단계별로 만들어 갔습니다.
google ADK 로 Agent 만들기
아무런 참조를 안넣었더니, python으로 이상한 class를 만들고서 Agent라고 우기길래.
https://github.com/google/adk-docs/tree/main/docs 참조 해서 agent 코드를 작성하라고 함sequence agent로 처음에는 연결하지 않길래 연결해 달라고 요청함.
product agent에게 필요한 tool도 알아서 만들어줌.
어도비 어도비 어도비 어도비 어도비의 스크린샷
adk web으로 동작을 확인하면서 진행중임.
배운 점
1. 완벽한 개발팀 skill이나 agent team이 있어야 한다고 생각했지만, 다른 사람들이 짜놓은 코드들은 나에게 맞지 않았다.
오히려 하려고 하는 것을 명확하게 하고, Team을 skill로 만드는 것이 나에게 더 맞는 것 같다.
2. TASKS.md를 먼저 만들고, 하나씩 기능을 만들면서 테스트를 진행하니 혼란스럽지 않고, LLM이 잘못 코드를 짜도 바로 잡기가 쉬웠다.
3. 이제는 코드 한줄 안짠다. 구조를 짠다.