주요 컨텐츠로 이동

실무에서의 에이전트 추론: 정형 및 비정형 데이터 이해

작성자: Databricks AI 연구팀

in


이 포스트 공유하기
Databricks "Agentic Reasoning" graphic with a bar chart showing Agent Bricks Supervisor Agent outperforming the SoTA Baseline on both STaRK and KARLBench benchmarks.

기업 데이터는 사일로화되어 있으면 거의 유용하지 않습니다. "지난 3개월간 판매량이 감소한 당사 제품은 무엇이며, 다양한 판매자 사이트의 고객 리뷰에서 제기된 잠재적으로 관련된 문제는 무엇인가?"와 같은 질문에 답하려면 데이터 레이크, 리뷰 데이터, 제품 정보 관리 시스템을 포함한 구조화 및 비구조화 데이터 소스의 혼합을 통한 추론이 필요합니다. 이 블로그에서는 Databricks Agent Bricks Supervisor Agent(SA)가 구조화 및 비구조화 데이터의 하이브리드를 기반으로 하는 다단계 추론을 통해 이러한 복잡하고 현실적인 작업을 어떻게 도울 수 있는지 보여줍니다.

Figure 1: STaRK 및 KARLBench 벤치마크에서 SoTA 기준선과 Agent Bricks SA의 품질 비교. STaRK의 경우, 품질 점수로 모든 STaRK 데이터셋(Amazon, MAG, Prime)에 대한 평균 Hit@1을 보고합니다. KARLBench의 경우, 6개 데이터셋에 대한 정규화된 지표의 평균을 보고합니다(아래에서 자세한 내용 확인).

튜닝된 지침과 신중한 도구 구성을 통해 SA는 광범위한 지식 집약적 엔터프라이즈 작업에서 높은 성능을 발휘합니다. 그림 1은 SA가 다음과 같은 항목에서 SoTA 기준선보다 20% 이상의 성능 향상을 달성했음을 보여줍니다:

  • STaRK: 스탠포드 연구원들이 발표한 세 가지 반구조화 검색 작업 모음입니다.
  • KARLBench: Databricks에서 최근 발표한 복잡한 기반 추론을 위한 벤치마크 모음입니다.

Supervisor Agent는 학술 검색(+21% on STaRK-MAG)부터 생물의학 추론(+38% on STaRK Prime), 금융 분석(+23% on FinanceBench)에 이르기까지 광범위한 경제적으로 가치 있는 작업에서 상당한 이점을 보여줍니다.

Agent 설정

Agent Bricks Supervisor Agent는 에이전트와 도구를 오케스트레이션하는 선언적 에이전트 빌더입니다. 이는 대규모로 다단계 LLM 워크플로를 구축, 평가 및 배포하기 위한 내부 에이전트 프레임워크인 aroll을 기반으로 합니다.1 aroll과 SA는 고객이 자주 접하는 고급 에이전트 사용 사례를 위해 특별히 설계되었습니다.

aroll은 간단한 구성 변경을 통해 새로운 도구와 사용자 지정 지침을 추가할 수 있으며, 수천 개의 동시 대화 및 병렬 도구 실행을 처리할 수 있고, 쿼리를 개선하고 부분적인 답변에서 복구하기 위한 고급 에이전트 오케스트레이션 및 컨텍스트 관리 기술을 통합합니다. 이 모든 것은 오늘날의 SoTA 단일 턴 시스템으로는 달성하기 어렵습니다.

SA는 이 유연한 아키텍처를 기반으로 구축되었기 때문에 사용자 지정 코드를 작성할 필요 없이 최상위 지침 조정 또는 에이전트 설명 개선과 같은 간단한 사용자 큐레이션을 통해 품질을 지속적으로 개선할 수 있습니다.

Figure 2: STaRK-MAG 데이터셋에 대한 Databricks Supervisor Agent 설정.

그림 2는 STaRK-MAG 데이터셋에 대해 Supervisor Agent를 구성하는 방법을 보여줍니다. 이 블로그에서는 관계형 지식 기반을 저장하기 위해 Genie 공간을 사용하고 비구조화 문서를 검색하기 위해 Knowledge Assistants를 사용합니다. 모든 Knowledge Assistants 및 Genie 공간에 대한 자세한 설명과 에이전트 응답에 대한 지침을 제공합니다.

하이브리드 추론: 구조화와 비구조화의 만남

