오늘 LangSmith에서 Context Hub를 출시합니다. 에이전트의 행동을 정의하는 파일들을 저장하고, 버전 관리하고, 함께 작업할 수 있는 공간입니다.
AGENTS.md 파일, 스킬, 정책, 예제, 그리고 에이전트가 의존하는 다른 파일 번들들을 포함합니다. Context Hub는 이러한 파일들에 중앙 집중식 저장소를 제공하므로 팀은 에이전트 시스템의 다른 중요한 부분들을 관리하는 것과 같은 방식으로 이들을 관리할 수 있습니다.
컨텍스트가 중요한 이유
에이전트는 세 가지 주요 요소로 구성됩니다: 모델, 하네스, 그리고 컨텍스트입니다.
모델은 추론과 생성을 처리합니다.
하네스는 모델을 둘러싼 코드입니다. 에이전트 루프, 도구, 상태, 권한, 그리고 기타 런타임 동작을 정의합니다. 직접 하네스를 구축하거나 Deep Agents와 같은 사전 구축된 것을 사용할 수 있습니다.
컨텍스트는 에이전트가 읽고 따르는 정보입니다. 여기에는 시스템 지침, AGENTS.md 파일, 스킬, 예제, 회사 정책, 작성 지침, 지원 절차, 그리고 도메인별 지식이 포함될 수 있습니다.
컨텍스트는 에이전트 행동에 큰 영향을 미칩니다. 더 나은 모델이나 하네스가 도움이 될 수 있지만, 많은 에이전트 오류는 누락되거나 오래되었거나 잘못 관리된 컨텍스트에서 발생합니다. 에이전트는 올바른 도구에 접근할 수 있지만, 이를 잘 사용하기 위한 올바른 지침, 예제, 그리고 정책이 여전히 필요합니다. 일부는 컨텍스트가 하네스 자체보다 투자할 가치가 있다고 주장하기까지 합니다.
컨텍스트가 자체 저장소를 필요로 하는 이유
하네스 코드는 일반적으로 GitHub이나 엔지니어링 팀이 코드를 관리하는 곳에 속합니다. 컨텍스트는 종종 다른 워크플로우가 필요합니다.
첫째, 컨텍스트는 종종 엔지니어링 외부의 사람들에 의해 관리됩니다. LangChain에서는 브랜드 디자인, 블로그 작성, 제품 메시징 등을 위한 스킬을 사용합니다. 이러한 파일들을 만들고 검토하기에 가장 적합한 사람들은 종종 디자이너, 마케터, 지원 리더, 제품 관리자, 또는 기타 주제 전문가입니다. GitHub은 일부 팀에 적합할 수 있지만, 에이전트 행동을 형성하는 데 필요한 모든 사람에게 항상 올바른 인터페이스는 아닙니다.
둘째, 컨텍스트는 빠르게 변합니다. 팀은 작동하는 것을 배우면서 지침을 업데이트하고, 예제를 개선하고, 정책을 추가하고, 스킬을 조정합니다. 에이전트는 또한 자신들이 컨텍스트를 만들고 업데이트할 수 있습니다. 예를 들어, 에이전트는 주제를 조사하고, 참고 파일 세트를 생성하고, 향후 에이전트가 사용할 수 있도록 저장할 수 있습니다.
Context Hub가 제공하는 것
Context Hub는 팀에게 LangSmith에서 에이전트 컨텍스트를 관리할 수 있는 중앙 집중식 장소를 제공합니다.
기본적으로 AGENTS.md 파일과 스킬을 지원하며, 다른 파일 번들도 저장할 수 있을 만큼 유연합니다.
핵심 기능 중 일부는 다음과 같습니다:
- 버전 관리: 컨텍스트 파일의 변경 사항을 추적하고, 이전 버전을 검사하고, 필요할 때 롤백할 수 있습니다.
- 태그:
dev,staging, 또는prod와 같은 태그로 버전을 표시하여 에이전트가 올바른 환경에 맞는 컨텍스트를 사용할 수 있도록 합니다. - 의견: 컨텍스트 변경에 대해 팀원들과 직접 협업할 수 있습니다.
목표는 컨텍스트를 에이전트 시스템의 일등급 부분으로 더 쉽게 관리할 수 있게 만드는 것입니다.
LangSmith Context Hub 사용하기
LangSmith Context Hub를 사용하려면 먼저 스킬이나 다른 파일을 업로드해야 합니다. 몇 가지 방법으로 이를 수행할 수 있습니다.
UI에서 수동으로 정의: LangSmith UI에서 스킬이나 다른 파일을 수동으로 만듭니다.
- LangSmith에서 Context Hub를 열고 새로운 저장소를 만듭니다
- 저장소 유형(
skill또는agent)을 선택하고 핸들을 설정합니다(예:support-style-guide) SKILL.md,AGENTS.md, 또는 정책/참고 문서와 같은 파일을 UI 편집기에서 직접 만듭니다- 편집 사항을 명확한 메시지가 포함된 커밋으로 저장합니다
dev,staging, 또는prod와 같은 태그를 추가하여 에이전트가 해당 버전에 고정될 수 있도록 합니다
로컬 컴퓨터에서 업로드: LangSmith CLI를 사용하여 로컬로 정의된 파일을 업로드합니다.
# 0) 선택 사항: CLI에 Hub 명령이 있는지 확인
langsmith --help | grep hub
# 1) 인증
langsmith auth login
# 2) 로컬 스킬 폴더 스캐폴드
langsmith hub init --type skill --dir ./skills/support-style --name support-style
# 3) 파일을 로컬로 편집 (예: SKILL.md)
$EDITOR ./skills/support-style/SKILL.md
# 4) Context Hub에 업로드
# (존재하지 않으면 저장소를 만들고 새 커밋을 작성합니다)
langsmith hub push support-style --type skill --dir ./skills/support-style --description "Support response style guide"
# 5) 향후 편집을 새 커밋으로 업로드
langsmith hub push support-style --type skill --dir ./skills/support-style스킬 저장소 대신 AGENTS.md 스타일의 저장소를 업로드하는 경우 --type agent를 사용합니다.
에이전트 생성: 에이전트가 컨텍스트를 만들도록 할 수도 있습니다. 이는 처음 Karpathy가 그의 LLM wiki 아이디어로 제안했습니다. 전체 예제는 아래 섹션을 참조하세요.
컨텍스트가 존재하면 LangSmith Context Hub를 사용할 수 있는 여러 가지 방법이 있습니다.
디스크에 동기화: LangSmith CLI를 사용하여 스킬 및 기타 컨텍스트를 로컬 디스크로 끌어옵니다. 이를 통해 코딩 에이전트 및 기타 에이전트 하네스가 이러한 파일에서 읽을 수 있습니다.
# 1) 최신 버전을 로컬 디스크로 끌어오기
langsmith hub pull support-style --dir ./context/support-style
# 2) 재현 가능한 에이전트 실행을 위해 고정된 버전 끌어오기
# (커밋 해시 또는 팀의 ref/tag 사용)
langsmith hub pull support-style:<COMMIT_OR_TAG> --dir ./context/support-style-pinned
# 3) (선택 사항) 최신 커밋 해시를 얻기 위해 저장소 메타데이터 검사
langsmith hub get support-stylehub pull은 대상 디렉토리를 지우고 다시 쓰므로 전용 폴더를 사용합니다(예: ./context/...).
Deep Agents에서 가상 파일시스템으로 사용: Context Hub를 Deep Agents에서 가상 파일시스템으로 사용합니다.
예제 워크플로우 (Deep Agents SDK):
backend = CompositeBackend(
default=StateBackend(), # 스레드 범위
routes={
"/memories/": ContextHubBackend("my-agent"), # Context Hub의 지속적인 메모리
},
)
agent = create_deep_agent(
model="anthropic:claude-sonnet-4-6",
backend=backend,
)CompositeBackend는 파일시스템 경로를 접두사로 라우팅합니다. 이 설정에서 /memories/*는 ContextHubBackend를 통해 LangSmith Context Hub에 지속되고, 다른 경로는 StateBackend에서 스레드 범위로 유지됩니다. 이를 통해 전체 가상 파일시스템을 지속적으로 만들지 않고도 지속적인 장기 메모리를 얻을 수 있습니다.
예제: LLM wiki 구축
에이전트가 주제를 조사하고 그 결과를 Context Hub 항목에 쓰는 워크플로우를 구축했습니다.
에이전트는 연구 작업이 주어집니다. 정보를 수집하고, 찾은 것을 정리하고, 향후 에이전트가 참조할 수 있는 파일 폴더를 만듭니다. 그 폴더에는 요약, 소스 노트, 용어, 예제, 그리고 연구를 사용하는 방법에 대한 지침이 포함될 수 있습니다.
폴더가 Context Hub에 저장되면 팀원들은 이를 검토하고, 의견을 달고, 버전에 태그를 지정하고, 다른 에이전트가 사용할 수 있도록 할 수 있습니다.
코드: deepagents/examples/llm-wiki
# 저장소 복제
git clone https://github.com/langchain-ai/deepagents.git
cd deepagents
# 예제 환경 설치
uv sync --project examples/llm-wiki
# wiki 초기화 및 첫 번째 Context Hub 수정본 발행
uv run --project examples/llm-wiki \
python examples/llm-wiki/runner.py \
--mode init \
--repo "ada-lovelace-wiki"
# 소스 노트를 정규 wiki 페이지에 수집
uv run --project examples/llm-wiki \
python examples/llm-wiki/runner.py \
--mode ingest \
--repo "ada-lovelace-wiki" \
--source ./notes/ada.md \
--source ./notes/speeches/
# 유지 관리되는 wiki에 대해 근거 있는 질문 하기
uv run --project examples/llm-wiki \
python examples/llm-wiki/runner.py \
--mode query \
--repo "ada-lovelace-wiki" \
--question "What did Ada contribute to computing?"
# wiki 유지 관리 패스 실행 및 업데이트된 Context Hub 수정본 발행
uv run --project examples/llm-wiki \
python examples/llm-wiki/runner.py \
--mode lint \
--repo "ada-lovelace-wiki"이것이 시간에 따라 생성하는 것:
/raw/*는 수집된 증거를 유지합니다/wiki/*는 정규 지식 기반이 됩니다/wiki/index.md는 탐색을 위해 최신 상태로 유지됩니다log.md는 시간 순서대로 수집/쿼리/린트 업데이트를 추적합니다- 모든 실행은 Context Hub와 동기화되므로 팀원들은 버전을 검토하고, 의견을 달고, 홍보할 수 있습니다
이 패턴은 에이전트가 모든 실행마다 처음부터 시작하는 대신 시간이 지남에 따라 개선되는 지속적인 지식이 필요할 때 유용합니다.
Context Hub를 통한 지속적인 학습
프로덕션의 에이전트는 엣지 케이스를 만나고, 실수를 하고, 초기 컨텍스트가 예상하지 못한 상황을 만날 것입니다. 지속적인 학습은 그 간격을 좁히는 방법입니다 — 시간에 따른 실제 사용을 기반으로 동작을 개선합니다. 실제로 대부분의 작업은 컨텍스트 레이어에서 발생합니다: AGENTS.md, 스킬, 정책, 예제, 그리고 메모리 파일. Context Hub는 모든 것을 버전 관리하고, 검토 가능하게 하고, 향후 실행에 즉시 사용할 수 있게 함으로써 이를 실용적으로 만듭니다.
이것이 작동하는 이유
- 대부분의 에이전트 품질 문제는 지침, 메모리, 또는 정책 문제입니다
- 컨텍스트 파일은 모델 또는 하네스 변경보다 더 빠르게 반복할 수 있습니다
- 버전 관리되는 컨텍스트와 문제 추적의 결합은 반복 가능한 개선 루프를 만듭니다
Deep Agents 배포의 경우 Context Hub 백업 메모리를 사용하면 문제 보드를 동일한 컨텍스트 저장소에 직접 연결하여 문제와 컨텍스트 업데이트를 한 곳에서 연결된 상태로 유지할 수 있습니다.
코드: langchain-samples/deepagents-with-langsmith
# 저장소 복제
git clone https://github.com/langchain-samples/deepagents-with-langsmith.git
cd deepagents-with-langsmith
# 의존성 설치
uv sync
# 메모리 백업 깊은 에이전트 배포 및 문제 보드 연결
uv run python agents/memory_backed_agent/deploy_memory_backed_agent.py \
--agent-name my-agent개방형 메모리 표준
에이전트 메모리는 몇 가지 일반적인 범주로 정착하기 시작했습니다: 과거 상호작용의 에피소드 메모리, 벡터 또는 하이브리드 검색을 통해 검색되는 의미 메모리, 그리고 지침, 스킬, 정책 형태의 절차적 메모리. 여전히 부족한 것은 에이전트, 프레임워크, 그리고 데이터 레이어 전체에서 메모리를 저장하고, 읽고, 업데이트하고, 버전 관리하고, 이동시키는 공유된 방법입니다.
우리는 Elastic, MongoDB, Pinecone, 그리고 Redis와 함께 에이전트 메모리에 대한 개방형 표준을 개발하고 있습니다. AGENTS.md와 스킬 파일은 절차적 메모리에 대한 유용한 관례가 되었지만, 버전 관리, 환경별 태그 지정, 또는 에이전트 간 이식성을 위한 공유된 사양이 없습니다. 이미 프로덕션 데이터와 검색 워크로드를 지원하는 파트너들과 함께, 우리는 메모리 시스템이 공유해야 하는 인터페이스, 메타데이터, 버전 관리 패턴, 그리고 검색 의미론을 정의하고 있습니다.
우리 파트너들이 말하는 것:
프로덕션에서 작동하는 에이전트를 구축하는 것은 검색에 달려 있습니다: 올바른 시간에 올바른 모델에 올바른 컨텍스트를 제공하는 것입니다. Elastic은 이미 규모 있게 에이전트를 실행하는 팀을 위한 벡터, 키워드, 그리고 하이브리드 검색을 제공하고 있으며, Context Hub는 이러한 기능을 더 많은 개발자에게 제공합니다. LangChain과의 우리의 작업은 AI 혁신을 진전시키기 위한 개방형 생태계 접근 방식의 가치를 보여줍니다.
- Ken Exner, Elastic의 최고 제품 담당자
다음 세대의 에이전트는 절대 잠들지 않고, 기계 속도로 작동하며, 막대한 양의 대화 로그, 메모리, 엔터프라이즈 데이터에서 올바른 컨텍스트가 필요합니다. 진정한 과제는 올바른 순간에 올바른 에이전트에 올바른 컨텍스트를 전달하는 것입니다. 에이전트 컨텍스트는 동적 스키마와 라인 속도로 작동하는 정밀한 검색이 필요합니다. MongoDB는 정확히 그것을 위해 구축되었습니다. 우리는 AI 에이전트의 미래를 가능하게 할 ContextHub 개방형 표준 및 참조 아키텍처를 개발하기 위해 LangChain과 협력하기를 기대합니다.
- Pablo Stern-Plaza, MongoDB의 AI 및 신흥 제품 최고 제품 담당자
메모리와 컨텍스트는 지능형 모델을 지식 있는 에이전트로 변환시키는 것입니다. 우리는 Context Hub를 생태계의 개방형 표준으로 형성하는 데 도움이 되도록 LangChain과 협력하게 되어 기쁩니다. Pinecone은 팀에게 이러한 에이전트를 프로덕션에서 정확하고 신뢰할 수 있게 만드는 검색 레이어를 제공합니다.
- Ash Ashutosh, Pinecone의 CEO
메모리와 컨텍스트는 오늘날 에이전트를 구축하는 팀에게 가장 중요하고 해결되지 않은 문제입니다. LangChain의 Context Hub이 함께 모이는 것을 보는 것은 흥미로우며, LangChain의 팀과 함께 그 표준이 어떻게 보일지 형성하는 데 도움이 되어 자랑스럽습니다. Redis는 팀이 더 빠르고, 더 신뢰할 수 있으며, 프로덕션에서 더 유용한 에이전트를 구축하는 데 도움을 줍니다. Context Hub는 그 사명에서 또 다른 진전이 될 것입니다.
- Rowan Trollope, Redis의 CEO
결론
에이전트는 모델, 하네스, 그리고 컨텍스트로 구성됩니다. 팀이 더 많은 에이전트를 구축할수록, 그 컨텍스트는 AGENTS.md, 스킬, 정책, 예제, 그리고 생성된 연구와 같은 파일에 점점 더 살아갑니다.
LangSmith Context Hub는 팀에게 이러한 파일을 관리하고, 변경에 대해 협업하고, 업데이트를 버전 관리하고, 에이전트 전체에서 승인된 컨텍스트를 사용할 수 있는 중앙 집중식 장소를 제공합니다.