microsoft/TypeAgent

Sample code that explores an architecture for using language models to build a personal agent that can work with application agents.

TypeAgent – 개인용 AI 에이전트 샘플

무엇인가요

  • Microsoft가 유지 관리하는 오픈소스 샘플로, 자연어로 말할 수 있는 단일 개인 보조자를 구축하는 방법을 보여줍니다.
  • 코드는 대규모 언어 모델(LLM)과 전통적인 소프트웨어 구성 요소(액션, 메모리, 계획)를 구조화된 프롬프트 접근법을 통해 결합하는 방법을 보여줍니다.

핵심 아이디어

원칙 적용 방법
모델을 논리적 구조로 요약하기 액션은 유형화된 스키마(TypeChat을 통해)로 표현되며, 메모리는 온톨로지로 저장되며, 계획은 LLM, 품질 모델, 인간이 협력하는 "사고의 나무" 탐색을 사용합니다.
구조로 정보 밀도 제어하기 액션 계약은 이산적이고 밀도 높게 설명되며, 메모리는 LLM의 어텐션 창에 맞는 타이트한 의미 구조에 보관되며, 각 탐색 노드는 하위 문제에 집중합니다.
구조를 통해 협업 가능하게 하기 인간이 모호한 요청을 명확히 하고, 간단한 파서가 논리적 형태를 추출하며, 여러 모델(LLM, 우위/품질 모델)이 함께 작동하여 최선 우선 탐색 트리를 확장합니다.

주요 구성 요소

  • TypeAgent Shell – 사용자가 음성 기능을 지원하는 단일 인터페이스를 통해 여러 등록된 에이전트와 대화할 수 있는 Electron 기반 UI입니다.
  • Dispatcher – 구조화된 프롬프트를 사용하여 사용자의 자연어 요청을 가장 적합한 유형화된 계약을 가진 에이전트로 라우팅합니다.
  • KnowPro구조화된 RAG 메모리 계층을 구현: 대화 기록은 논리적 엔티티로 인덱싱되어 "우리가 논의한 책은 무엇이었나요?"와 같은 정확한 질의가 가능합니다.
  • Cache – LLM 기반의 구조화된 프롬프트를 사용하여 액션 번역을 메모이제이션하여 모델 호출을 반복하지 않고 지연을 줄입니다.
  • Agent SDK – 디스패처와 쉘에 연결하기 위해 에이전트가 구현해야 하는 TypeScript 인터페이스를 정의합니다.

포함된 샘플 에이전트 (모두 동일한 아키텍처 기반)

  • 음악 플레이어, 채팅, 웹 브라우저, VS Code, 리스트 매니저, 캘린더, 이메일, 데스크톱 자동화, 이미지 편집기, 마크다운 에디터, 사진 몽타주 등.

시도하는 방법

  1. 플랫폼별 설치 문서(Windows, WSL2, Linux, macOS)를 따라 Node, Azure OpenAI 키 등을 설치합니다.
  2. TypeAgent Shell (ts/packages/shell)을 실행합니다 – 음성 지원이 있는 대화 창이 나타납니다.
  3. 내장된 에이전트와 상호작용하거나 SDK를 구현하고 디스패처에 에이전트를 등록하여 사용자 정의 에이전트를 추가합니다(예: Echo 튜토리얼 참조).

디자인의 주요 강점

  • 구조화된 RAG – 전통적인 벡터 중심 검색을 스키마 기반 인덱스로 대체하여 대화적 사실의 재현률을 높입니다.
  • 액션-메모리 결합 – "내 캘린더에 피클볼 게임을 추가해줘"와 같은 액션을 수행하면, 이후 액션에서 참조할 수 있는 메모리 항목이 자동으로 생성됩니다.
  • AMP 아키텍처(액션-메모리-계획) – 세 가지 흐름을 연결하여 원활한 정보 교환을 가능하게 합니다.

현재 상태 및 제한 사항

  • 초기 단계의 샘플 코드이며, 프로덕션용 프레임워크가 아닙니다.
  • 개발자 마シン에서 Azure OpenAI 서비스에서만 테스트되었으며, 영어만 평가되었습니다.
  • 잘 설계된 JSON 스키마에 의존합니다. 스키마가 사용자 의도를 포착하지 못하면 LLM이 유효하지 않은 응답을 생성할 수 있습니다.
  • 내장된 텔레메트리 없음; 개발자는 자체 API 키를 제공해야 합니다.

누구에게 유용할까

  • LLM 기반 에이전트의 구조화 방법을 탐구하는 연구자 또는 엔지니어.
  • 개인 보조자, 액션 디스패처, 메모리 증강 챗봇을 구축하기 위한 참조 구현을 원하는 개발자.
  • LLM 비용을 줄이고 신뢰성을 높이기 위해 "구조화된 프롬프트" 패턴에 관심 있는 팀.

Microsoft가 계획 중인 다음 단계

  • 메모리 및 디스패치 레이어용 재사용 가능한 라이브러리 공개.
  • 설치 가능한 패키지 및 새로운 에이전트의 동적 탐지 제공.

위 정보는 리포지토리의 README에서 직접 가져왔으며, 추가 기능은 추측하지 않았습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • Dispatch
  • 프로젝트