채널 아이콘
AI Engineer 구독자 99,800명

챕터 정보가 없습니다.

안녕하세요, 모두 만나서 반갑습니다.
제 이름은 아만이고, Arise라는 회사의 AI 프로덕트 매니저입니다.
오늘 발표의 제목은
'제대로 작동하는 AI 배포하기, PM을 위한 평가 프레임워크'입니다.
이번 발표는 사실
우리가 지금까지 계속해온 내용의 연장선상에 있습니다.
레니 팟캐스트 같은
PM 분들과 함께 작업한 콘텐츠들 말이죠.
혹시 손을 들어주실 수 있나요?
레니 팟캐스트를 들으시거나
뉴스레터를 읽어보신 분들 계신가요?
좋네요, 훌륭합니다.
몇 가지 더
청중과의 상호작용을 해보겠습니다.
분위기를 조금 띄워보려고요.
여기 계신 분들 중에 PM이거나 PM을 지망하는 분들이 몇 명이나 되나요?
좋네요, 꽤 많은 분들이 계시네요.
그중에서 본인을 AI 프로덕트 매니저라고 생각하시는 분들은 몇 명이나 되나요?
오케이, 와우! 정말 좋네요.
AI PM이 일반 PM보다 더 많네요.
흥미롭네요.
보통은 AI PM이 일반 PM의 하위 집합인데
질문 순서를 바꿔서 물어봐야겠네요.
어쨌든 정말 좋습니다.
그럼 오늘 우리가 할 일은
제 소개를 간단히 드리고
그 다음에
AI PM들이
AI 애플리케이션을 구축할 때
정말 강력하다고 생각하는
프레임워크들을 다뤄보겠습니다.
제 소개를 조금 해드리자면
저는 기술적 배경을 가지고 있습니다.
실제로 엔지니어링으로 커리어를 시작했고
크루즈에서 자율주행차 작업을 했었습니다.
그곳에 있을 때
자율주행 평가 시스템을 담당하는 PM이 되었습니다.
2018년, 2019년경이었죠.
그 후에 Spotify로 가서
머신러닝 플랫폼과 추천 시스템을 작업했습니다.
디스커버 위클리나 검색 같은 기능들이죠.
임베딩을 사용해서
실제 최종 사용자 경험을
더 나은 것으로 만드는 일이었습니다.
그리고 현재까지 이어져서
Arise에서 약 3년 반 정도 일하고 있고
여전히 평가 시스템을 작업하고 있습니다.
다만 자율주행차 대신에
자동 코드 작성 에이전트를 다루고 있죠.
그리고 Spotify는 실제로 우리 고객 중 하나입니다.
그래서 정말 훌륭한
전 동료들과 작업할 수 있어요.
재미있는 사실은
제가 이전 상사들 모두에게
Arise를 판매했다는 것입니다.
재미있는 사실이죠.
어쨌든 우버, 인스타카트,
레딧, 듀오링고와 같은 훌륭한 회사들과 작업하고 있습니다.
정말 기술적으로 앞서가는
AI 중심 애플리케이션을 구축하는 회사들이죠.
우리는 실제로
랭킹, 회귀, 분류 모델 같은
전통적인 머신러닝 영역에서 시작했고
지금은 생성형 AI와
에이전트 기반 애플리케이션으로도 확장했습니다.
우리가 하는 일은
이러한 회사들, 즉 우리 고객들이
AI 애플리케이션을 구축할 때
그 에이전트와 애플리케이션이
예상대로 작동하도록 하는 것입니다.
이것은 실제로 꽤 어려운 문제입니다.
그 이유 중 상당 부분은
앞으로 다룰 관측가능성이나 평가 같은
너무 빠르게 변하고 있고, 모델들과
툴들, 인프라스트럭처 레이어가
너무 빠르게 변해서 우리에게는
최신 기술에 대해 배우는 방법이자
사람들이 구축하고 있는 유즈케이스에서
나타나는 주요 과제들이 무엇인지
알아보고 그것을 모든 사람에게
도움이 되는 플랫폼과 제품으로 만드는 것입니다.
자, 오늘 다룰 내용입니다.
eval이 무엇이고 왜 중요한지 알아보겠습니다.
실제로 멀티 에이전트 시스템을 사용해
AI 여행 플래너를 구축해보겠습니다.
이 부분은 야심찬 두 번째 항목이죠.
솔직히 말하면, 바로 직전에
코드를 업로드하려고 했는데
제대로 작동할지 안 할지 모르겠지만
한번 시도해보겠습니다. 이것이
워크샵의 인터랙티브 부분이 될 것이고
그 다음에는 우리가 직접
구축할 AI 여행 플래너 프로토타입을
실제로 평가해보겠습니다.
또 다른 빠른 손들기 질문을
해보겠습니다. eval이라는 용어를
들어본 사람이 몇 명이나 있나요? 좋네요.
강연 제목에 있었으니까
좀 중복된 질문이긴 하네요.
실제로 eval을 작성해보거나
실행해본 적이 있는 분이 몇 명인가요?
좋네요, 꽤 많은 분들이 계시네요.
정말 좋습니다. 우리가 할 일은
실제로 그것을 한 단계 더
발전시켜보는 것입니다. LLM을
판사로 사용하는 시스템용 eval 작성에서
시작해서요. eval을 작성해본 적이
없다고 해도 걱정하지 마세요.
그것도 다룰 예정입니다. 하지만 그것을
한 단계 더 발전시켜서 좀 더
기술적이고 인터랙티브하게 만들어보겠습니다.
좋습니다. 이 세션은 누구를 위한 것일까요?
저는 이 다이어그램이 마음에 드는데요,
레니와 저는 AI 제품 관리자들을
위한 교육 콘텐츠를 중심으로
조금 더 협력해 왔습니다.
저는 이것을 올려두었어요. 그를 위해
작은 화이트보드 다이어그램을 만들어서
이렇게 말했죠. '제가 이 분야를
바라보는 방식이 정말 이런 것 같아요.
더닝 크루거 효과에 대한
다이어그램을 본 적이 있을 텐데요.
여기서 떠오른 것이 바로 그것이었습니다.
곡선을 따라 이동하면서
시작 단계에 있을 때는
'AI를 어떻게 사용하지? AI가
내 업무에 어떻게 맞을까?'라고 생각하죠.
솔직히 말해서 몇 년 전에는
우리 모두가 여기에 있었다고 생각해요.
완전히 솔직하게 말하면, 이 자리에
있는 사람들, 특히 PM들의 경우
제품 관리 역할에 대한 기대치가
변하고 있다고 모두 느끼고 있다고 생각합니다.
그래서 AIPM이라는 개념이
등장하고 있는 거죠. 이해관계자들,
경영진들, 고객들로부터의
기대치 말이에요. 다른 사람들도
이렇게 느끼는지 모르겠지만
저는 확실히 전달해야 하는 것에 대한
기준이 높아졌다고 느껴요.
특히 AI 엔지니어와 함께
일할 때, 그들이 제가
가져다주기를 기대하는 것들,
요구사항 측면에서나
에이전트 시스템이 어떻게
보여야 하는지 명시하는 것에서나
변했어요. 한 단계 더 발전했죠.
완전히 다른 기능을 하게 되었습니다.
기능이 다릅니다. 저 역시
기술 PM이었던 사람으로서도 말이죠.
그래서 저 자신도 이런 여정을 겪었다고 느꼈습니다.
이것은 아이러니한데요, 제가 평가 회사에서
일하고 있음에도 불구하고,
제가 업계 선두에 있을 거라고
생각했지만 실제로는
여러분과 같은 여정을 겪었습니다.
제 업무에 AI를 활용하려고 노력하고,
AI 도구를 사용해 프로토타입을 만들어
단순한 구글 문서 요구사항보다는
좀 더 구체적인 것으로
엔지니어링 팀에 제시하려고 했죠.
프로토타입을 만든 후에
새로운 UI 워크플로우를
구축해보자고 했을 때,
그때부터 어려움이 시작되었습니다.
제품을 실제 운영 환경에 배포하는 방법,
특히 제품에 AI나 LLM, 에이전트가
포함되어 있다면 말이죠. 바로 이 지점에서
자신감이 급격히 떨어지고
도구의 부족과
이런 시스템을 안정적으로 구축하는
방법에 대한 교육의 부족을
깨닫게 됩니다. 그런데 왜 이것이
중요할까요?
LLM이 환각을 일으킨다는 사실에서
정말 중요한 시사점을 얻을 수 있습니다.
우리 모두 알고 있듯이 그렇습니다.
여기 상단의 두 인용문을
정말 주목해서 봐야 합니다.
OpenAI의 최고제품책임자인 Kevin이 있고,
Anthropic의 CPO인 Mike도 있습니다.
이것은 아마 LLM 시장의
95% 정도를 차지할 것입니다.
그리고 이 두 회사의 제품 리더들이
그들의 모델이 환각을 일으키며
평가를 작성하는 것이 정말 중요하다고
여러분에게 말하고 있습니다.
이 인용문들은 실제로 작년 11월
Lenny 컨퍼런스에서 그들이 함께
발표한 내용에서 나온 것입니다.
제품을 판매하는 당사자들이
그것이 신뢰할 수 없다고 말할 때,
우리는 그들의 말을 들어야 합니다.
게다가 같은 회사 창립자인
Greg Brockman도 있고,
평가가 AI 스타트업의 진정한
해자로 떠오르고 있다고 말하는
Gary도 있습니다. 저는 이것이
중요한 전환점 중 하나라고 생각합니다.
사람들이 이유 있어서
이런 말을 하기 시작했다는 것을
깨닫는 순간입니다. 왜 그럴까요?
자율주행 분야에서 배운
많은 교훈들이 이 AI 분야에도
적용되기 때문입니다.
또 다른 청중 질문입니다.
웨이모를 타본 적 있는 분?
꽤 많을 것 같네요.
여기는 샌프란시스코니까요.
타지에서 오신 분들은 웨이모를
한 번 타보세요. 이것은 AI의
실제 사례입니다.
실제 물리적 세계에서의
AI 사례입니다. 그리고 이런 시스템이
작동하는 방식의 많은 부분이
오늘날 AI 에이전트 구축에도
적용됩니다.
좋습니다. 좀 더 넓은 시각에서 보고
기술적인 내용으로 들어가겠습니다.
노트북들이 나왔네요.
분명히 코드도 작성하고
실습도 해볼 예정입니다. 하지만 먼저
소프트웨어 테스팅과 매우 유사하지만
몇 가지 핵심적인 차이점이 있습니다.
그 핵심 차이점들은 다음과 같습니다.
소프트웨어는 결정론적입니다.
1 더하기 1은 2죠.
LLM 에이전트는 비결정론적입니다.
에이전트에게 1 더하기 1이 3이라고 설득하면
맞습니다라고 말할 거예요.
1 더하기 1은 3입니다.
맞죠? 우리 모두 겪어봤습니다.
이러한 시스템들은 매우 조작하기 쉽다는 것을 봤죠.
그리고 여러 경로를 취할 수 있는 LLM 에이전트를 구축한다면
그건 결정론적인 단위 테스트와는
상당히 다릅니다.
많은 사람들이
에이전트 시스템에서 환각을 제거하려고 한다는 사실을 생각해보세요.
문제는 실제로는 에이전트가
적절한 방식으로 환각하기를 원한다는 것입니다.
그리고 그것이 테스트를 훨씬 더 어렵게 만들 수 있습니다.
특히 신뢰성이 매우 중요할 때 말이죠.
그리고 마지막으로
통합 테스트는 기존 코드베이스와 문서에 의존합니다.
에이전트의 정말 핵심적인 차별화 요소는
데이터에 의존한다는 것입니다.
기업에 에이전트를 구축한다면
다른 것 대신 당신의 에이전트를 사용하는 이유는
에이전트 아키텍처 때문일 수도 있지만
큰 부분은 에이전트 위에 구축한
당신의 데이터 때문일 것입니다.
그리고 이는 평가에도 적용됩니다.
좋습니다. 평가란 무엇인가요?
저는 평가에 들어가는 네 가지 부분으로 나눠 봅니다.
쉬운 기억법 같은 거죠.
이 괄호들이 조금 어긋나 있지만
아이디어는 역할을 설정하는 것입니다.
기본적으로 에이전트에게
달성하고자 하는 작업이 무엇인지 알려주는 것입니다.
여기 중괄호에서 볼 수 있는
약간의 컨텍스트를 제공합니다.
그리고 그것은 기본적으로
결국 그냥 텍스트입니다.
에이전트가 평가하기를 원하는 텍스트죠.
에이전트에게 목표를 제공합니다.
이 경우에는
에이전트가 텍스트가 독성인지 아닌지를 판단하려고 합니다.
이는 독성 데이터셋이 대량으로 있기 때문에
고전적인 예시입니다.
우리가 평가를 구축하는 데 사용하는
텍스트 분류 데이터셋 말이죠.
하지만 주목할 점은
비즈니스 케이스에서 어떤 유형의 목표든 될 수 있다는 것입니다.
독성일 필요가 없습니다.
평가를 위해 이 에이전트를 만든
어떤 목표든 될 것입니다.
그리고 용어와 라벨을 제공합니다.
좋은 것과 나쁜 것의 몇 가지 예시를 주고
좋음 또는 나쁨을 선택하는 출력을 제공합니다.
이 경우에는 독성, 비독성입니다.
마지막 내용에서 잠시 멈추겠습니다.
정말 오해가 많다고 생각하기 때문에
FAQ들을 중간중간 엮어서 말하려고 하지만
마지막에 질문 시간이 있을 것이고
인터랙티브하게 진행하고 싶어서
아마 더 길게
Q&A 세션을 진행하겠습니다.
이런 질문들이 있는 분들을 위해서요.
하지만 자주 받는 질문 중 하나는
왜 안 되는지에 대한 것입니다.
정말 오해가 많다고 생각해서
FAQ들을 중간중간 엮어보려고 하지만
마지막에 질문 시간이 있을 것이고
이것이 인터랙티브하게 되길 바라서
Q&A 세션을 좀 더 길게 진행할 예정입니다.
이런 질문들이 있는 분들을 위해서요.
하지만 자주 받는 질문 중 하나는
Q&A 세션을 좀 더 길게 할 예정입니다
이런 질문들이 있는 분들을 위해서요
하지만 저희가 자주 받는 질문 중 하나는
왜 에이전트에게 점수를 달라고 하거나
LLM이 점수를 생성하게 할 수 없냐는 것입니다
그 이유는 오늘날에도
박사 수준의 LLM이 있음에도 불구하고
여전히 숫자를 잘 처리하지 못하기 때문입니다
그래서 여러분이 해야 할 일은
실제로 토큰이 무엇인지
LLM에서 토큰이 어떻게 표현되는지의 함수입니다
그래서 실제로는
점수에 매핑할 수 있는 텍스트 라벨을 주는 것입니다
시스템에서 점수를 정말 사용해야 한다면
저희 시스템에서도 그렇게 하는데
라벨을 점수에 매핑합니다
하지만 이건 정말 흔한 질문입니다
아, 왜 그냥
1은 좋고 5는 나쁘게 하거나
그런 식으로 할 수 없냐는 질문을요
그렇게 하면 정말 신뢰할 수 없는 결과가 나옵니다
그리고 실제로 저희에게는 연구가 있습니다
나중에 기꺼이 공유해드릴게요
대부분의 모델로 대규모로
이를 증명하는 연구입니다
좋아요, 이것이 평가가 무엇인지에 대한 내용입니다
참고로 이전 슬라이드에서
언급해야 할 것이 있습니다
이것은 LLM as a judge 평가입니다
다른 유형의 평가도 있습니다
코드 기반 평가 같은 것들이요
코드를 사용해서 텍스트를 평가하는 방식이고
인간 주석도 있습니다
이에 대해서는 나중에 조금 더 다루겠지만
이 시간의 대부분은
LLM as a judge에 할애할 예정입니다
왜냐하면 이것이 정말로
요즘 프로덕션에서 평가를 실행하는
확장 가능한 방법이기 때문입니다
그 이유에 대해서도 나중에 이야기하겠습니다
좋아요, 말이 많았네요. 그럼 vibe로 평가하기에 대해 말해보죠
이건 좀 재미있는데 왜냐하면
모든 사람이 vibe 코딩이라는 용어를 알고 있고
모든 사람이 bolt나 lovable 같은 것들을
사용해봤을 것입니다
여러분은 어떤지 모르겠지만
제가 vibe 코딩을 할 때 보통 느끼는 감정은
음, 좋아 보이는데? 이런 느낌입니다
코드를 보고 있지만
솔직히 AI가 생성한 코드를
얼마나 읽을 건가요?
그냥 이걸 배포해보자는 생각이죠
문제는 프로덕션 환경에서는
정말 그렇게 할 수 없다는 것입니다
모든 vibe 코딩 예시들이
프로토타이핑이거나
뭔가 해키하거나 빠르게
만들려는 것들이라고 생각합니다
그래서 모든 분들께 약간 다른 시각으로
생각해보시도록 도움을 드리고 싶습니다
네, vibe 코딩은 훌륭합니다. 그만의 자리가 있죠
하지만 Vibe로 평가하는 것에서
Thrive 코딩으로 간다면 어떨까요?
제 생각에 thrive 코딩은 실제로
데이터를 사용해서 기본적으로
vibe 코딩과 같은 일을 하는 것입니다
여전히 애플리케이션을 만들지만
데이터를 사용해서 결과에 대해
더 자신감을 가질 수 있습니다
그리고 이 사람이 훨씬 행복해 보이는 것을
볼 수 있습니다. 이건 구글의 이미지 모델을 사용한 건데요. 정말 무섭도록 좋습니다
좋아요. 그럼 thrive 코딩을 해보겠습니다
슬라이드에 대해서는 슬라이드에 액세스하고 싶으시면
슬라이드에는 저희가 다룰 내용들에 대한
링크들이 있습니다
워크샵에서 다룰 내용들입니다.
ai.engineer.slack.com
그리고 슬랙 채널 workshop AIPM을 만들었습니다.
그리고 그곳에 슬라이드를 올려놨다고 생각하는데,
혹시 안 올려놨다면 알려주세요.
>> 알겠습니다. 감사합니다.
좋습니다. 이제 라이브 데모 시간입니다.
이 시점에서, 솔직히 말씀드리면
저장소에 뭔가 문제가 있을 가능성이 꽤 높습니다.
바로 지금까지도 계속 변경사항을 푸시하고 있었거든요.
만약 그렇더라도 스스로 해결할 수 있다면,
requirements 부분에 문제가 있을 것 같은데
자유롭게 진행하세요.
안 되면 나중에 돌아와서
문제를 해결하는 데 도움을 드리겠습니다.
그리고 이 이후에는 저장소의 최신 버전을
올려놓을 것을 약속드립니다.
지금 작동하지 않더라도 한 시간 후에 다시 확인해보세요.
슬랙에 올려놓을게요.
나중에는 작동할 겁니다.
빠르게 진행하다 보니 생기는 일이네요.
왼쪽에는 지침이 있는데
실제로는 제가 작성한 Substack 포스트입니다.
라이브로 진행할 단계들의 무료 목록 같은 것이죠.
그냥 참고 자료이고
오른쪽에는 GitHub 저장소가 있는데
여기서 열어보겠습니다.
실제로 저장소가 두 개 있고
무엇을 평가하고 있는지
그리고 그 위의 프로젝트에 대해 조금 설명한 다음
좀 더 세부적으로 들어가겠습니다.
좋습니다. 이것이 저장소입니다.
주말 동안 이것을 만들었는데
그래서 별로 정교하지는 않습니다.
비록 정교하다고 나와 있긴 하지만 웃기네요.
아, 죄송합니다.
>> 그것을 올릴 수 있나요? >> 아, QR에 연결되어 있지 않나요?
알겠습니다. 이 링크도 여기에 올려놓겠습니다.
여기에 넣어보겠습니다. 좋습니다. 아, 감사합니다.
그리고 발표 중에 질문이 있으시면
언제든지 슬랙에 올려주세요.
언제든 돌아와서 답변할 수 있고
마지막에 시간을 가질 예정이니까
슬랙 채널을 계속 활용해 주세요.
질문을 위해서요.
사람들끼리 서로 도움을 줄 수도 있겠네요.
그리고 누군가 제 requirements를 고쳐주신다면
풀 리퀘스트를 열어주세요. 라이브로 승인하겠습니다.
자, 우리가 하고 있는 일은
우리 회사의 PM 모자를 벗고
AI 여행 계획자 모자를 써보겠습니다.
여기서 아이디어는 이 UI와 에이전트의 정교함에 대해서는
걱정하지 말라는 것입니다.
정말 프로토타입 예제 같은 것이지만
실시간으로 애플리케이션을 구축하고
내부에서 어떻게 작동하는지 이해하는 데는
도움이 됩니다.
우리가 사용할 예제는
실제로 조금 뒤로 돌아가서
기본적으로 제가 가지고 있는 Colab 노트북을 가져왔습니다.
여행 계획을 위한 것인데
그리고 이것을 사용해서
우리가 사용할 예제입니다.
Crew AI를 추적하는 것인데
Langraph 예제를 원한다고 하시면
Crew AI는 아마 들어보지 못하셨다면
앞서 말했듯이 우리가 만든
프로토타입 예제입니다.
하지만 실시간으로 애플리케이션을 구축하는 것은
내부에서 어떻게 작동하는지 이해하는 데 도움이 됩니다.
그래서 사용할 예제는
실제로 조금 뒤로 돌아가서 설명하겠습니다.
기본적으로 여행 계획을 위한
Colab 노트북을 가져왔습니다.
그리고 이것을
사용해서
Crew AI를 추적하고 있었는데 Langraph로 예제를 만들어보고 싶었습니다.
Crew AI는 혹시 모르시는 분들을 위해 설명하면
다중 에이전트 프레임워크입니다.
에이전트의 정의는 기본적으로
LLM과 도구를 결합해서
특정 작업을 수행하는 것입니다.
그래서 제가 한 일은 이 노트북을
기본적으로 커서에 넣고
Crew AI 대신 Langraph를 사용한
UI 기반 워크플로우 예제를 만들어달라고 했습니다.
그리고 우리가 할 일은
챗봇을 만드는 대신
이 폼을 가져다가
폼의 입력값들을 사용해서
빠른 에이전트 시스템을 구축하고
이를 평가에 사용할 예정입니다.
그래서 제가 얻은 결과가 이것입니다.
완벽한 여행을 계획하세요.
AI 에이전트가 놀라운 목적지를
발견하도록 도와드립니다.
목적지를 선택해보죠.
도쿄로 7일간 여행하고 싶다고 해봅시다.
인터넷이 작동한다고 가정하고
잘 되는지 봅시다.
예산을 1000달러로 설정하고
조금 확대해보겠습니다.
그리고 저는 음식에 관심이 있습니다.
모험적으로 만들어보죠.
이 모든 것을 가져다가 ChatGPT에
넣을 수도 있겠지만
내부적으로 이것을 폼 형태로
여러 입력값과 에이전트 기반 시스템으로
만드는 이유는
내부적으로 검색이나 RAG나
도구 호출 같은 것들을 할 수 있기 때문입니다.
그러니까 시스템이
이런 입력값들을 사용해서
반대편에서 저에게 여행 일정을
제공할 거라고 상상해봅시다. 그리고 잘 작동했네요.
네, 이것이 작동했습니다.
여기에 빠른 여행 일정이 있습니다.
특별히 화려하지는 않습니다.
기본적으로 제가 입력 폼으로 준 것과
에이전트가 내부적으로
수행하는 작업입니다.
아침, 오후 등
도쿄에서 일주일 동안
제가 준 예산을 사용한 일정을 제공합니다.
이것이 특별해 보이지 않는 이유는
이걸 가져다가 ChatGPT에
넣을 수도 있기 때문이지만
여기에는 약간의 뉘앙스가 있습니다. 바로 예산입니다.
이걸 다 더해보면
1000달러에 맞추기 위해 수학적 계산과
회계 처리를 하고 있습니다.
정말로 그것을 고려하고 있습니다.
여기서 보시면 꽤 절약적인 예산입니다.
여기서 관심사를 받아들일 수 있습니다.
예를 들어 다른 관심사를 말할 수 있습니다.
사케 테이스팅을 하고 싶다거나
그런 식으로 말하면
여행 일정에 포함시킬 방법을 찾을 것입니다.
하지만 여기서 정말 멋진 점은
이 아래에 있는 에이전트의 힘이
정말 높은 수준의 구체성을
출력에 제공할 수 있다는 것입니다.
그래서 우리가 보여주려는 것은
이것이 단지 하나의 에이전트가 아니라
실제로 여러 에이전트가
이 여행 일정을 제공하고 있다는 것입니다.
그래서 여기서 멈출 수도 있겠죠?
이 정도면 충분하다고 할 수도 있습니다.
코드도 있고요
대부분의 사람들에게는 말이죠. 비브 코딩을 할 때,
이렇게 생각하시죠. '훌륭해, 이것이 내가
원하는 걸 해주네'라고요. 여행 일정을
만들어줬으니까요. 하지만 내부에서는
무슨 일이 일어나고 있을까요? 음, 그리고 이 부분이
제가 Arize라는 저희 도구를 사용할
부분입니다. 저희에게는 Phoenix라는 오픈소스
도구도 있습니다. 참고용으로 지금
여기서 소개해드릴게요.
이것은 Arize의 오픈소스 버전입니다.
Arize와 완전히 동일한 기능을 갖지는
않겠지만, Arize의 많은
설정 흐름과 워크플로우는
동일하게 가지고 있을 것입니다.
참고로 Arize는 정말로
확장성, 보안, 지원을 원하시는 분들과
미래형 워크플로우를 위해 구축되었습니다.
자, 저에게는 여행 계획
에이전트가 있고, 제가 방금 한 작업이
제대로 작동했다면, 확인해보죠.
그리고 우리는... 이것은 라이브 코딩입니다.
그러니까 뭔가 망가질 가능성이
충분히 있죠.
음, 네. 제 최신 추적을 깨뜨린 것 같지만,
여기서 이전 예시가 어떻게
생겼는지 보실 수 있습니다.
그래서 그 시스템이 실제로
어떻게 생겼는지는 기본적으로 이렇습니다.
이 예시들 중 하나를 열어보죠.
여기서 보실 것은
추적(traces)입니다. 추적은 실제로 입력, 출력,
그리고 방금 만든 요청 주변의 메타데이터입니다.
그리고 여기서 예시로 그 추적 중
하나를 열어보겠습니다.
그러면 본질적으로 에이전트들이
이 경우 여러 에이전트들이 취한 일련의 행동들을
보실 수 있습니다. 그 여행 일정을
생성하기 위해 수행한 것들 말이죠.
그리고 정말 멋진 것은 저희가
실제로 이것을 오늘 출시했다는 것입니다.
실제로, 여러분이 이것을
처음 보시는 분들이에요.
정말 멋지죠.
이것은 실제로 코드로 표현된
여러분의 에이전트 표현입니다.
그러니까 말 그대로 제가 방금 위에서 사용한
커서 앱이 기본적으로 커서가
작성하는 데 도움을 준 저의 에이전트 기반
시스템입니다. 그리고 저희 문서를 보내줬을 때,
제가 한 일은 말 그대로 커서에
저희 문서 링크를 주고 '이 에이전트를
얻기 위한 계측을 작성해줘'라고
말했을 뿐이고, 이것이 그렇게
표현된 것입니다. 그래서 저희에게는
플랫폼에 새로운 에이전트 시각화가
있는데, 이것이 기본적으로 시작점을
보여주고 그 아래에 여러 에이전트들이
방금 우리가 한 작업을 수행합니다.
그래서 예산, 지역 경험, 연구 에이전트가
있고 이들이 여행 일정 에이전트로
들어가서 최종 결과나 출력을
제공하고 여기 위에서도 보실 수
있습니다. 그래서 연구, 일정,
예산, 지역 정보를 통해
여행 일정을 생성합니다.
이것 정말 멋지지 않나요?
많은 사람들에게
저희 자신들을 포함해서 이런 에이전트들이
이렇게 시각적인 방식으로 잘 표현될 수
있다는 것이 즉시 명확하지는 않습니다.
특히 코드를 작성할 때는
이것들을 그냥 함수 호출로
생각하게 되죠.
서로 대화하고 있지만, 정말 유용한 것은
에이전트가 호출하는 것들을 전체적인 관점에서 보는 것입니다.
에이전트가 수행하는 호출들을 볼 수 있고
정말 깔끔하게 구분된
예산 에이전트, 현지 경험 에이전트, 그리고 리서치 에이전트의 병렬 호출을 확인할 수 있습니다.
예산 에이전트, 현지 경험
경험 에이전트, 그리고 리서치 에이전트
이 모든 것들이 입력되어
위 내용을 모두 요약하는 여행 계획 에이전트로 전달됩니다.
여기 위에서도 볼 수 있죠.
이런 것들을 트레이스라고 부르고
기술적으로 스팬이라는 요소들로 구성됩니다.
스팬은 기본적으로 작업 단위라고 생각하시면 됩니다.
여기에는 시간 요소가 있는데
해당 프로세스가 완료되는데 걸린 시간과
프로세스의 유형이 포함됩니다.
프로세스의 유형이 무엇인지 말이죠.
여기서 세 가지 유형을 볼 수 있습니다.
에이전트가 있고, 툴이 있습니다.
툴은 기본적으로 데이터를 사용해서
구조화된 데이터로 작업을 수행할 수 있게 해줍니다.
그리고 LLM이 있는데
입력과 컨텍스트를 받아서
출력을 생성합니다.
이것은 실제로 세 개의 에이전트가
네 번째 에이전트로 입력되어
여행 계획을 생성하는 예시입니다.
이것이 우리가 여기서 보고 있는 것입니다.
한 단계 더 깊이 들어가 봅시다.
이것도 멋지고 유용하다고 생각합니다.
이런 시스템들이 어떻게 생겼는지
어떻게 표현되는지 보기 위해 잠시 줌아웃해보겠습니다.
프로덕트 매니저로서
팀에게 돌아가서 물어볼 수 있다는 것은 엄청난 레버리지입니다.
'우리 에이전트가 실제로 어떻게 생겼나요?'
'시스템이 실제로 어떻게 생겼는지
보여줄 수 있는 시각화가 있나요?'
그리고 에이전트에게 여러 입력을 제공할 때
그 출력들은 어디로 가나요?
시스템이 실제로 어떻게 생겼나요?
그 출력들이
다른 에이전트 시스템으로 들어가나요?
시스템이 실제로 어떻게 생겼나요?
시스템이 실제로 어떻게 생겼나요?
이것이
PM으로서 얻을 수 있는 핵심 인사이트 중 하나입니다.
개인적으로 우리 에이전트가
실제로 무엇을 하고 있는지
후드 아래에서 보는 것이 매우 도움이 되었습니다.
여기서 한 단계 더 깊이 들어가 보겠습니다.
여행 계획이 있고
빠르게 살펴보겠습니다.
마라케시, 모로코는
활기차고 이국적인 목적지입니다. 블라블라
정말 길어요, 그렇죠?
실제로 이걸 보고 읽을지 모르겠어요.
좋은 제품 경험처럼
눈에 띄지 않아요.
좋은 제품처럼 보이지 않습니다.
개인적으로 완전히 AI가 생성한 것 같은 느낌이에요.
그래서 여러분이 해야 할 일은
실제로 생각해보는 것입니다. 프로덕트 담당자로서
제품을 반복 개선할 수 있는 방법이 있을까요?
이를 위해 할 수 있는 것은
방금 추적한 그 동일한 프롬프트를
코드에서 정의한 모든 변수와 함께
프롬프트 플레이그라운드로 가져오는 것입니다.
여기에 프롬프트 템플릿이 있는데
기본적으로 동일한 프롬프트 변수들이 있습니다.
UI에서 정의한 것들과 같은
목적지, 기간, 여행 스타일 같은 변수들이죠. 그리고 모든
목적지, 기간, 여행 스타일. 그리고 모든
기간, 여행 스타일. 그리고 모든
이 모든 입력값들이 여기로 들어갑니다.
아래 프롬프트 플레이그라운드에서
어떤 모습인지 보실 수 있습니다.
그리고 여기서 일부 에이전트들의
출력 결과도 보실 수 있습니다.
그리고 여행일정을 생성하는
에이전트에서 나온
최종 여행일정도 있습니다.
자, 이게 왜 중요한지 말씀드리자면,
많은 회사들이 프롬프트 플레이그라운드라는
개념을 가지고 있습니다.
OpenAI도 프롬프트 플레이그라운드가 있죠.
이 용어를 들어보셨거나
사용해보신 분들도 계실 겁니다.
하지만 개발에 도움이 되는
도구를 생각할 때
시각화만 중요한 게 아니라
내부에서 스택이
어떻게 생겼는지 보는 것뿐만 아니라
데이터와 프롬프트를 가져와서
하나의 인터페이스에서
데이터와 프롬프트를 반복적으로
개선할 수 있다는 것이 정말 강력합니다.
목적지를 바꿔볼 수도 있고
변수를 조정해서
이전과 똑같은 프롬프트로
새로운 결과를 얻을 수 있거든요.
이게 정말 강력한 워크플로우라고 생각합니다.
PM 분들을 위한 사고실험으로
이 프롬프트가 실제로
어떤 모습인지 생각해보실 때
프롬프트 작성이
엔지니어의 책임인지 PM의 책임인지 고민해보세요.
만약 여러분이 제품 담당자이고
제품의 최종 결과에
책임을 져야 한다면
프롬프트에 대해서도
어느 정도 통제권을
가지고 싶으실 겁니다.
그래서 경계선이
정말 어디에 있는지 생각해보세요.
단순히 넘겨주기만 하는 건지,
엔지니어가 특정 요구사항을
통합하고자 하는
제품 담당자보다 프롬프트를
더 잘 작성할 수 있는지 말이죠.
그래서 제품 관점에서 이게 정말 유용합니다.
좋습니다. 네, 질문하세요. 이걸 어떻게 처리하나요?
어떻게 이걸 처리하죠?
네.
아, 네 좋은 질문입니다.
뒤에 계신 분의 질문은
툴 콜을 어떻게 처리하는지에 대한 것이었고
정말 날카로운 관찰이었습니다.
에이전트에도 툴이 있다는 거죠.
그리고 이 부분에서 잠시 멈춰서 설명할 필요가 있는데
정말 좋은 포인트거든요.
제가 한 건 프롬프트 템플릿과
변수가 있는 LLM 스팬을 가져온 것인데
적절한 툴을 선택하고
에이전트가 올바른 툴을
선택하는지 확인하고 싶을 수도 있습니다.
이 데모에서는
자세히 다루지 않겠지만
에이전트 툴 호출에 관한
좋은 자료들이 있습니다.
실제로 툴도 포팅해서 가져옵니다.
이 예제에는 없는데
솔직히 말하면 너무 간단한 예제라
그런 거고, 만약 툴 호출 평가를
하고 싶으시다면
제품에서 그런 기능을 제공하고 있고
그에 대한 자료도 있습니다.
관심 있으시면 나중에
연락 주세요.
그 자료도 전체 프레젠테이션으로 보내드릴게요.
좋은 질문이네요.
LLM과 프롬프트만 평가하는 게 아니라
시스템 전체를 평가해야 해요.
모든 하위 구성 요소들까지 포함해서요.
자, 계속 진행해보죠.
이제 프롬프트가 준비됐네요.
이것도 좋지만, 실시간으로 몇 가지
변경사항을 적용해보겠습니다.
모든 분이 보기 쉽도록 최선을 다해보겠지만
현재 환경에서 작업하는 거니까요.
우선 이 프롬프트 버전을 저장하고
'nenge 프롬프트'라고 이름을 짓겠습니다.
이렇게 하면 반복 작업이 쉬워집니다.
버튼 클릭 한 번으로 프롬프트를 복제할 수 있고
사용할 모델도 바꿀 수 있어요.
이건 정말 유용합니다.
이 프롬프트를 계속 개선할 수 있거든요.
복제도 버튼 클릭 한 번이면 되고
모델도 변경할 수 있어요.
4.0 대신 4.1 mini를 사용해보겠습니다.
몇 가지를 바꿔보겠습니다.
실제로는 한 번에 하나씩 변경해야 하지만
지금은 데모를 위해서
여러 개를 동시에 바꿔보겠습니다.
더 인터랙티브하게 만들기 위해서요.
여기서 중요한 건
결과물이 어떻게 보이는지 바꾸는 겁니다.
'상세한 일일 계획으로 포맷하라'고 되어 있는데
솔직히 더 중요한 요구사항이 있다고 생각해요.
'장황하지 말라'는 조건이죠.
'장황하지 말고 500자 이하로 유지하라'
더 임팩트 있게 만들고 싶어요.
더 보기 쉬운 결과물을 원한다고요.
주말에 코딩하는 입장에서도
이 제품을 사용해보는 사용자들의
피드백을 받고 싶을 거예요.
그래서 이런 조건을 추가할 수 있어요:
'사용자가 이메일 주소를 제공하면
항상 할인 혜택을 제안하라'
마케팅에도 도움이 되고
항공편 예약 등에 이 도구를 사용하는
사용자들의 피드백도 받을 수 있죠.
유용하죠?
마케팅에도 도움이 되고
이 도구를 실제로 사용해보는 분들의
피드백을 받는 데도 도움이 됩니다.
자, 이제 '모두 실행'을 눌러보겠습니다.
그러면 방금 수정한 프롬프트들이
플레이그라운드에서 실행됩니다.
인터넷 때문에 조금 시간이 걸릴 수도 있어요.
기존 실행 결과 중 하나에서 가져온 거죠?
>> 맞습니다. 기존 실행 결과 중 하나와
정확히 동일한 거예요.
>> 맞습니다.
이것과 정확히 동일한... 아니,
이건 스페인 관련이네요.
정확히 이건 아니지만
기존 실행 결과 중 하나입니다.
음, 확실히 조금 나아졌네요.
하지만 솔직히 말하면
이걸 보면서 느끼는 건
제 지시를 잘 따르지 않고 있다는 거예요.
제가 준 프롬프트를 잘 지키지 않네요.
'짧게 유지하라'고 했는데 말이죠.
하지만 이메일 관련 부분은 잘 따랐네요.
'이메일 주소 알려주시면
10% 할인코드 보내드립니다'라고 했어요.
10% 할인 코드를 받으려면 이메일을 보내주세요."
[웃음]
흥미로운 점은 우리가 하나의 예시를 보고 있다는 거예요.
이메일을 요청하면 할인을 받는다고 했는데,
이게 바로 이번 데모의 감정 코딩 부분이에요.
하나의 예시만 보고 좋은지 나쁜지 판단하려고 하는 거죠.
수백, 수천 명의 사용자를 대상으로 실제 서비스를 출시할 때는
이런 시스템이 확장성이 전혀 없어요.
단 하나의 데이터 행만 보고 결정을 내릴 사람은 없거든요.
프롬프트가 좋다거나 모델이 차이를 만들었다고 말하는 것처럼요.
가장 성능 좋은 모델을 선택하고 프롬프트를 최대한 구체적으로 만들어도
결국 LLM은 여전히 환상을 보게 되고,
그런 상황이 언제 발생하는지 포착하는 게 우리의 역할입니다.
이제 이걸 좀 더 확장해보겠습니다.
LLM이 제대로 작동하지 않은 예시가 하나 있는데,
10개 또는 심지어 100개의 예시로 데이터셋을 구축하고 싶다면?
같은 프로덕션 데이터를 활용할 수 있어요.
참고로 이걸 프로덕션 데이터라고 하지만, 사실 그냥 Cursor한테
합성 데이터를 만들어달라고 요청했어요.
어제 그렇게 해서 15개 정도의 다른 여행 일정을 생성했고,
그걸 이번 데모에서 사용하고 있어요.
이제 몇 개를 선택해보겠습니다. 여기서 몇 개의 일정 구간을 골라서
데이터셋에 추가할 수 있다고 할 수 있어요.
아, 그런데 어떻게 여기까지 왔는지 보여드리지 않고
제품에 바로 뛰어든 것 같네요. 좀 줌아웃해서 설명드릴게요.
홈페이지 arise.com에 가서 가입하시면 됩니다.
미리 사과드리는데, 온보딩 플로우가 좀 오래된 느낌일 수 있어요.
하지만 다음 주에 업데이트할 예정이니 양해 부탁드려요.
Arise에 가입하면 여기서 API 키를 받을 수 있습니다.
계정 설정에 가서 API 키를 생성할 수 있고,
스페이스 ID도 함께 찾을 수 있어요.
둘 다 계측을 위해 필요한 건데,
리포지토리가 실제로 작동하는지에 따라 될 수도 안 될 수도 있어요.
안 되면 나중에 다시 돌아오겠습니다.
어쨌든 이게 플랫폼이고, API 키를 받는 방법이에요.
그리고 여기서 다음 부분과 플레이그라운드를 위한
OpenAI 키도 입력할 수 있습니다.
이제 데이터셋이 있어요. 지금까지의 상황을 요약하면,
프로덕션 데이터가 있고 이걸 데이터셋에 추가하려고 해요.
이미 데이터셋이 있어서 라이브로 하지는 않겠지만,
개선하고 싶은 예시들의 데이터셋을 만들 수 있어요.
이제 실제 평가 부분으로
데모의 핵심 단계로 넘어가겠습니다.
실제로 평가할 내용은,
에이전트에는 여러 구성 요소가 있습니다.
최상위 레벨에는 라우터가 있고,
스킬이나 함수 호출,
그리고 메모리가 있습니다.
하지만 이번 경우에는
실제로는 생성의
개별 스팬을 평가하고
에이전트가 우리가 원하는 방식으로
텍스트를 출력하고 있는지 확인할 것입니다.
따라서 이는 에이전트 평가보다는
조금 더 간단하고,
실제로 에이전트를 실행하고
데이터에 대해 평가 실험을
수행하는 방법에 대한 것입니다.
데이터 세트의 개념은
예시의 집합으로
생각하시면 됩니다.
이 실험들을 삭제하고 라이브로 진행하겠습니다.
저는 스릴을 즐기거든요.
여기 예시들이 있습니다.
방금 여러분이 본
프로덕션 데이터와 동일한 예시들입니다.
이것이 데이터 세트입니다.
모든 트레이스와 스팬을
가지고 있다고 생각하세요.
그것이 에이전트의 작동 방식입니다.
그리고 이를 표 형식으로
생각할 수 있는 형태로 가져오고 싶습니다.
구글 스프레드시트 같은 것이죠.
결국 그런 것입니다.
구글 스프레드시트 같은 형태로
들어가서 좋아요, 싫어요를
표시할 수 있습니다.
대부분의 팀이 오늘날
평가하는 방식이 바로 이것입니다.
플랫폼에서 스프레드시트로
시작하고 있을 것입니다.
그 스프레드시트에서
좋은지 나쁜지 판단하고
이를 확장하려고 하죠.
전문가 팀에게
에이전트가 좋은지 나쁜지
피드백을 받는 것입니다.
여기 있는 분들께 설문조사:
현재 스프레드시트로
평가하고 있는 분이 몇 명이나 되나요?
부끄러워하지 마세요. 괜찮습니다.
몇 분 계시네요.
아마 더 있을 텐데,
사람들이 부끄러워해서 그런 것 같습니다.
괜찮습니다. 그렇게 시작하는 것이
세상의 끝은 아닙니다.
인간의 주석을 확장하는 것이
목표입니다. 시작점일 필요는 없죠.
실제로 데이터를 보고 있다면
대부분보다 잘하고 있는 것입니다.
솔직히 말해서요.
제가 이야기한 많은 팀이
오늘날 전혀 평가를 하지 않고 있습니다.
최소한 인간 라벨로
시작하고 있으니까요. 이제 할 일은
이 데이터 세트나 CSV를 가져와서
기본적으로 방금 제가 한 것과 같은 일을 할 것입니다.
프롬프트에 대한 AB 테스트를 실행했는데,
이번에는 전체 데이터 세트에 대해
실행할 것입니다.
플랫폼으로 들어가서
실제로 실험을 생성할 수 있습니다.
실험이라고 부르는 것은 결과물입니다.
변경, 즉 AB 테스트의 결과입니다. 그럼,
같은 워크플로우를 다시 반복해보겠습니다.
이 프롬프트를 복제하겠습니다.
음, 이 버전의 프롬프트를
가져오겠습니다.
정말 멋진 점은
이전 버전의 프롬프트를
저장해둘 수 있다는 겁니다.
프롬프트 허브가 있어서
반복하면서 프롬프트 예시를
저장할 수 있어 정말 유용합니다.
GitHub 같은 프롬프트 저장소라고
생각하시면 되는데, 실제로는
이 버전의 프롬프트를 저장하기 위해
클릭하는 버튼일 뿐입니다.
그러면 팀에서 실제로
나중에 코드에서 그 버전을 사용할 수 있습니다.
프롬프트 A는 변경사항이 없고
프롬프트 B는 몇 가지
변경사항이 있지만, 이제는 한 개 예시가 아니라
실제로 여기서
12개 예시에서 실행하고 있습니다.
이것들은 비슷한 에이전트들입니다.
하나만 보자면, 비슷한 스팬들로
목적지, 기간, 여행 스타일이 포함되어 있고
에이전트의 출력과 함께
일정을 생성합니다.
방금 실행한 예시와
동일하지만, 이제는 전체 데이터셋에서
실행됩니다.
그리고
네, 이것은 일정 에이전트의
프롬프트입니다. 동일한... 우리가
이것을 꽤 높은 수준으로
유지할 예정이라서
간단한 데모처럼 말이죠.
구체적으로는 일정 생성
에이전트의 프롬프트인데,
여기 아래에 있고, 다른
에이전트들의 출력을 받아서
이들을 결합하고 프롬프트 변수를 사용해서
일별 일정을 만듭니다.
네. 그 분이 물어보신 것은
상위 프롬프트를 변경하면
여기서 무슨 일이 일어나는지에 대한 것입니다.
두 가지 점이 있는데, 더 고급
워크플로우지만
좋은 질문입니다.
두 부분이 있습니다. 하나는
시스템을 부분별로 변경하는 것을
권장한다는 것입니다.
스택의 평가 부분을 생성하면서
더 세분화해서
분석할 수 있도록 분해할 수 있습니다.
여기 위에서 한 가지를 변경하면
요구사항 기준을 충족하는지 확인할 수 있습니다.
그리고 두 번째 부분은
프롬프트 체인을 재생하는 것입니다.
프롬프트 A가 프롬프트 B로 들어갑니다.
프롬프트 A를 변경했을 때의 출력은 무엇일까요?
프롬프트 체이닝은
곧 저희 플랫폼에 출시될 예정입니다.
지금은 단일 프롬프트지만
A + B + C 프롬프트 체인도
가능하게 될 것입니다.
좋은 질문입니다.
Slack에 더 많은 질문을 올려주시면
나중에 다시 다뤄보겠습니다.
이제 프롬프트를 얻었으니
일별 계획을 만들어달라고 하고
너무 자세할 필요는 없고
최대 1,000자로 제한합니다.
다시 시도해보겠습니다. 500자로 하고
항상 매우 친근한 톤으로 답변하고
더 구체적으로 말해서 사용자에게 이메일을 요청하고 할인을 제안하라고 해봅시다
이렇게 하면 이전과 같은 결과가 나오지 않을 거예요
그리고 이제 전체 데이터셋에 대해 실행해보겠습니다
프롬프트 A와 프롬프트 B를 비교해보겠습니다
실행되는 동안 잠시 기다려주세요
실행되는 동안 말이죠
오, 좋네요. 완벽해요
여러분 팀을 위한 거네요. 흥미롭습니다
모델이 왜 때때로 이모지를 그렇게 좋아하는지 모르겠어요
아무래도 '매우 친근한' 톤이라는 것이
이모지를 좀 넣어라
이런 의미로 해석되는 것 같네요. 흥미롭습니다
음...
좋아요, 이건 꽤 빨리 실행됐네요
이쪽은 아직 시간이 걸리고 있죠?
잠깐 제품 관리자 관점에서 생각해봅시다
방금 문자 수를 제한해서
출력을 훨씬 빠르게 만들었습니다
이쪽은 평균 32초 정도 걸리는데
출력 문자 수를 지정하지 않고
자유롭게 생성하도록 했기 때문입니다
프롬프트 반복 작업이
이런 식으로도 도움이 될 수 있습니다
그게 바로 프롬프트 최적화가
여러분에게 도움이 되는 방식입니다
좋습니다. 이게 실행되는 동안
다른 화면으로 넘어가보겠습니다
좋습니다
오, 자료를 공유해주셔서 감사합니다
그곳에요
아직 실행 중이네요
실행되는 동안 질문 있으신 분 계신가요? 네
네, 말씀하시는 걸 들어보니
주로 지연 시간과
사용자 경험을 중심으로
평가하고 계신 건가요?
이 두 가지 말이죠?
다른 건 어떤 걸 보고 계세요?
네, 좋은 질문이네요
이제 핵심으로 들어가고 있습니다
A와 B가 있는데
실제로 여기서 무엇을 평가하고 있는지가 질문이죠
간단한 답은
무엇이든 평가할 수 있다는 겁니다
원하는 건 뭐든 평가할 수 있어요
이 경우에는
에이전트의 톤에 대해
몇 가지 평가를 실행해보겠습니다
여기 몇 개의 평가를 설정해뒀습니다
에이전트가 친근한 방식으로 답변하고 있는지
할인을 제안하고 있는지 확인해보겠습니다
그리고 맥락을 올바르게 사용하고 있는지
같은 것들도 평가할 수 있습니다
이것을 환각 평가라고 부릅니다
정확성도 평가할 수 있는데
올바른 맥락이 있어도
정답을 제공하고 있는지 확인하는 거죠
바로 사용할 수 있는 평가 예시들이
담긴 문서를
안내해드리겠습니다
하지만 이 시스템의 핵심과
자신만의 데이터로 시스템을 구축하고
데이터로 재실행할 수 있는 시스템이
중요한 이유는
이것들이 기성 평가들이기 때문입니다
평가를 대신 실행해준다는
많은 회사들이 있지만
실제로는 그들이
기본적으로 어떤 템플릿을 가져다가
자신들의 평가 템플릿을 기반으로
점수나 라벨을
제공하는 것뿐입니다
그런데 여러분이 실제로 할 수 있어야 하는 것은
변경하고 수정하고 실행하는 것입니다
자신만의 평가를 용도에 맞게 만드는 거죠
자신의 사용 사례에 맞는 평가를 수행할 수 있습니다.
원하는 것은 무엇이든 평가할 수 있다는 것이 간단한 답입니다.
평가할 수 있습니다. 이건 기본적으로
LLM에 입력하여 레이블을 생성하는 것입니다.
그래서 사전 구축된 평가가 어떤 모습인지 보겠습니다.
인터넷에는 이런 예제들이 정말 많이 있습니다.
저희는 실제로 사전 구축된 평가를
오픈소스 데이터셋에서 테스트해봤습니다.
하지만 저희 말만 믿지 마시고
사용 사례에 맞는 평가를 구축해야 합니다.
자신만의 평가를 어떻게 만드는지
평가를 기반으로 구축해야 합니다.
네, 맞습니다.
자신만의 평가를 어떻게 만들어내는지
자신만의
조합하는 방법이요?
네, 실제로 평가를 어떻게 구성해야 하는지
처음부터 어떻게 생각해야 하는지에 대해
어느 정도는 말이죠. 그것도
질문 중 하나였습니다. 네.
평가가 어떤 모습인지 보는 것이
도움이 될 것 같습니다.
그리고 그 질문으로 다시 돌아올 수도 있겠네요.
평가란 무엇인가, 맞죠?
그럼 여기서 평가를 구축해보겠습니다.
준비된 것이 있지만 템플릿을 보여드리고 싶습니다.
새로운 것도 작성할 수 있습니다.
저는 이 평가를 작성했는데
LLM 출력이 친근한지 감지하기 위해서입니다.
그리고 그 의미에 대한 정의를 만들었습니다.
기본적으로 여러분이 작성된 텍스트를 검토한다고 합니다.
여기 텍스트가 있습니다. 텍스트를 검토하고
톤이 친근한지 아닌지 판단하세요.
친근한 톤은 긍정적이고
유쾌한 것으로 정의됩니다.
이것이 기본적으로 LLM에 입력하여
레이블을 생성하는 것입니다.
여행 일정 에이전트의 출력이
친근한지 로봇적인지 판단하는 것입니다.
그래서 이 평가가 실제로 하려는 것은
텍스트를 친근한 생성물 또는
로봇적인 생성물로 분류하는 것입니다.
다시 말하지만, 무엇이든 평가할 수 있지만
이 경우에는 프롬프트를 변경할 때
그것이 데이터에서 나타나는지
확인하고 싶습니다. 왜냐하면 수백 또는
수천 개의 예제를 일일이 들어가서
친근함과 로봇적인 것을
매번 평가할 수는 없기 때문입니다.
그래서 아이디어는 LLM을 판사로 사용하여
대규모 데이터셋에서 해당 레이블을
제공하는 시스템을 갖는 것입니다.
그것이 우리가 지금 작업하고 있는 목표입니다.
그 시스템 종류의 레이블을 말이죠.
큰 데이터셋에서요. 그것이
우리가 지금 작업하고 있는 목표입니다.
네.
네.
분산이 있죠.
불안정하죠, 맞나요?
네, 맞습니다.
네.
네, 한 가지 제안은
그분이 언급하신 것처럼 LLM 레이블 출력에서
분산을 보신다고 하셨는데, 분산을 조정할 수 있는
한 가지 방법은 온도입니다.
모델의 온도를 낮추면
설정할 수 있는 매개변수로
응답을 더 반복 가능하게 만들 수 있습니다.
완전히 0으로 만들지는 않지만
시스템의 분산을 상당히 줄입니다.
그리고 다른 옵션은
평가를 여러 번 다시 실행하여
기본적으로 판사의 분산을
프로파일링하는 것입니다.
네, 우리는 거기로 갈 예정입니다.
오 네, 우리는 갈 것입니다.
그 부분에서 다루게 될 거예요. 네, 좋은
질문이죠, 맞죠? 결국
이걸 신뢰할 수는 없잖아요. 직접 들어가서
제대로 되었는지 확인해야 하죠.
맞습니다. 하지만 일단 평가를 진행해보고
어떤 결과가 나오는지 보고
그 다음에 다시 살펴보죠.
자, 친근함 평가가 있고
또 다른 평가도 있는데, 기본적으로
텍스트에 할인 제안이 포함되어 있는지
판단하는 것입니다. 전체 내용을 다 읽어드리지는 않겠지만
간단히 말해서
이것은 텍스트에 할인 제안이
포함되어 있는지 없는지를 판단합니다
사용자에게 할인을 제공하는 것이
정말 중요하거든요. 자, 이 두 가지를 선택하고
이제 실제로 방금 실행한
실험에 대해 실행해보겠습니다
라이브로 진행할 예정입니다. Arize가 하는 일은
실제로... 저희는 평가 실행기가 있어서
모델 엔드포인트를 사용해서
이런 평가들을 생성하는 방식입니다.
꽤 빠르다는 걸 알 수 있을 거예요.
평가가 정말 빠르게 실행되도록
내부적으로 많은 작업을 했습니다.
이게 저희 제품을 사용하는
장점 중 하나입니다. 여기 두 개의 실험이 있는데
실험 2번은 생성된 순서가
역순이라서 조금 헷갈릴 수 있지만
실험 2번이 원래
프롬프트이고 실험 1번이
변경된 프롬프트입니다.
이 점을 염두에 두세요. 제가 즉흥적으로
진행하다 보니 조금
뒤바뀌었네요.
실험 2번의 점수를 보시면
프롬프트 A, 즉 변경하지 않은 프롬프트는
이 평가 레이블에 따르면
어떤 사용자에게도 할인을 제공하지 않았습니다
하지만 LLM은 여전히 그 응답을
친근하다고 평가했어요. 꽤 흥미롭죠.
"아, 친근한 응답이었네"라고 했는데
개인적으로는 그렇게 생각하지 않아서
이 부분을 수정하려고 합니다.
그리고 프롬프트에 "사용자가 이메일을 제공하면
할인을 제공하라"는 문장을
추가했을 때
평가가 실제로 이를 감지했고
이 변경사항을 적용했을 때
100%의 예제에서
할인 제안이 포함되어 있다고 했습니다.
각 예제를 일일이 확인하지 않고도
그 점수를 얻을 수 있었어요.
이게 바로 LLM 심사 시스템이
제공하는 것입니다.
직접 들어가서 신뢰할 수 있고
이건 믿되 검증하라는 원칙입니다.
실제로 들어가서
이 중 하나를 살펴보고
친근함에 대한 설명이 무엇인지 보겠습니다.
텍스트가 친근한지 기계적인지
판단하는 것입니다. 평가 시스템이 있을 때
고려해야 할 한 가지는
LLM 심사관이 왜 그런 점수를
주었는지 이해할 수 있는가입니다.
이게 바로 그런 핵심적인
포인트 중 하나입니다
이번 발표의 핵심 포인트 중 하나는
항상 LLM 판사가 무엇을 하고 있는지
설명할 수 있는지 생각해보는 것입니다.
실제로 우리는 평가의 일환으로 설명을 생성합니다.
따라서 여기서 볼 수 있듯이
설명은 판사의 추론 과정을 보여줍니다.
텍스트가 친근한지 기계적인지 판단하기 위해
언어, 어조, 스타일을 분석해야 한다고 말합니다.
그리고 이런 모든 분석을 통해
"네, 이 LLM은 친근하고
기계적이지 않습니다"라고 결론을 내립니다.
하지만 다시 말하지만, 저는 그 설명에
정말 동의하지 않습니다.
저는 그것이 올바르지 않다고 생각해요.
여전히 원래 프롬프트가
꽤 기계적이었다고 느낍니다.
여러 면에서 꽤 길고 형식적이었거든요.
그래서 저는 실제로
같은 플랫폼에서 LLM 판사 시스템을
개선할 수 있기를 원합니다.
실제로 같은 데이터셋을 가져와서
AISE 플랫폼에서 여러분이나
전문가 팀이 같은 장소에서
실제로 데이터에 라벨을 달 수 있습니다.
그리고 라벨링 큐의
플랫폼 부분에서 데이터셋에
라벨을 적용하면 원본 데이터셋에
다시 적용됩니다.
따라서 실제로 LLM 판사와
사람의 라벨을 비교하는 데
사용할 수 있습니다.
실제로 제가 그렇게 했습니다.
네, 발표 전에 미리 해뒀는데요,
각 예시를 살펴보면서
"이건 제게는 기계적이에요.
이게 친근한 응답이라고
생각하지 않습니다.
너무 길고 LLM과
대화하는 것 같습니다"라고 했습니다.
그래서 실제로 개선하고 싶은
예시들에 대해 데이터셋에
이 라벨을 적용했습니다.
데이터셋으로 돌아가면
실제로 그 라벨이
여기에 적용된 것을 볼 수 있습니다.
클릭해서 이동하면...
죄송합니다, 데이터가 많아서
옆쪽에 좀 가려져 있지만
제가 입력한 사람 라벨들을
볼 수 있습니다.
이것들이 제가 큐에서 방금 제공한
것과 동일한 어노테이션입니다.
여기 제 데이터셋에 적용되어 있습니다.
네 맞습니다. 바로 그겁니다.
평가를 위한 평가가 필요해요.
시스템을 그냥 믿을 수는 없습니다.
LLM이 환각을 일으킨다는 걸 알고 있죠.
에이전트에 넣으면 에이전트도
환각을 일으킵니다.
그래서 에이전트를 사용해 고치려 하지만
그 에이전트도 믿을 수 없어요.
그 위에 사람의 라벨이 필요합니다.
하지만 다시 말하지만, 저는
이걸 직감으로 코딩하면서
"LLM 판사가 좋은지 아닌지"
판단하지는 않을 거예요.
그것을 위한 평가도 필요하고
이를 도와주는 두 가지 평가를 제공합니다.
문자열 체크나 정규식 같은
간단한 매칭을 할 수 있는
코드 평가자가 있습니다.
실제로 기술적인 PM이시고
코드를 작성하고 싶다면
Claude의 도움을 받을 수 있습니다
eval을 작성하는 데 도움을 주지만,
정말로 빠른 Python 함수일 뿐입니다.
제 경우에는 실제로 매칭을 하는
간단한 eval을 작성했습니다.
이 매칭은 정말 빠르고 더러운 eval이에요.
이것이 베스트 프랙티스라고는
전혀 말하지 않겠지만,
기본적으로 eval 레이블이
annotation 레이블과 일치하는지 확인합니다.
아, 죄송합니다.
출력은 일치 또는 불일치만 됩니다.
이것이 하는 일은 실제로
휴먼 레이블과 eval 레이블을 비교해서
일치하는지 불일치하는지 확인하는 것입니다.
그래서 기본적으로 실행할 것이고,
저는 LLM을 심판으로 사용하고 있습니다.
코드를 사용할 수도 있어요.
LLM을 심판으로 사용할 필요는 없지만,
우리는 이제 실행해보겠습니다.
같은 데이터셋에서,
방금 실행했던 같은 실험에서 말이죠.
잠시 기다리겠습니다.
좋아, 여기서 뭘 얻었을까요?
여기서 보시면 실제로 같은 실험을 살펴볼 수 있는데,
LLM 심판이 친근한지 로봇적인지
말했던 부분이었습니다.
그리고 여기서 100%의 시간 동안
매칭이... 실제로 죄송합니다.
이 eval은 실제로...
좀 더 자세히 들어가보겠습니다.
실제로 제 작업을 확인해보겠습니다.
이 eval은 할인에 대한 것이었습니다.
그것은 잊어버리고,
친근한 필드를 확인해보겠습니다.
이것은 친근한 레이블입니다.
그것을 다시 실행해보겠습니다.
이것을 친근한 매칭으로 생각하겠습니다.
데이터셋과 실험에서
원하는 만큼 eval을 실행할 수 있습니다.
아시죠.
>> 도구가 파이프라이닝을 지원하나요?
기본적으로 코드를 푸시하는...
>> 네, 정확히 그렇습니다.
모든 eval의 모든 방법을 지원합니다.
로컬에서 데이터셋에 대해 코드를 실행하거나
eval을 실행하기 위해 플랫폼에 코드를 푸시할 수 있습니다.
그래서 양방향으로 프로그래밍 방식으로 가능합니다.
네, 물론입니다.
데이터셋을 가져오고 내보낼 수도 있습니다.
좋아요, 이것을 다시 살펴보겠습니다.
이것이 친근한 매칭입니다.
이것이 꽤 유용하다는 것을 알 수 있죠?
이것은 제 LLM 심판이
기본적으로 친근함에 대한
휴먼 레이블과 거의 전혀 일치하지 않는다는 뜻입니다.
맞죠? 한 가지 예제 정도가
있는 것 같고 들어가서
살펴볼 수 있지만,
실제로 보고 있는 것은
이것이 팀이
실제로 우리의 eval 레이블을 살펴보고
"우리가 eval 레이블 자체를 개선할 수 있을까?"
라고 말하기를 원하는 영역입니다.
왜냐하면 휴먼 레이블과
일치하지 않기 때문이에요.
AI PM으로서 이런 시스템을 갖추고
eval 레이블을 휴먼 레이블과
확인할 수 있을 때,
팀에게 돌아가서
"우리는 eval 시스템을
개선해야 합니다.
예상대로 작동하지 않고 있어요."
라고 말할 수 있는 많은 레버리지를 갖게 됩니다.
더 크고 규모 있게 진행하게 됩니다. 그래서
수백 개나 수천 개의 예시들로
작업하게 되는 거죠. 그래서
정말로 이게 중요한 것은, 아까 누군가
어떻게 시스템을 신뢰하냐고 물어봤는데
이런 LLM을 판단자로 사용하는 시스템을 신뢰하는 방법은
여러 검증과 균형장치를 두는 것입니다
인간이 있고 LLM이 있고, 다시 인간과 LLM이 있죠.
음, 잠시 후 질문으로 돌아오겠습니다.
다음 부분으로 넘어간 다음
Q&A로 돌아오겠습니다.
음,
좋습니다. 이제 워크샵의 마무리 단계에
접어들고 있고, 남은 시간은
Q&A로 열어두겠습니다.
앞으로를 보면
근본적으로 변하고 있는 것은
우리가 방금 살펴본
프롬프트 변경, 컨텍스트 변경,
데이터셋 생성, 평가 실행,
데이터셋 라벨링, 그리고
그 위에 다른 평가를 실행하는
이런 과정들입니다. 처리할 게
정말 많죠? 에이전트 기반
시스템을 구축한다면
팀에서는 아마도
AI PM이 어디에 맞는지
궁금해할 것입니다. 그리고 정말
중요한 것은 궁극적으로
제품의 최종 결과를
통제한다는 것입니다. 그래서
더 나아지게 만들 수 있는 모든 것을
실제로 생각해봐야 하는
부분입니다.
저는 평가를 새로운 형태의 요구사항으로
봅니다. 엔지니어링 팀에
가서 PRD 대신
평가를 요구사항으로
줄 수 있다고 상상해보세요. 여기 평가 데이터셋이 있고
시스템을 테스트하기 위해
사용하고 싶은 평가가 있고
이것이 승인 기준입니다.
평가를 팀 전체의
견제와 균형의 방법으로
생각하는 것은 정말 강력합니다.
그리고 이것이 우리가 하는 일의 일부입니다.
관찰 가능성을 실행하고 평가하며
궁극적으로는 같은 플랫폼에서
팀과 함께 이런 워크플로우를 개발할 수 있는
단일 통합 플랫폼을
구축하고자 합니다. Uber,
Reddit, Instacart 같은
기술 선도 기업들을 위해
구축했습니다. 실제로
DataDog과 Microsoft로부터
투자를 받았습니다. 우리는
시리즈 C 회사이고
이 분야에서 가장 앞서 있습니다.
우리가 구축하고자 하는 전체 목표는
개발부터 프로덕션까지
AI 엔지니어링 팀과 함께 할 수 있는
그리고 PM들이 같은 도구를
사용할 수 있는 도구 모음을 제공하는 것입니다.
Q&A 전에 간단히
QR 코드를 스캔해주세요. 6월 25일
샌프란시스코에 계신다면
실제로 평가에 관한 컨퍼런스를
주최하고 있습니다. 정말 재미있을 것입니다.
실제로 OpenAI,
Anthropic 같은 회사들의
훌륭한 AI PM들과 연구원들이
참여합니다. 정말 멋진 것은
이 방에 계신 분들을 위해
음, 무료 독점 티켓을
제공하고 있습니다. 가격이
어제부터 올랐거든요.
저희가 AI 엔지니어
월드 페어의 열렬한 팬이라서
여러분께 무료로 참여할
기회를 드리고 싶었습니다.
그곳에서 뵙게 되면
정말 좋겠네요.
QR코드를 스캔해서 무료 코드를 받으실 수 있습니다.
네, 그리고 워크샵에 대해서는
이정도이고, 질문이 있으시면
언제든 받겠습니다. 그리고 뒤에 계신 분이
방금 말씀해 주신 것처럼,
마이크 앞에 줄을 서서
질문해 주시면 카메라가
잘 담을 수 있고, 순서대로
질문을 받아보겠습니다.
감사합니다.
정말 감사합니다.
성함을 말씀해 주시고
네, 제 이름은 로만입니다.
정말 훌륭한 설명이었습니다.
평가 팀 구축에 대한
경험을 공유해 주실 수 있나요?
경험이 있는 전담 인력을
고용하는 것부터 시작해야 할까요,
아니면 프로덕트 매니저가
이 과정을 담당하는 게 나을까요?
어떤 방법이 최선의 방법인가요?
베스트 프랙티스는 무엇인가요?
평가 팀 구축을 위한
베스트 프랙티스에 대해
질문해 주셨는데요. 먼저
궁금한 게 있어서
역질문을 드려도 될까요?
현재 회사에서 어떤 역할을
담당하고 계신지요?
저는 프로덕트 헤드입니다.
프로덕트 헤드시는군요. 완벽합니다.
사실 이런 질문을 정말 자주 받습니다.
첫 번째 AI PM은 어떻게 고용하나요?
AI 엔지니어는 어떻게 고용하나요?
AI PM이 필요한지 엔지니어가 필요한지
어떻게 알 수 있나요?
이 답에는 몇 가지 단계가 있습니다.
첫째, 프로덕트 헤드로서
많은 프로덕트 헤드들이
저희 플랫폼에서
첫 번째 단계에서는 직접
손을 더럽히는 것을 봅니다.
결국 누군가를 고용해서
일을 시키려면
그들이 할 일이 무엇인지 알아야 합니다.
그래서 제 팀에서의 제 역할은
임원들과 프로덕트 헤드들이
무슨 일이 일어나고 있는지
이해할 수 있도록 제품을
접근 가능하게 만드는 것입니다.
대시보드, 노코드,
로우코드를 만드는 다양한 기능들이 있습니다.
하지만 제가 추천하는 것은
평가를 직접 작성해보면서
고통을 직접 느껴보시고
무엇이 어려운지 깨달아서
엔지니어나 PM을 위한
인터뷰 질문을
구성하는 방법을 알 수 있도록
하는 것입니다. 왜냐하면 저는
여러분의 평가 워크플로우에서
무엇이 어려운지 모르거든요.
평가 작성에 일반적인
도전과제들이 있다는 것만
알고 있어서
직접 고통을 느껴보시고
살펴본 바로는 저희의 평가가 상당히
안 좋았습니다. 휴먼 라벨과 비교했을 때 말이죠.
네.
>> 그렇다면 여기서 다음에 무엇을 해야 할까요?
휴먼 라벨에 더 가까워지기 위해
메인 평가의 프롬프팅을 개선하기 위한
다음 단계는 무엇인가요?
>> 네, 좋은 질문이네요. 만약 제가 좀 더
실제로 여기서 이 작업을 하고 있다면
실제로 할 일은
그 평가 프롬프트를 가져와서 우리가 방금
했던 것과 유사한 워크플로를 거치는 것입니다
원래 프롬프트의 프롬프트 반복을 위한
프롬프트 말이죠. 다시 말해서
여기서 보는 그 평가 프롬프트를
가져와서 이것을 다시 정의할 수 있습니다
워크플로의 일부를 기본적으로 말하면
친근함이 무엇인지에 대해 정말 엄격하게 하라고
여기서 저는 몇 가지 예시를 추가하지 않았습니다
친근한 텍스트의 예시는 이것이고
로봇적인 텍스트의 예시는 이것이라고 명시하지 않았죠
그래서 그것이 오늘 제 평가에서
명확한 격차입니다. 만약 제가 이것을 보고 있다면
모범 사례를 적용하여 개선할 수 있을 것입니다
또한 저희 제품에서는
평가 작성을 실제로 도와주는
워크플로가 있습니다.
이것은 저희 제품이지만
저희 제품을 꼭 사용할 필요는 없습니다.
어떤 제품이든 사용할 수 있어요.
저는 이것 위에
반복하는 방법을 보여드리겠습니다
사용자들이 실제로 평가 프롬프트를
구축하는 방법입니다. 그래서
친근하거나 로봇적인 텍스트를 감지하는 프롬프트를 작성해 달라고 할 수 있습니다.
이것은 실제로 저희가 제품에서 자체 코파일럿을
사용하는 것입니다. 저희가 구축한
코파일럿은 모범 사례를 이해하고
실제로 첫 번째 프롬프트를 작성하는 데
도움을 줄 수 있고, 시작할 수 있게 해줍니다.
방금 1초 만에 생성한
같은 프롬프트를 가져와서
프롬프트 플레이그라운드로 다시 가져가서
여기서 더 반복할 수 있습니다.
그럼 즉석에서
빠르게 해보겠습니다. 여기 프롬프트가 있고
들어가서 실제로
코파일럿에게 이 프롬프트를
최적화해 달라고 요청할 수 있습니다. 그럼
계속해서
더 엄격하게 만들어 달라고
하겠습니다.
실제로 LLM 에이전트와
코파일럿 에이전트를 사용할 수 있습니다.
주목할 점은 실제로 AI 워크플로가
위에 필요하다는 것입니다
프롬프트를 다시 작성하고, 더 많은 예시를 추가하고
그 새로운 프롬프트에서 평가를 다시 실행하는 데 도움을 주는
워크플로 말이죠. 덜 중요한 것은
첫 번째 시도에서
올바르게 하는 것은 확실히 불가능하지만
반복할 수 있다는 것이 정말 중요합니다.
그것이 우리가 정말 강조하는 것입니다
5번 또는 10번 정도
시도해야 휴먼 라벨과 일치하는
평가를 얻을 수 있을 것입니다. 그리고 그것은 괜찮습니다
이러한 시스템들은 정말 복잡하기 때문입니다.
중요한 것은
적절한 워크플로를 갖추는 것입니다. 네.
>> 안녕하세요, 저는 조티입니다. Arize에서도
BERT나 Albert 같은 것을 사용한
모델 기반 평가를 허용하나요
LLM을 판사로 사용하는 것이 아니라
BERT나 Albert를 사용해서
예측 점수 같은 거 말씀하시는 건가요?
>> 네, 좋은 질문이네요. 사실 저희는 정말로
간단히 말하면 네, 그런 기능을 제공하고 있습니다.
제가 어떤 의미인지 보여드리겠습니다.
그래서 음... 그래서
Arize에 들어가면 실제로
원하는 평가 모델을 설정할 수 있습니다.
보시는 것처럼 OpenAI, Azure,
Google이 있지만, 커스텀 모델
엔드포인트도 추가할 수 있습니다.
기본적으로 이것은 요청을
채팅 완료 형태로 구조화하지만
필요하다면 임의의 API로 만들 수 있고
BERT 모델이라고 하고 엔드포인트의
이름이 무엇이든 그것을 가리키면
평가 생성기에서도 그 모델을
참조할 수 있게 됩니다. 그래서
이것은 음... 여기에 테스트라고 입력하고
다음 흐름으로 넘어가겠습니다. 그리고
여기에 들어가면 보시게 될 텐데
원하는 모델 제공업체를 사용할 수 있습니다.
간단히 말하면 네, 어떤 모델로든
점수를 생성할 수 있습니다.
>> 좋네요.
>> 좋습니다. 음, 아, 질문이 하나 더 있네요.
아니 죄송합니다, 질문이 더
있네요. 네, 진행하세요.
>> 이 질문을 하나 더 다뤄보겠습니다.
음, 아마 앱을 구축해본 사람들이
비슷한 생각을 하고 있을 거라고 생각하는데
이게 좀 순진한 질문일 수도 있지만,
이미 인간이 라벨링한 정보가 있다면,
그리고 친화성 점수에서
나쁜 매치를 보고 있다면,
그 점수를 높이려고 노력하고
그 다음에 더 많은 케이스들로
외삽할 거라고 가정해야 하는 건가요?
그리고 그 샘플링이 더 넓은
범위에서도 유지된다고 가정하는 건가요.
네.
>> 그 관계가
저에게는 불분명해서요.
>> 아주 좋은 질문입니다. 그래서 음... 그래서
이걸 다시 표현하면 기본적으로
내 데이터셋이 전체 데이터를 어느 정도
대표한다는 걸 어떻게 알 수 있느냐는
거죠.
>> 맞습니다. 아니면 시간이 지나면서 변화하거나
>> 변화하죠. 네. 맞습니다. 그래서 음...
정말 좋은 지적입니다.
제품에서 아직 이 기능은 없지만
다음 주쯤에 출시될 예정인데
데이터셋에 지속적으로 데이터를
추가하는 워크플로우가 있을 거예요
가지고 있을 수 있는 라벨을 사용해서 말이죠.
그래서 말할 수 있는 건... 음, 하나는
실제로 이야기하지 않은 것 중 하나는
프로덕션 데이터를 어떻게 평가하는가인데
이런 평가를 데이터셋에서만이 아니라
시간이 지나면서 프로젝트에 들어오는
모든 데이터에서 실행해서
자동으로 라벨링하고 분류할 수 있습니다
프로덕션 데이터를 말이죠. 그래서
이걸 사용해서 데이터셋을 계속
구축할 수 있어요. 이게 전에 본 예시인지
아닌지 또는 이게... 음, 이걸 본질적으로
더 큰 규모로 샘플링할 수 있는 방법으로
프로덕션에서 생각해보세요
>> 그리고 그건 지속적으로 샘플링하고
인간이 라벨링하는 제안된 워크플로우인가요
시간이 지나면서 매칭을 확인하기 위해서요.
>> 정확합니다. 그리고 기본적으로
들어가서 인간 라벨이 동의하지 않는 곳을
프로덕션 데이터에서 LLM과 일치하지 않는 경우,
해당 사례들을 어려운 예시로 데이터셋에 추가하고 싶을 수 있습니다.
맞습니다.
그리고 실제로 이 제품에도
예시가 어려운 예시인지 판단할 수 있는 방법을
구축할 예정입니다.
LLM 신뢰도 점수를 사용해서 말이죠.
네, 그런데 죄송한데 '어려운 예시'라는 게
아주 엄격하게 해석하면 어떤 의미인가요?
어려운 예시라는 건 평가 관점에서 어려운 것을 의미합니다.
예를 들어 친근한지 아닌지는
경계선상에 있을 수 있잖아요?
맞죠?
아, 그러니까 주관적이거나
주관적인 거죠. 맞습니다.
질문을 좀 정리해보면,
데이터셋은 시간이 지나면서 계속 변화하는 속성을 갖고 있습니다.
그리고 개선을 위한 어려운 예시들의
골든 데이터셋을 제공해서
데이터셋 구축에 도움이 되는 도구가 정말 필요합니다.
어려운 예시란 처음부터 제대로 했는지
확실하지 않은 경우를 의미합니다.
네, 맞습니다. 감사합니다.
좋은 질문이네요.
네.
안녕하세요, 제 이름은 빅토리아 마틴입니다.
발표해주셔서 정말 감사합니다.
제가 겪고 있는 문제 중 하나는
함께 일하는 제품 관리자들로부터
생성형 AI에 대한 많은 회의론과
우리가 제공하는 평가에 대한 신뢰를
구축하려고 노력하는 것입니다.
네.
다른 PM들과 일하면서 어떤 가이던스를 받았는지,
또는 총 평가 횟수에 대한 가이던스를
받았는지 궁금합니다.
이 평가 세트에 대해 확신을 가질 수 있다고
말할 수 있을 때까지 실행해야 한다고 생각하는
평가 횟수에 대해 말이죠.
네, 정말 좋은 질문입니다.
질문에는 두 가지 구성 요소가 있다고 생각합니다.
평가의 양과 질이 있죠.
충분한 평가를 실행했는지 또는
충분한 평가를 갖고 있는지,
그리고 그 평가들이 실제로
데이터의 문제점들을 찾아낼 수 있을 만큼
충분히 좋은지 어떻게 알 수 있을까요?
이것도 어쩌면 좀 깨진 기록 같지만
이것도 약간의 반복 과정이라고 말하고 싶습니다.
작은 평가 세트로 시작하고 싶을 것입니다.
실제로 이에 대한 다이어그램이 있습니다.
잠깐만요, 그것을 불러오겠습니다.
여기서 보시는 것처럼 이것은 루프 형태로 의도되었습니다.
개발 단계에서 시작하여
CSV 데이터에서 실행할 것입니다.
아마 손으로 만든 것 같은 데이터로요.
방금 제가 구축한 것이 개발이었다고 주장하고 싶습니다.
10개의 예시가 있지만 통계적으로 유의미하지 않고
팀이 이것을 출시하도록 설득하지는 못할 것입니다.
하지만 제가 할 수 있는 것은 데이터셋을 큐레이션하고
계속 반복하며 실험을 계속 재실행하는 것입니다.
충분히 확신을 가질 때까지 그리고
전체 팀이 동의할 때까지
프로덕션에 출시하기 전까지 말이죠.
그리고 프로덕션에 들어가면
다시 같은 작업을 하는데, 다만 이제는
프로덕션 데이터에서 하는 것입니다.
그리고 그 중 일부를 가져와서
예시들을 개발로 다시 투입합니다.
실제 상황에서 이것이 어떻게 작동하는지
전술적인 예를 들어보겠습니다.
자율주행차의 경우, 제가 크루즈에 합류했을 때
한 블록만 가도 운전자가
차량을 다시 제어해야 했습니다.
그때는 정말 한 블록도
제대로 주행할 수 없었죠.
길을 따라 운전할 수도 없었습니다.
웨이모도 마찬가지였습니다.
모든 회사가 이런 시스템 단계에 있었고
결국 우리는 직진 도로에서
주행할 수 있게 되었습니다.
좋습니다. 하지만 차량이 직진만 할 수는 없죠?
좌회전을 해야 합니다.
그래서 결국 우리는 직진에서
완전 자율주행을 달성했습니다.
도로에 문제가 없는 직진 상황에서 말이죠.
그런데 좌회전을 해야 할 때
차량이 멈춰서 인간이 다시
제어해야 했습니다.
그래서 우리가 한 일은
좌회전 데이터셋을 구축해서
좌회전을 계속 개선하는 것이었습니다.
결국 차량이 좌회전을 할 수 있게 되었지만
보행자가 인도에 있으면
다시 문제가 생겼습니다.
그래서 우리는 보행자가 인도에 있는
좌회전 상황의 데이터셋을 새로 만들어야 했죠.
결국 답은 평가 데이터셋 구축이
시간이 걸리는 작업이라는 것입니다.
어떤 시나리오가 어려운지는
실제로 마주쳐봐야 알 수 있습니다.
그래서 프로덕션에 배포하려면
팀 전체가 확신을 가질 때까지
이 루프를 계속 사용하라고 권합니다.
'이 정도면 출시할 만하다'고 생각하고
프로덕션에 배포한 후에도
개선할 새로운 예시들을 찾게 될 것임을
받아들이세요.
이것은 비즈니스에 따라서도 많이 달라집니다.
의료나 법률 기술 분야라면
여행 에이전트를 만드는 것보다
더 높은 기준이 필요할 수 있습니다.
네, 맞습니다.
네.
안녕하세요, 제 이름은 마타이입니다. 질문이 있습니다.
제가 이해한 바로는 AI 플랫폼이
프롬프트를 받아서
그 프롬프트를 모델에 직접 보내는
방식으로 작동하는 것 같은데, 맞나요?
맞습니다.
네.
컨텍스트와 데이터와 함께요.
네, 물론입니다.
플랫폼에 도구들을 포팅할 수 있는
가능성이 있다고 하셨는데, 맞죠.
맞습니다.
그런데 전체 시스템 테스트는 어떤가요?
저희는 이미 전체 워크플로우를
보강하는 플로우들을 가지고 있습니다.
도구 호출 외에도 말이죠.
네.
그리고 이것들이
최종 결과물이 어떻게 보일지에
상당히 중요한 영향을 미칩니다.
저희가 가진 모든 것을 거쳐가는
데이터셋에서 실제로 저희 시스템을 호출하는
커스텀 러너에서
그런 평가들을 실행할 방법이 있을까요?
이 세션 후에 저를 찾아오세요.
대화를 나눠봅시다.
그게 짧은 답변입니다.
저희는 그런 도구들과 시스템을
갖추고 있습니다. 말씀하신 도구 호출처럼요.
보셨겠지만, 엔드투엔드 에이전트의 경우에는
실제로 몇 가지를 구축하고 있고
그것에 대해 얘기하고 싶습니다.
좋은 질문이네요. 나중에 찾아뵙겠습니다.
네.
네.
네, 물론입니다. 좌회전 예시로 돌아가서
그리고 PRD에서
평가로의 전환에 대한 얘기뿐만 아니라
기능 개발의 라이프사이클이 어떻게 생겼는지
그리고 특히 기능의 관계는 물론
소유권과 책임감 측면에서
팀과의 관계가 어떤지 궁금합니다.
네.
네.
네. 좋은 질문입니다.
이 새로운 세상에서 AI 엔지니어들과 어떻게 일하는지는
꽤 흥미로운 주제인데
이 발표의 주제는 아니지만
정말 관련성 높은
질문이고 더 자세히
이야기하고 싶은 주제이기도 합니다.
두 가지 답변이 떠오르네요.
하나는 개발 사이클이
훨씬 빨라졌다는 것입니다.
이러한 모델들이 발전하는 속도와
이러한 시스템들이 발전하는 속도가
프로토타입에서 프로덕션으로 넘어가는 것이
실제로 그 어느 때보다도
빨라졌습니다.
이것은 제가 개인적으로 관찰한 것으로
말씀드릴 수 있는 한 가지 사실입니다.
아이디어에서 업데이트된 프롬프트로
그리고 그 프롬프트를 배포하는 것까지
테스트를 포함해서 하루 만에
할 수 있다고 느낍니다.
이는 일반적인 소프트웨어 개발
사이클에서는 들어본 적이 없는 일이라고 생각합니다.
이것이 팀과 함께 반복하는 방식이
훨씬 빨라졌다는 한 가지 관찰점입니다.
두 번째로는
책임에 관해서는
저는 이것을 다음과 같이 봅니다.
제품 매니저는 최종 제품의
경험의 관리자입니다.
즉, 평가가 제대로 이루어지고
팀이 개선할 수 있는 휴먼 라벨을 갖도록 하는 것
이것이 제품 매니저가 집중해야 할
매우 탄탄한 영역입니다.
개발팀의 나머지 팀을 위해
데이터가 제대로 준비되어 있는지 확인하는 것이죠.
동시에 저는
팀의 PM이지만 Cursor에서
직접 몇 가지를 작성하고 있습니다.
이러한 모델 중 하나를 사용해서 실제로 들어가서
코드베이스 자체와 대화할 수 있다는 것,
이것이 AI 제품 매니저들에게
하나의 기대사항이 되기 시작했다고 생각합니다.
코드에 대한 이해력을 갖고
이러한 도구들을 사용할 수 있어야 한다는 것이죠.
정말로 이 발표가 끝나면
돌아가서 제가 앞서
망쳐놓은 것을 고치려고 합니다.
제가 그럴 수 있는 이유는
제가 시스템에 프롬프트를 주는 방식이
그렇게 정교하지 않기 때문입니다.
어제 저는 시스템에게
서버 위에서 여행 일정을 생성하는
스크립트를 만들어 달라고 했습니다.
15개 정도의 예시가 필요하다고 했더니
그냥 해주더라고요, 맞죠?
그런 것들이 예전에는 불가능했습니다.
그래서 PM은 최종 제품 경험에 대한
책임을 지지만, 동시에 PM들은
그 어느 때보다도 더 큰 영향력을 갖게 되었습니다.
아마 제품 관리 전체 직업 여정에서
가장 큰 변화일 거예요. 왜냐하면
이제 더 이상 엔지니어링 팀에
의존하지 않고 원하는 것을 구현할 수
있어요. 그냥 직접 할 수 있거든요.
음, 그렇게 해야 하는지는 다른
문제이고, 그건 팀과
논의해야 할 부분이에요. 하지만
중요한 건 이제 그렇게 할 수 있다는
사실이고, 이건 전에는 불가능했던
일이에요. 그래서 저는 PM들이
사람들이 말해왔던 역할의 경계를
뛰어넘고 그것이 어디로 이끌어주는지
확인해보라고 권하고 싶어요. 그래서
길게 말하자면, 여러분의 경험은
팀과의 경계에 따라 다를 수
있겠지만, 이 시점에서
그런 경계를 재정의해보는 걸
추천해요.
>> 네, 맞아요.
>> 그 얘기에서 조금 벗어나서,
이 주제와는 약간 다르지만,
좀 더 기술적으로 발전하고 싶은
제품 관리자로서 AI 엔지니어들과
일할 때는 어떤 모습이어야 할까요?
>> 네.
>> 제가 현재 코드베이스에 대한
접근이 매우 제한적인 환경에서
일하고 있거든요. 커서를 사용해서
데이터 작업용 파이썬은 작성하지만,
코드를 직접 살펴보거나
분석할 수 있는 접근권한이
없어요. 그래서 PM으로서 어떻게
발전할 수 있는지, 그리고 우리 회사
문화를 그런 방향으로
이끌어갈 수 있는 방법에 대한
조언을 듣고 싶어요.
>> 네, 좋은 질문이네요. 사실 저도
후속 질문이 있어요. 괜찮다면
여기 있는 분들께 물어보고 싶은데,
회사 규모가 어떻게 되나요? 회사명은
말씀하지 않으셔도 되고, 그냥
규모가 궁금해요.
>> 저희는 약 300명 정도예요. 네. 그런데
기술팀은 아마 그 중 3분의 1 정도?
>> 그렇군요. 엔지니어가 약 100명,
전체 300명이면요. 그리고 회사에
아직 코드 접근권한을 가진 기존
제품 관리자들이 있나요?
>> 아니요, 저희는 PM팀이 새로
구성된 팀이에요.
>> 알겠습니다. 좋은 질문 감사해요.
저희가 시작한 한 가지 방법은
회사의 공개적인 포럼을
활용하는 거예요. 음, 죄송해요,
뒤쪽에 앉아계신 저희 CEO를
공개하게 되네요.
[웃음]
저희 Arize에 대한 질문이 있으시면
그분과 얘기해보세요.
제가 이 얘기를 하는 이유는
오늘 저희 타운홀을 놓쳤는데,
들어보니 사람들이 계속
자신들이 개발 중인 AI 데모를
보여주는 시간이었다고 하더라고요.
이게 정말 강력한 이유는
회사 전체가 무엇이 가능한지에
대해 활발해질 수 있기
때문이에요. 솔직히 말하면,
오늘날 대부분의 팀들이 이런
도구들의 경계를 충분히 탐험하지
못하고 있을 가능성이 높아요.
그래서 이런 토크에 참여하고
평가를 어떻게 실행하는지
보는 것이야말로
정말 중요한 거죠.
실험에 어떤 요소가 들어가는지
알고 팀을 앞으로 이끄는
사람이 될 수 있다는 것은
정말 강력하다고 생각하고
이를 정말 협력적인 방식으로
할 수 있다고 봅니다. 제 생각엔
PM으로서 우리의 역할은 팀에
영향력을 행사하고 제품
방향에 영향을 주는 것이라고
생각합니다. PM들이 조직에서
더 기술적이어야 한다는
것에 영향을 줄 기회가 있고
무언가를 만들어서 그들에게
보여줄 수 있고 여러분이 만든 것으로
나머지 팀에게 인상을 남길 수 있습니다.
그것이 제 개인적인 조언입니다. 네.
>> 네, 해보세요. [웃음]
>> 사실 가능한지 궁금한 질문이 있는데요.
AI가 어떻게 팀 구조를
바꿀 것이라고 생각하시나요? 지금은
예를 들어
엔지니어 10명, 프로덕트 매니저 1명,
디자이너 1명 이런 식이잖아요.
>> 5년 후엔 어떻게 될까요?
프로덕트 매니저 1명, 엔지니어 1명,
디자이너 1명으로 될까요?
>> 이 질문은 당신이 답해야죠.
>> 마이크로 하고 싶으면요.
>> [웃음]
>> 간단히 말하면 실제로
코드를 다루는 커서가 있으니 PM들이
질문을 하느라 시간을 쓰는 일이
너무 많아요. 얼마나 자주 우리가
커서에게 묻는지 아시잖아요.
그러니까 거기서부터 시작해서
코드베이스를 커서로 열어서
PM들에게 제공하세요. 그리고
얼마 전에 우리가 코드베이스에서
커서로 PRD를 작성했어요. 그래서
거기서 시작하겠습니다.
>> 네.
>> 지금 앞을 내다보는 것은
어렵습니다. 그냥 많은 일자리가
변할 것이라고 생각해요. 우리는
AI 커서 사용을 회사 전체에
가능한 한 확산시키려고 노력하고 있어요.
>> 네, 마케팅 팀에서도
커서를 사용하는 사람들이 있다고
들었어요. 꽤 멋진 일이죠.
>> 네.
>> 후속 질문이요.
>> 지금 프로덕트가 더 기술자
역할을 한다고 말씀하셨는데
기술자들도 더 프로덕트
역할을 하게 될 것이라고 보시나요?
>> 정말 좋은 지적인데요.
무언가를 만드는 비용이
내려갈 때, 그리고 실제로 내려갔을 때
무엇을 만들어야 하는지가
정말 중요하고 가치 있는 일이 됩니다.
역사적으로 그것은
프로덕트 담당자나 비즈니스
담당자가 "우리 고객들이
원하는 것이 이거야. 이걸
만들어보자"라고 하는 것이었어요.
이제 우리는 프로덕트 담당자들에게
"그냥 이걸 만들어보세요"라고
말하고 있어요. 그러니까 빌더들은
"잠깐, 그럼 내 일은 뭐야?"라고
생각하게 됩니다. 그리고 그것을
바라보는 좋은 방법이 있다고
생각하는데, 제가 가진
멘탈 프레임워크는 만약 회사에
더 이상 역할이 없다면 어떨까
마치 야구카드 같은 거죠
스킬을 가지고 있는 것처럼요. 대신 스킬 스택을 가지고 있다고 상상해보세요
예를 들어, 저는 정말로 고객과 대화하는 것을 좋아하고
약간의 코딩도 즐기지만
프로덕션 장애가 발생했을 때
책임지고 싶지는 않아요
하지만 저는 장담할 수 있어요
고객과 대화하는 것을 싫어하고
오직 고품질 코드만 배포하고 싶어하며
문제가 발생했을 때 책임지고 싶어하는
사람을 찾을 수 있다는 걸요
그리고 저는 여러분의 회사를
정말 상호 보완적인 스킬 스택을 가지도록
구조화하고 싶어요
'나는 이것을 하고 이것이 내 일이며'
'저것은 하지 않는다'고 하는 사람들과는 달리요
네, 그렇습니다
그와 관련된 이야기가 하나 있어요
저희는 human in the loop을 테스트하고 있는데
몇 가지 다른 방식으로요
기본적으로 저희는
인간을 에이전트의 도구로 활용하는 방법을 테스트하고 있어요
그래서 저희는
에이전트가 회계 시스템에서
사용할 수 없는 무언가가 필요할 때
CFO에게 갑니다. CFO가
도구로 등록되어 있기 때문에
슬랙 메시지를 보내고
답변을 받아서 계속 진행하죠
이것은 방금 말씀하신
스킬을 정의하고
보유한 리소스를 정의하는 것과 매핑되죠
완전히 구체화되지는 않았지만
에이전트에게 컨텍스트를 제공하는 데
효과적으로 작동하고 있어요
인간만이 가진 것들에 대해서요
정확히요
그렇다면 이 분의 회사는
에이전트를 광범위하게 사용하고 계시는 것 같은데
인간이 승인하는 방식이군요
승인자 워크플로우가 있으신 거죠
에이전트가 인간의 도구가 되는 방법보다는
저희는 이를 뒤집어서
에이전트가 모든 것을
할 수 있다면 어떨까 하고
생각하고 있어요
그리고 할 수 없는 부분에 대해서는
인간을 도구로 활용하는 거죠. CFO가
AI 에이전트의 도구인 셈이에요
흥미롭네요
저희가 대화해야겠어요. 정말 멋진
워크플로우네요. 꼭 더 물어보겠습니다
정말 멋져요
좋네요, 음, 기꺼이
어느 정도는 맞습니다. 인간이
루프에서 이것이 좋은지 나쁜지를 승인하는 것이고
그런 식으로 생각할 수 있죠
네. 실제로
구현하는 것이 어떤 것인지에 대해 질문이 있어요
트레이스를 Arize로 보내는 것 말이에요
제가 알기로는 Arize에
오픈 추론이라는 기능이 있어서
여러 다른
여러 다른
프로바이더로부터 트레이스를 캡처할 수 있게 해줍니다
하지만 제한사항과
제약사항, 그리고 여러분이 가진 의견은
evaluation이 어떻게 구조화되어야 하는지에 대해
실제로 플랫폼을 활용해서
이러한 작업들을 수행하고
예를 들어 evaluation을 평가하거나
또는 수치적으로
그저
수치적으로
evaluation에서 그래프를 생성하고
결과를 도출할 수 있도록 하는 것은 무엇인가요
좋아요, 명확해요
그럼 후속 질문을 하나 해도 될까요?
당신의 질문은 에이전트를 사용해서
플랫폼의 일부 워크플로우를 처리하는 방법에 관한 것이었나요
아니면 제가 놓친 부분이 있나요?
음, 그 질문은
이런 거죠
어떤 종류의 출력물이
어떤 종류의 평가를 Arize에서
엔지니어들과 제품팀으로부터
기대하는지에 대한 것이요
로그를 전송하고 계시잖아요, 맞죠?
네. 맞습니다. 그 로그들로부터 무엇을
기대하시는지, 이 플로우가
작동하게 하려면 말이죠?
알겠습니다. 네, 정말 좋은 지적입니다.
코드에서 보시게 될 텐데
데모에서 조금 건너뛴 부분이 있어요
바로 플랫폼을 사용하기 위해
로그를 올바른 곳에 배치하는 방법입니다.
안타깝게도 이 페이지가
로딩되지 않네요. 잠깐만요
됐습니다. 슬랙 채널에도
공유하겠습니다. 이것이
앞서 말씀드린
트레이스와 스팬에 관한 내용이에요.
여러분 팀에서 이미 로그나
트레이스와 스팬을 가지고 계실 가능성이 높습니다.
DataDog이나 Grafana 같은
다른 플랫폼을 사용하고 계실 수도 있고요.
저희가 하는 일은 동일한 트레이스와
스팬을 가져와서 더 많은 메타데이터로
보강하고, 플랫폼이
어떤 컬럼을 찾아봐야 하는지 알 수 있도록
구조화하는 것입니다
플랫폼에서 보신 데이터를 렌더링하기 위해서요.
실제로는 동일한 접근 방식을 사용하는 거죠.
저희는 OpenTelemetry라는
컨벤션 위에 구축되었습니다
이는 트레이싱을 위한
오픈소스 표준입니다.
저희는 실제로 OTel 트레이싱과
자체 구축한 자동 계측을 사용하는데
전혀 벤더 락인이 없습니다.
저희 플랫폼으로 계측을 완료하면
저희 패키지인 OpenInference를 사용해서
실제로 어떤 유형의 에이전트 프레임워크를
구축하든 상관없이
즉시 로그가 표시됩니다
그리고 네, 그것을 유지할 수 있어요
제가 의미하는 바를 보여드리겠습니다.
예를 들어 LangGraph로
개발하고 있다면
정말 간단합니다. pip install
arize phoenix arize otel만 하면 되고
langchain_instrument라는
한 줄의 코드를 호출하면
코드에서 어디를 찾아야 할지 알고
로그를 구조화합니다
로그에 더 구체적인 것을 추가하고 싶다면
함수 데코레이터를 추가할 수 있습니다
이것은 기본적으로
특정 함수를 캡처하는 방법입니다
기본 범위에 포함되지 않은
그리고 평가에 관해서는
실제 데이터 입력과 출력에 대해
논의하고 계신데, 평가에
무엇을 전달해야 하는지
UI를 통해 설계할 수 있다는 것을 알고 있는데
어떤 것을 염두에 두고 계신가요?
올바른 것을 어떻게 얻는지에 대해
평가에 사용할 올바른 텍스트를 얻는 방법이 당신의 질문인 것 같네요
어떤 것을 사용해야 하는지 어떻게 알 수 있는지
질문을 다시 정리하겠습니다. 나중에 다시 답변드리겠습니다.
네, 괜찮습니다. 추가 메타데이터로 데이터를 보강한다는 것이 무슨 의미인가요?
데이터가 한정되어 있잖아요, 맞죠?
네, 맞습니다. 대부분의 추적과 로깅 데이터는 지연 시간, 타이밍 정보 같은 것들만 포함합니다.
우리가 하고 있는 것은 사용자 ID, 세션 ID와 같은 더 많은 메타데이터를 추가하는 것입니다.
간단한 예시를 보여드리겠습니다. 이전에 보여드린 예시에서
실제로 세션 같은 것들이 있습니다. 여기 대화의 주고받기 예시가 있죠.
데이터 독에서는 이런 시각화를 얻을 수 없습니다. 왜냐하면 데이터 독은 단일 스팬이나 추적을 보고 있기 때문입니다.
인간이 무엇이고 AI가 무엇인지에 대한 맥락적 인식이 실제로는 없습니다. 그래서 우리는 서버 호출에서 맥락을 추가하고
그것을 당신의 스팬에 추가합니다. 이해가 되시나요? 기본적으로 데이터를 좀 더 풍부하게 만들고
사용할 수 있는 방식으로 구조화하는 것입니다. 더 구체적인 서버 사이드 로직이 있다면 그것도 추가할 수 있어서 매우 유연합니다.
네, 그렇군요.
음, 도발적인 질문이 하나 있습니다. 저는 이전에 비디오 게임 업계에서 일했는데, 어떤 기능이 재미있을지에 대한 논쟁에서
작동하는 프로토타입이 모든 논의에서 승리했습니다. 문서에 적힌 것은 중요하지 않았어요.
맞습니다. 그래서 회사 코드에 접근할 수 없다고 하는 분에게는 실제로 작은 데이터 조각에 접근을 시도해보라고 말씀드리겠습니다.
그리고 원하는 기능의 작동하는 프로토타입을 만들어보세요. 평가의 일부 스텁과 함께 말이죠.
엔지니어에게는 조잡한 데모를 들고 나타나는 프로덕트 매니저보다 더 나쁜 것은 없다고 생각합니다.
네, 하지만 실제로 작동하고 재미있을 수 있고, 완성도가 있고, 좋은 느낌을 주며, 사용자 요구사항을 충족하는 것이죠.
이 공식의 엔지니어링 측면에 있었던 경험으로는, 너무 조잡해서 고쳐야 합니다.
예외 사례에 대해 생각하지 않았어요. 그래서 Arize가 프로덕트 매니저가 작은 데이터 세그먼트를 마이닝하고
작동하는 예시를 만드는 흐름에 어떻게 적합한가요? 아마도 정말 조잡하지만
회사가 이미 가지고 있는 제품과 비슷하면서도 다음 단계의 기능을 보여주는 것처럼 보이는 무언가를 만드는 것 말이죠.
좋은 지적입니다. 네, 프로토타입을 만들고 고품질의 프로토타입을 구축하는 것은 정말 멋진 일이라고 생각합니다.
데이터를 사용해서 시스템이나 프로토타입을 만드는 것은 정말 좋은 지적입니다.
그래서 Arize는 여기서 무엇을 하나요? Arize에 접근할 수 있지만 코드베이스에는 접근할 수 없다면
여전히 이 데이터를 가져와서 CIS 관리자로부터 허가를 받았다고 가정하면, 실제로 이 데이터를 내보낼 수 있습니다.
데이터셋을 구축했다면, 간단히 이 데이터를 가져와서 내보내고 그것을 실제로 사용할 수 있습니다.
간단히 보여드리겠습니다. 이것은 데이터셋 가져오기입니다. 이번 주 말에 다운로드 버튼이 생길 예정입니다.
하지만 실제로 이 데이터를 가져와서 로컬에서 실행하고, 로컬에 보관하고, 그리고 실제로 로컬 코드에서 사용해서
예시를 반복해볼 수 있습니다. 물론 보안팀이 괜찮다고 하는 경우에 말이죠.
하지만 정말 좋은 지적입니다. 프로덕션 코드베이스에 접근할 필요 없이 하나의 플랫폼에서 반복할 수 있다면
우리가 추진하는 것은 전체 팀이 프롬프트와 평가를 함께 반복 작업하는 것입니다.
많은 경우에 사일로에서 일어나고 있는 것과는 달리 말이죠. 좋습니다. 모든 질문이 끝난 것 같습니다. 한 시간 반 동안 AI PM 평가에 대한 얘기를 들어주셔서 감사합니다.
더 질문이 있으시면 계속 있을 테니 시간 내주셔서 정말 감사합니다.