Microsoft / ai-agent

3 개의 포스트

microsoft

How we built the Microsoft Learn MCP Server (새 탭에서 열림)

Microsoft Learn MCP(Model Context Protocol) 서버는 AI 에이전트가 신뢰할 수 있는 최신 기술 문서를 실시간으로 활용할 수 있도록 설계된 원격 서버입니다. 기존의 복잡한 API 통합 방식 대신 표준화된 프로토콜을 채택하여 에이전트가 런타임에 도구를 스스로 발견하고 실행하게 함으로써, 개발자가 브라우저 이동 없이 개발 환경 내에서 정확한 기술 가이드를 받을 수 있도록 지원합니다. ### MCP 도입 배경과 서버 방식의 이점 * **에이전트 네이티브 표준:** MCP는 에이전트가 기능을 실시간으로 협상하고 결과를 스트리밍하는 표준을 제공하여, 수동 검색이나 별도의 임베딩 관리 없이도 최신 데이터를 활용할 수 있게 합니다. * **통합의 단순화:** 클라이언트가 개별 API의 인증, 요청 형식, 에러 처리를 직접 구현할 필요 없이 MCP 호환 에이전트라면 서버 연결만으로 도구 스키마를 자동 인식하고 사용할 수 있습니다. * **지식 서비스의 재사용:** "Ask Learn" 서비스와 동일한 벡터 저장소 및 지식 서비스를 백엔드로 사용하여, RAG(검색 증강 생성) 기반의 높은 정확도와 최신성을 보장합니다. ### 핵심 도구 및 아키텍처 * **제공 도구:** 문서 제목과 URL을 찾는 `microsoft_docs_search`, 전체 문서 내용을 가져오는 `microsoft_docs_fetch`, 언어별 코드 예제 검색에 최적화된 `microsoft_code_sample_search`를 제공합니다. * **시스템 구조:** Azure App Service에 호스트된 C# SDK 기반의 원격 서버로 운영되며, Streamable HTTP Transport를 통해 클라이언트와 통신합니다. * **에이전트 워크플로우 최적화:** LLM 에이전트가 익숙한 '검색 후 읽기' 패턴을 따를 수 있도록 내부 API의 복잡한 파라미터를 직관적인 도구 운영 방식으로 압축하여 제공합니다. ### 운영 및 설계상의 주요 교훈 * **도구 설명이 곧 사용자 경험:** AI 모델에게 도구와 파라미터 설명은 매뉴얼과 같습니다. 단어 선택의 미세한 차이가 도구 활성화율에 직접적인 영향을 미치므로 데이터 기반의 지속적인 최적화가 필요합니다. * **도구 조합의 시너지:** 검색 도구로 최적의 일치 항목을 찾은 후 전체 문서를 읽어 답변의 근거를 강화하는 '도구 조합' 방식을 명시적으로 가이드하여 인용 품질을 개선했습니다. * **분산 시스템으로서의 운영:** 공용 MCP 서버는 다중 지역 배포, 동적 확장, CORS 관리 등 일반적인 상태 비저장(Stateless) 서비스와 동일한 운영상의 복잡성을 가집니다. * **방어적 스키마 진화:** 동적 발견 구조임에도 불구하고 파라미터를 하드코딩하는 클라이언트를 위해, 명칭 변경 시 기존 이름을 병행 지원하는 유예 기간을 두는 등 안정적인 서비스 진화 전략이 중요합니다. ### 실용적인 활용 및 기대 효과 개발자는 이제 브라우저를 열고 검색 결과를 훑어보는 번거로운 과정 대신, 선호하는 AI 에이전트에 Learn MCP 서버를 연결하여 Microsoft 기술 문서를 코드 맥락에 즉시 적용할 수 있습니다. 이는 개발 워크플로우 내에서 정확한 공식 문서를 기반으로 한 자동화된 코딩 지원과 문제 해결을 가능하게 합니다.

microsoft

Diagnosing instability in production-scale agent reinforcement learning (새 탭에서 열림)