구조화 및 비구조화 데이터의 하이브리드를 기반으로 한 기반 추론을 평가하기 위해 세 가지 도메인을 포함하는 STaRK 벤치마크를 사용합니다:

  • Amazon: 제품 속성(구조화) 및 리뷰(비구조화)
  • MAG: 인용 네트워크(구조화) 및 학술 논문(비구조화)
  • Prime: 생물의학 개체(구조화) 및 문헌(비구조화)

예를 들어, "논문 115편을 쓴 라이드베르크 원자에 관한 논문을 찾아줘"라는 질문은 시스템이 구조화된 필터링("논문 115편을 쓴 공동 저자")과 비구조화된 이해("라이드베르크 원자에 관한")를 결합해야 합니다. 최고의 게시된 기준선은 LLM 기반 재랭커와 함께 벡터 유사도 검색을 사용합니다. 이는 강력한 단일 턴 접근 방식이지만 데이터 유형에 걸쳐 쿼리를 분해할 수는 없습니다. 공정한 비교를 보장하기 위해 현재 SoTA 기본 모델로 이 기준선을 다시 실행하여 상당히 강력한 기준선을 제공했습니다.

Figure 3: STaRK 결과 – 각 데이터셋의 인간 생성 부분. (a) 논문에서 보고된 최고 기준선 (b) 현재 SoTA 기본 모델을 사용하여 기준선 재구현 (c) Agent Bricks SA에 대한 Hit@1을 보고합니다.

당사의 접근 방식을 통해 SA는 각 질문을 분해하고, 적절한 도구로 하위 질문을 라우팅하며, 여러 추론 단계에 걸쳐 결과를 종합합니다. 그림 3에서 볼 수 있듯이, 이는 Amazon에서 +4% Hit@1, MAG에서 +21%, Prime에서 +38%의 성능을 달성합니다. 이는 원래 기준선의 최고 성능과 현재 SoTA 기본 모델을 사용한 재실행 기준선 모두에 대한 결과입니다. 답변이 구조화 및 비구조화 데이터의 가장 긴밀한 통합을 요구하는 MAG 및 Prime에서 가장 큰 개선을 볼 수 있습니다.

