에이전트 서비스를 만들려고 한다.
최근에 에이전트 서비스에 관련된 스터디도 하고 회사에서도 이야기를 시작하고 있다.
다시 스프링 처음 배우던 때처럼, 초보자의 마인드로 접근해 보자.
블로그 글에 일기처럼 기록하면서 개인적인 성장에 집중해 보자.
3년 전 게시판을 처음 만들던 그 때처럼, ... (지금 보니 진짜 엉망이었네..)
https://devstudy1413.tistory.com/42
먼저, 기획이 필요하다.
개인적으로 랭그래프를 다뤄보니까 적당히 무엇을 할 수 있을지 상상이 되는데,
다른 동료, 다른 직군들과 이야기했을 때 에이전트가 뭔지, 뭘 할수 있는지 아는 사람도 별로 없고 설명하기도 어려웠다. (관심있는 사람은 많았다.)
그만큼 초기 단계고 시장에는 개발자도, 기획자도 공급이 없는 상태일 것이다. (직군이 나뉘는게 의미가 있을까?)
스터디에서 goover 라는 서비스를 소개받았는데, 이런걸 벤치마킹하면 좋겠다는 생각도 들었다.
lovable 을 통해 기획을 해보았다.
자연어로 적은 서비스 설명 to UI 프로토타이핑에 매우 좋은 도구인것 같다.
feature 단위로 기능을 떠올리고, lovable 로 기획하고, cursor 로 프로토타이핑을 하면 poc 사이클을 돌릴 수 있을 것이다.
이런 식으로 4~5개 정도 서비스를 찍어보고 그 도메인 고유의 문제를 기법을 통해 해결해 보면 노하우가 쌓이지 않을까?
https://wikidocs.net/262595
Agentic rag 기법, 이걸 읽었는데 아직 하나도 모르겠다.
https://www.deeplearning.ai/the-batch/issue-305/
Andrew Ng 의 글을 봤다. 요약하자면 GenAI 시대가 왔으며 누구의 허락도 받지 말고 만들어라 !
개인적으로 이분의 강의를 처음 듣고 컴공을 진입했는데, 지금도 등대같은 분이다.
러닝 랭체인 서적 읽기
에이전트 아키텍처는 tool calling, CoT 기법을 활용해 구현한다.
도구가 너무 많을 경우 성능이 저하되는데, 이 경우 RAG 를 통해 현재 쿼리에 적합한 툴을 미리 선별한 후, 전체 툴 집합 대신 선별된 툴만 LLM 에 전달하면 된다. (Grafana 에이전트 만들 때 고민하던 부분이다.)
에이전트 개발 방법론은 없을까?
Observability
- 그래프가 여러 노드로 구성되었을 때, 어느 노드에서 시간이 얼마나 걸리는지, llm 호출은 몇 번 하는지 모니터링할 수 있을까?
- 그래프 호출에 대한 tracking 은 어떻게 하지?
TDD
- 노드가 여러개일 때 end-to-end 로 eval 을 하는것은 비효율적이다.
- 노드별로 테스트는 어떻게 하는지?