Hugging Face는 장기 실행되는 에이전트 시스템과 지속적으로 적응하는 RL(강화학습) 파이프라인을 위해 '사후 훈련 툴킷(Post-Training Toolkit, PTT)'을 TRL 라이브러리에 공식 통합했습니다. 이 툴킷은 기존의 전역 지표로는 포착하기 어려운 도구 사용 에이전트의 '후기 단계 불안정성(Late-phase instability)'을 진단하고 제어하는 데 중점을 둡니다. 이를 통해 개발자는 운영 환경에서 에이전트가 도구 호출 이후 겪는 미세한 성능 저하를 조기에 발견하고 대응할 수 있는 폐쇄 루프 모니터링 체계를 구축할 수 있습니다. **도구 호출로 인한 분산 증폭 현상** - 도구 사용 에이전트의 학습 상태 분포는 일반 텍스트 상호작용과 도구 조건부 상호작용의 혼합으로 구성됩니다. 학습이 진행됨에 따라 도구 사용 비중이 늘어나며 상태 분포의 변화가 발생합니다. - 특히 도구 호출 이후의 맥락(Post-tool context)은 참조 정책(Reference policy)이 낮은 확률을 할당하는 영역인 경우가 많아, 중요도 샘플링 가중치가 급격히 커지는 현상이 발생합니다. - 이로 인해 전역 손실(Loss)이나 보상(Reward) 지표는 안정적으로 보임에도 불구하고, 도구 조건부 맥락에서만 특정 업데이트의 분산이 폭발하며 시스템이 서서히 붕괴되는 '꼬리 부분의 성장(Tail growth)' 현상이 나타납니다. **정밀한 진단을 위한 데이터 슬라이싱과 지표** - PTT는 전체 평균값에 매몰되지 않도록 상호작용 모드(텍스트 전용 vs 도구 이후)별로 진단 지표를 분리하여 계산합니다. - 핵심 지표인 '로그 비율의 95백분위수(95th percentile of |r|)'를 통해 평균적인 행동이 아닌 꼬리 부분의 이상 징후를 추적합니다. 실험 결과, 텍스트 전용 맥락은 안정적이어도 도구 이후 맥락에서는 이 수치가 지속적으로 상승하는 것이 확인되었습니다. - 가중치 집중도를 나타내는 '유효 샘플 크기(Effective Sample Size, ESS)'를 보조 신호로 활용하여, 특정 샘플이 업데이트를 주도하며 학습의 질을 떨어뜨리는지 감시합니다. **실패 사례의 오인과 대응** - 이러한 불안정성은 대개 비대칭적이고 지연되어 나타나기 때문에, 개발자들은 이를 최적화 알고리즘(Optimizer)의 문제나 전역적인 분산 제어 부족으로 오해하는 경우가 많습니다. - 단순히 배치 크기를 키우거나 베이스라인을 개선하는 것만으로는 참조 정책과의 지지 집합(Support) 불일치 문제를 근본적으로 해결할 수 없습니다. - PTT는 도구 호출이 외부 전이를 주입함으로써 발생하는 특수한 분산 증폭을 독립적인 실패 모드로 식별하며, 이를 조기에 시각화하여 운영자가 개입할 수 있는 근거를 제공합니다. 도구 사용 에이전트를 운영 환경에서 훈련시킬 때는 전역 보상이나 엔트로피에만 의존해서는 안 됩니다. TRL에 통합된 PTT를 활용해 도구 호출 전후의 지표를 분리 모니터링하고, 특히 로그 비율의 백분위수 변화를 주시하여 분포의 꼬리가 길어지는 현상을 조기에 차단하는 '드리프트 인식(Drift-aware)' 설정을 도입할 것을 권장합니다.

microsoft

The Interaction Changes Everything: Treating AI Agents as Collaborators, Not Automation (새 탭에서 열림)