Figure 4: STaRK-MAG의 쿼리 17(

위의 예시 질문("논문 115편을 쓴 라이드베르크 원자에 관한 논문을 찾아줘")을 사용하여, 기준선은 임베딩이 구조적 제약 조건("공동 저자가 정확히 115편의 논문을 가지고 있음")을 인코딩할 수 없기 때문에 실패합니다. 그림 4에서는 SA의 실행 추적을 보여줍니다. 먼저 Genie를 사용하여 115편의 논문을 가진 759명의 모든 저자를 찾고 Knowledge Assistant를 사용하여 라이드베르크 논문을 검색한 다음 두 세트를 교차 참조합니다. 중복이 발견되지 않으면 SA는 조정합니다. 115편 논문 저자 목록을 제목이나 초록에 "라이드베르크"가 언급된 모든 논문에 대해 SQL JOIN하여 구조화된 데이터에서 직접 답변을 가져옵니다. 그런 다음 Knowledge Assistant를 호출하여 관련성을 확인하고 Genie를 호출하여 저자의 논문 수를 확인한 다음, 올바른 논문을 성공적으로 반환합니다.

지식 집약적 작업에서의 에이전트 이점

Figure 5: KARLBench 결과 – 6가지의 어려운 기반 추론 작업 모음. 참고: 각 작업은 자체 메트릭(TREC-Biogen/QAMPARI/PMBench/FreshStack의 Nugget Completeness, BrowseComp+의 이진 정확도, FinanceBench의 Answer Correctness)을 사용하며, 모두 프레젠테이션 편의를 위해 0-100 척도로 정규화됩니다.

구조화된 데이터가 필요 없는 강력한 단일 턴 기준선(STaRK에 대한 최고 게시 기준선과 유사)과 Agent Bricks SA의 성능을 비교하기 위해, 다양한 검색 및 추론 기능을 집합적으로 테스트하는 기반 추론 벤치마크 모음인 KARLBench를 사용하여 평가합니다:

  • BrowseComp+: 제거법을 통한 개체 검색
  • TREC BioGen: 생물의학 문헌 합성
  • FinanceBench: 금융 보고서에 대한 수치 추론
  • QAMPARI: 포괄적인 개체 회상
  • FreshStack: 문서에 대한 기술 문제 해결
  • PMBench: Databricks 내부 엔터프라이즈 문서 이해

전반적으로 Supervisor Agent는 모든 6개 벤치마크에서 일관된 성능 향상을 달성했으며, 특히 포괄적인 분석 또는 자체 수정이 필요한 작업에서 가장 큰 개선을 보였습니다. FinanceBench에서는 불완전한 검색에서 복구하고 격차를 감지하며 쿼리를 재구성하여 전반적으로 +23%의 성능 향상을 가져왔습니다.

예를 들어, BrowseComp+의 질문은 각각 5-10개의 상호 연결된 제약 조건을 가지고 있습니다. 예를 들어, “러시아 클럽을 떠난 선수(2015-2020), 유럽 시민권(2010-2016), 키 1.95-2.06m. COVID로 연기된 올림픽에서의 블록 성공률은?”과 같습니다. 단일 턴 기준선은 플레이어를 올바르게 식별하는 광범위한 쿼리를 발행하지만, 세분화된 통계 문서를 검색하지 못하고 질문에 실패합니다.

BrowseComp+ 질문에 대한 Supervisor Agent의 상세 추적.
그림 6: BrowseComp+ 질문에 대한 Supervisor Agent의 상세 추적.

SA는 이 작업을 조정된 검색 계획으로 나누고 계획을 검색 가능한 하위 집합으로 분해합니다. 이는 통계가 후속 검색에서 검색되기 때문에 검색되지 않는 단일 턴 기준선의 실패를 방지합니다. 결과적으로 SA는 +78%의 상대적 개선을 달성합니다.

PMBench의 또 다른 예에서, 질문 중 하나는 “고객이 사용하는 가드레일 유형은 무엇인가?”로, 포괄적인 답변을 위해 10개 이상의 고객 대화 문서에 걸쳐 26개의 너겟(KARL 보고서의 정의 참조)이 필요합니다. 단일 턴 기준선은 모든 가드레일 범주를 단일 질문으로 검색할 수 없기 때문에 하나의 고객 언급만 찾습니다. SA는 각 가드레일 범주를 별도로 검색합니다(“PII 탐지”, “환각”, “독성”, “프롬프트 주입”). 그리고 점차 더 많은 고객 언급을 검색합니다.

배운 점

실험 전반에 걸친 결과는 몇 가지 주요 시사점을 가리킵니다.

  1. 정형화된 추론 에이전트는 올바른 도구와 데이터 표현에 액세스할 수 있다면 구조화된 데이터와 비구조화된 데이터 검색의 조합을 활용할 수 있습니다.
  2. 고품질 검색 시나리오의 경우, 재순위 지정 단계에 SoTA 모델이 사용되더라도 이기종 데이터셋에 대한 사용자 지정 RAG 파이프라인 구축은 피해야 합니다. 각 단계에서 에이전트가 올바른 데이터 소스를 선택하고 유용성을 평가하는 다단계 추론은 성능 향상에 중요합니다.
  3. Databricks Supervisor Agent에서 구현된 것과 같은 선언적 에이전트 구축 접근 방식은 사용 편의성과 품질 간의 좋은 균형을 제공합니다.

Databricks Supervisor Agent를 사용하여 STaRK 도메인 3개와 KARLBench의 6개 비구조화된 데이터셋에 대한 에이전트를 구축합니다. 이 9가지 작업에서 달라지는 유일한 것은 지침과 도구이며, 이러한 다양한 데이터셋을 처리하기 위해 사용자 지정 코드는 필요하지 않았습니다. 따라서 새로운 엔터프라이즈 작업에 대한 성능 좋은 에이전트를 구축하는 것은 처음부터 새로운 시스템을 구축하는 것이 아니라 정확한 지침을 작성하고 올바른 도구를 제공하는 문제입니다.

Agent Bricks Supervisor Agent는 모든 고객에게 제공됩니다. Agent Bricks SA는 에이전트를 생성하고 기존 에이전트, 도구 및 MCP 서버에 연결하기만 하면 바로 시작할 수 있습니다. Supervisor Agent가 프로덕션 워크플로에 어떻게 통합되는지 알아보려면 설명서를 살펴보세요.

저자: Xinglin Zhao, Arnav Singhvi, Mark Rizkallah, Jonathan Li, Jacob Portes, Elise Gonzales, Sabhya Chhabria, Kevin Wang, Yu Gong, Moonsoo Lee, Michael Bendersky 및 Matei Zaharia.


1합성 데이터 생성, 확장 가능한 RL 학습 및 에이전트 작업의 온라인 추론에 aroll이 어떻게 사용되는지에 대한 자세한 내용은 최근 출판물 “KARL: Knowledge Agents via Reinforcement Learning”을 참조하십시오.

(이 글은 AI의 도움을 받아 번역되었습니다. 원문이 궁금하시다면 여기를 클릭해 주세요)