에이전트 프레임워크 에이전트는 에이전트 추상화, 모델 또는 원격 에이전트 연결, 지침, 도구, 미들웨어, 컨텍스트 공급자 및 세션 상태를 일관된 실행 인터페이스 뒤에 결합합니다.
런타임 및 실행
- 실행 중인 에이전트는 일반 및 스트리밍 실행, 실행 옵션, 응답, 메시지 및 콘텐츠를 설명합니다.
- 에이전트 파이프라인 은 미들웨어, 컨텍스트 공급자, 모델 호출 및 도구가 실행에 참여하는 방법을 설명합니다.
- 런타임 모델 라우팅 은 대화가 컨텍스트를 잃지 않고 모델 또는 유추 공급자를 전환할 수 있는 시기를 설명합니다.
에이전트 유형
- 사용자 지정 에이전트는 일반적인 에이전트 인터페이스 및 에이전트를 직접 구현하는 시기를 설명합니다.
- 모델 공급자는 애플리케이션 소유 에이전트를 유추 서비스에 연결합니다.
- 에이전트 서비스는 관리되는 원격 에이전트 또는 프로토콜 지원 원격 에이전트에 연결합니다.
채팅 클라이언트용 에이전트
채팅 클라이언트 에이전트는 모델 유추 클라이언트에서 지원되는 애플리케이션 소유 에이전트입니다. 함수 도구, 다중 턴 대화, 공급자 호스팅 도구(사용 가능한 구조화된 출력, 스트리밍, 미들웨어 및 로컬 또는 서비스 관리 대화 기록)를 지원합니다.
Microsoft.Extensions.AI.IChatClient를 구현하는 모든 추론 클라이언트는 ChatClientAgent를 지원할 수 있습니다:
using Microsoft.Agents.AI;
AIAgent agent = new ChatClientAgent(
chatClient,
instructions: "You are a helpful assistant.");
모든 에이전트 구현은 AIAgent 추상화를 공유하므로 애플리케이션 코드와 오케스트레이션은 하나의 인터페이스를 통해 채팅 클라이언트 에이전트, 사용자 지정 에이전트 및 원격 에이전트 프록시를 사용할 수 있습니다.
공급자 기능, 대화 기록 지원 및 SDK 엔드포인트 선택은 모델 공급자를 참조하세요.
SupportsChatGetResponse를 구현하는 모든 클라이언트에서 표준 Agent를 만듭니다:
from agent_framework import Agent
agent = Agent(
client=client,
instructions="You are a helpful assistant.",
)
지원되는 모델 공급자 간에 동일한 Agent 인터페이스가 작동합니다.
FoundryAgent, A2AAgent, GitHubCopilotAgent, ClaudeAgent와 같은 직접 에이전트 유형은 대신 관리형 또는 원격 에이전트 런타임에 연결됩니다.
클라이언트 또는 MCP 도구가 비동기 리소스를 관리할 때 사용합니다 async with agent . 컨텍스트 관리자가 자동으로 열고 닫아 줍니다. 명시적으로 애플리케이션 수명 주기를 제어하려면 open()를 한 번 호출하고, finally 블록에서 에이전트를 닫습니다:
await agent.open()
try:
response = await agent.run("Hello")
finally:
await agent.close()
close() 또한 실행 중에 지연적으로 연결하는 MCP 도구를 릴리스합니다. 시작 중간에 실패하면 open() 에이전트는 이미 열려 있는 리소스를 닫습니다.
사용 가능한 유추 클라이언트는 모델 공급자를 참조하세요.
Go 모델-공급자 패키지는 공급자별 생성자를 통해 표준 *agent.Agent 형식을 생성합니다. 이렇게 하면 각 공급자가 클라이언트 초기화를 소유하는 동안 애플리케이션 코드에 일관된 실행, 세션, 도구, 미들웨어 및 스트리밍 인터페이스가 제공됩니다.
생성자 및 가져오기 경로는 모델 공급자를 참조하세요.
대화 및 메모리
대화 개념에는 세션, 컨텍스트 공급자, 스토리지, 압축 및 기본 제공 채팅 기록 메모리 공급자가 포함됩니다.
Middleware
미들웨어 개념은 정의, 범위, 순서 지정, 공유 상태, 런타임 컨텍스트, 종료, 오류 및 결과 재정의를 다룹니다.
Safety
에이전트 안전 은 에이전트 동작을 제한하고 운영 위험을 줄이기 위한 디자인 패턴을 설명합니다. FIDES를 사용한 보안 적용은 에이전트 기능으로 유지됩니다.