마이크로소프트는 단순한 도구로서의 AI를 넘어, 개발 생명 주기 전반에서 함께 기획하고 분석하며 실행하는 ‘지능형 협업자’로서의 에이전트 활용 모델을 제시했습니다. 특히 수백 개의 리포지토리에 걸친 Entra SDK v1에서 v2로의 복잡한 마이그레이션 프로젝트에서, 에이전트를 팀원의 정체성을 가진 파트너로 대우함으로써 4~6주가 소요되던 작업을 2시간 이내로 단축하고 80~90%의 높은 정확도를 달성했습니다. 기술적 자동화의 한계를 극복하기 위해서는 AI에게 단순한 지시 사항을 나열하기보다 판단력을 발휘할 수 있는 역할과 맥락을 부여하는 프레임워크가 핵심입니다. ### 단순 자동화 사고방식의 한계 복잡한 기술적 마이그레이션은 단순히 기계적인 단계의 반복이 아니며, 맥락에 따른 판단과 보안 경계에 대한 세심한 평가가 필수적입니다. * 기존의 체크리스트나 스크립트 방식의 자동화는 모호한 상황이나 문서화되지 않은 커스텀 로직에 직면했을 때 반복적으로 실패했습니다. * 복잡한 작업에는 상황에 따른 판단(Judgment)이 필요하며, 이는 단순한 자동화 대상이 아니라 지능적인 협업을 통해 해결해야 할 영역입니다. * AI에게 단순히 "이 단계를 따르라"고 명령하는 방식은 에이전트가 예외 상황에서 잘못된 추측을 하거나 조용히 실패하게 만드는 원인이 됩니다. ### 지시를 넘어선 정체성 부여의 힘 성공적인 협업의 전환점은 AI 에이전트에게 단순한 작업 목록이 아닌, 구체적인 팀 내 역할과 미션을 부여했을 때 나타났습니다. * 에이전트를 '스크립트 실행자'가 아닌 '공동 창작 엔지니어(Co-creative engineer)'로 정의함으로써 문제 해결 능력이 극대화되었습니다. * 정체성이 부여된 에이전트는 단순한 패턴 매칭을 넘어 보안 경계를 인식하고, 불확실한 상황에서는 임의로 처리하는 대신 사람에게 질문을 던지기 시작했습니다. * 이러한 접근법은 에이전트가 작업의 중요성을 이해하고 우선순위가 충돌할 때 적절한 판단을 내릴 수 있는 심리적·맥락적 토대가 되었습니다. ### 공동 창작 파트너십 프레임워크의 8가지 요소 마이크로소프트가 실제 프로젝트에 적용한 프레임워크는 AI 에이전트가 인간과 같은 수준의 판단력을 발휘하도록 설계되었습니다. * **정체성과 미션(Identity & Mission):** 에이전트가 누구인지, 왜 이 일이 중요한지 설명하여 목표가 충돌할 때 우선순위를 정할 수 있게 합니다. * **목적과 의도(Purpose & Intent):** 속도보다 보안, 완료보다 정확성 같은 핵심 가치를 명시하여 판단의 기준을 제공합니다. * **우선순위가 지정된 목표(Key Goals):** 1차 목표부터 품질 목표까지 순위를 매겨 에이전트가 트레이드오프 상황에서 최선의 결정을 내리게 돕습니다. * **판단 지침이 포함된 단계별 가이드:** 단순한 행동 지침뿐만 아니라, 무엇을 보존해야 하는지 그리고 어떤 경우에 인간에게 에스컬레이션(보고)해야 하는지를 구체적으로 명시합니다. 복잡한 기술 부채 해결이나 대규모 아키텍처 변경을 고민하고 있다면, AI를 단순한 자동화 봇으로 활용하는 단계에서 벗어나야 합니다. 800줄의 상세 로직보다 더 중요한 것은 에이전트에게 팀의 일원으로서의 책임과 권한을 부여하는 프레임워크입니다. AI가 판단력을 발휘할 수 있도록 명확한 역할과 가치 기준을 제공할 때, 비로소 인간 개발자는 단순 코더가 아닌 '에이전트 오케스트레이터'로 거듭날 수 있습니다.