인용(Citation)과 다중 패스 검색을 통해 에이전트의 범위를 설정하는 방법
요약
본 기사는 Slack의 CPO Jaime DeLanghe가 언급한 에이전트 설계 원칙을 다룹니다. 에이전트는 작업 시작 대화로 범위를 제한하고, 모든 메시지에 인용(citation)을 유지하며, 요약 전 여러 번의 검색을 수행해야 합니다. 이는 에이전트를 인간과의 루프 안에서 작동하는 시스템으로 간주합니다.
핵심 포인트
- 에이전트 범위는 작업 시작 대화로 제한하여 컨텍스트를 관리합니다.
- 모든 메시지에 인용(citation)을 유지하여 정확성을 확보해야 합니다.
- 프로젝트 현황 파악 시, 여러 단계의 검색 확산 및 클러스터링이 필요합니다.
- 에이전트는 인간과 상호작용하는 루프 안에서 작동하도록 설계되어야 합니다.
에이전트를 작업이 시작된 대화로 제한하고, 사용하는 모든 메시지에 인용(citation)을 유지하며, 요약하기 전에 여러 번의 검색을 수행해야 합니다. 프로젝트 현황 파악의 경우, Jaime DeLanghe는 하나의 키워드에서 다섯 개의 관련 검색으로 뻗어나가고, 관심사 클러스터가 형성된 후, 간소화된 세트가 나오고, 마지막에 요약하는 방식을 설명했습니다. 최신 정보와 참여도가 필요한 부분을 찾아냅니다. 정확성은 여전히 인용에 달려 있습니다.
Jaime DeLanghe는 Slack의 최고 제품 책임자(Chief Product Officer)입니다. 이 에피소드는 2026년 9월에 방송되었습니다.
에이전트가 읽을 수 있는 대화의 범위를 어떻게 설정할까요?
작업이 시작된 대화부터 출발하는 것이 좋습니다. 멤버십은 현황 파악 범위 확산(catch-up fan-out)을 제한하며, 더 넓은 접근성은 여전히 설치 및 권한에 달려 있습니다.
누군가 대화에서 에이전트를 언급하면, 거기서부터 그 워크스페이스의 사람들이 가지고 있지 않은 API를 호출하고 작업을 위한 채널을 열 수 있습니다. 해당 대화의 사람들은 에이전트가 준비한 개발 환경에 참여할 수 있습니다. 작업이 완료되면 채널은 종료됩니다.
작업(job)에 최초 대화 ID를 지정하고 모든 검색을 기본적으로 그 ID로 설정합니다. 프로젝트 현황 파악만이 예외입니다. 이 경우 범위 확산은 해당 사람이 이미 속해 있는 채널 내부에 머무릅니다. 그녀는 Slack이 사용자가 설정하는 제약 조건에 따라 광범위한 공유 컨텍스트와 특정 근거 기반 컨텍스트를 모두 보유할 수 있다고 말했습니다.
당신의 에이전트는 인간과 루프 안에서 작동하는 것에 가깝습니다. 그래서 채널 내부에서 이런 루프를 만드는 것은 정말 쉽습니다. Slack 내부 알림 시스템은 과거에는 그리고 오늘날에도 인간의 루프, 그리고 에이전트의 루프를 위해 일종의 구축을 해왔습니다.
Jaime DeLanghe, Slack 최고 제품 책임자(Chief Product Officer), Chain of Thought ep 71에서 발췌
Slack Wants to Be the Context … - Chain of Thought | AI Agents, Infrastructure & Engineering - Apple Podcasts
팟캐스트 에피소드 · Chain of Thought | AI Agents, Infrastructure & Engineering · 9월 2일 · 55분
![]()
부정확한 출처가 계속 보이도록 채팅 답변을 인용하려면 어떻게 해야 하나요?
최신성과 참여도(engagement)로 순위를 매기고, 반환하는 모든 주장마다 메시지 ID를 유지하세요.
검색 API는 사용자들이 가장 많이 사용하는 것이며, 에이전트가 대규모로 작동하도록 만드는 데 초점을 맞춘 부분입니다. 에이전트는 행동하기 전에 회사 대화에서 자신을 근거(ground) 삼기 위해 이를 호출합니다. 이 회사 맥락이야말로 인하우스 어시스턴트를 일반적인 어시스턴트와 다르게 만듭니다. Slack에 포함된 에이전트인 Slackbot은 인용하도록 구축되었습니다. 그것은 단순히 무언가를 알려주는 경우가 거의 없습니다. 한 번이나 두 번 출처가 명시되지 않은 답변을 본 적이 있습니다. 그들은 시스템 프롬프트를 가능한 한 많이 Slack 맥락에 근거시키려고 노력했습니다. 더 연결된 MCP(Multi-Context Providers)는 동일한 에이전트를 더 많은 출처에 근거시킵니다.
아무도 지식 기반(knowledge base)을 계획하지 않았더라도 파일과 다른 작업물들이 채팅에 들어옵니다. 그녀는 그 결과를 우발적인 지식 시스템이라고 불렀습니다. 그것은 방금 일어난 일에 대해서는 강하고, 참여를 유도한 것에 대해서는 꽤 좋습니다. 이는 주로 현재 시점에 정확했던 내용을 산출합니다. 항상 무엇이 올바른지 아는 데 가장 좋은 것은 아닙니다. 가장 최근의 항목이 오래된 지식 기반보다 훨씬 더 맞을 가능성이 높습니다. 사람이 오류를 찾아낼 수 있도록 문구 옆에 ID를 표시하세요.
... 그것은 무엇이 가장 최신인지 아는 데 정말 좋습니다. 그리고 참여가 가장 많이 된 것이 무엇인지 아는 데 꽤 좋습니다. 그리고 이 두 가지를 합치면, 대부분 현재 시점에 가장 정확한 것을 얻게 됩니다.
Jaime DeLanghe, Slack 최고 제품 책임자(Chief Product Officer), Chain of Thought ep 71에서 발췌
여러 채널에 걸쳐 프로젝트 현황을 파악하려면 어떻게 해야 하나요?
애플리케이션 코드에서 검색을 패스(passes)별로 실행하고, 결과를 좁힌 다음 모델을 호출합니다.
CPO로서 본인의 버전은 프로젝트에 대해 따라잡아 주기를 요청하는 것입니다. 단일 채널이 없습니다. 이 검색은 그녀가 속한 여러 채널을 가로질러 살펴보고, 프로젝트 관련 텍스트를 찾고, 주변 용어를 추적합니다. 키워드는 관련 키워드로 변환됩니다: 다섯 번의 검색, 관심사 클러스터, 간소화된 세트, 그리고 요약입니다.
Slackbot은 애플리케이션 레이어에서 이러한 다중 경로(multi-path) 검색을 수행하므로 모델이 선택된 하위 집합(subset)을 볼 수 있습니다. 타사 에이전트는 검색 API를 사용하지만 여전히 이러한 다중 패스 경로를 얻지 못합니다. Slack은 올해 후반에 속도 제한 및 컨텍스트 창 관리(context-window management)를 포함하여 에이전트를 위한 더 많은 데이터 처리를 구현하고 있습니다. 그녀는 원시 데이터 파이프라인(raw data hose)은 자체 컨텍스트 창을 관리하려는 개발자를 위해 유지된다고 말했습니다.
그러한 도우미가 존재할 때까지, 직접 패스를 소유하세요.
- 관련 용어 개수 제한 (Cap the related terms).
- 멤버 채널에서만 검색합니다. (Search only member channels).
- 중복을 제거합니다. (Drop duplicates).
- 최신성 및 참여도별로 순위를 매깁니다. (Rank by recency and engagement).
- 텍스트와 ID를 모델에 전달합니다. (Pass text and ids to the model).
적응하기 위한 최소한의 스케치이며, 즉시 사용할 수 있는 라이브러리는 아닙니다.
def project_catchup(project, member_channels, search_messages, call_model):
terms = related_keywords(project)[:5]
hits = []
...
related_keywords, pare_down, 그리고 rank_recent_engaged는 자리 표시자입니다. 다섯 개의 슬라이스는 그녀가 설명한 관련 검색 팬아웃(related-search fan-out)과 일치합니다. search_messages는 요청자가 이미 속해 있는 채널만 받습니다. call_model에 전달되는 리스트는 여전히 ID를 포함하고 있습니다.
따라서 키워드를 찾아낸 다음, 관련 키워드가 있는 다섯 번의 검색을 분기하여 관심사 클러스터를 형성하고, 그 안의 내용을 간소화한 다음, 이를 사용하여 요약을 만듭니다.
Jaime DeLanghe, Slack 최고 제품 책임자(Chief Product Officer), Chain of Thought ep 71에서 발췌
FAQ
첫 번째 검색은 어떤 대화를 사용해야 하나요?
작업이 시작된 대화입니다. 따라잡기(catch-up)는 해당 사람이 이미 속한 채널로만 범위를 넓히고, 다른 접근 권한은 여전히 설치 및 권한을 따릅니다.
몇 번의 검색으로 따라잡기가 이루어지나요?
하나의 키워드는 다섯 개의 관련 검색으로 이어지고, 그 다음 더 좁은 세트, 그리고 요약이 나옵니다. 오직 검색 API만으로는 속도 제한(rate limits)과 컨텍스트 창 크기(context-window size)가 개발자에게 남아 있습니다.
가장 높은 순위의 메시지를 신뢰할 수 있나요?
최상단 결과를 후보로 취급하세요. 최신성(Recency)과 참여도(engagement)는 주로 그 순간에 정확했던 내용을 표면화합니다. 그녀는 또한 Slack이 항상 무엇이 정확한지 아는 데 가장 좋지는 않다고 말했습니다. 인용(citation)은 개인이 순위를 무시할 수 있는 방법입니다.
핵심 요약 (Takeaway)
- 에이전트를 설치하고, 작업이 속한 대화에서 언급하세요.
- 기본 검색을 해당 대화로 설정하세요. 프로젝트 따라잡기의 경우, 사용자가 이미 속한 채널 내에 머무르세요.
- 모델이 사용할 수 있는 모든 메시지에 인용(citation)을 유지하세요.
- 패스별 검색을 수행하세요: 키워드, 관련 용어(그녀는 다섯 개라고 설명함), 더 좁은 세트, 그리고 요약입니다.
- 각 주장에 옆에 인용을 표시하여 사람이 잘못된 결과를 걸러낼 수 있게 하세요.
전체 대화 내용은 Chain of Thought에서 확인할 수 있습니다.
에피소드 스크립트를 기반으로 AI의 도움을 받아 작성됨.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기