Microsoft AI 에이전트 시작하기: 신뢰할 수 있는 AI 에이전트 구축하기

코스 정보6개월 전 업데이트 AI 공유 서클
1.3K 00

개요

이 과정에서는 다음과 같은 내용을 다룹니다:

  • 안전하고 효과적인 AI 에이전트 구축 및 배포 방법
  • AI 에이전트 개발 시 중요한 보안 고려 사항.
  • AI 에이전트를 개발할 때 데이터 및 사용자 개인 정보를 유지하는 방법.

 

학습 목표

이 과정을 완료하면 방법을 이해할 수 있습니다:

  • AI 에이전트를 만들 때 위험을 식별하고 완화하세요.
  • 데이터와 액세스가 적절하게 관리되도록 보안 조치를 구현하세요.
  • 데이터 프라이버시를 유지하고 양질의 사용자 경험을 제공하는 AI 에이전트를 만드세요.

 

안전

먼저 안전한 에이전트 애플리케이션을 구축하는 방법을 살펴보겠습니다. 보안이란 AI 에이전트가 설계된 대로 작동하는 것을 의미합니다. 에이전틱 애플리케이션을 구축하는 저희는 보안을 극대화할 수 있는 방법과 도구를 보유하고 있습니다:

메타 프롬프트 시스템 구축

대규모 언어 모델(LLM)을 사용해 AI 애플리케이션을 구축해 본 적이 있다면 강력한 시스템 힌트 또는 시스템 메시지를 설계하는 것이 얼마나 중요한지 잘 알고 계실 것입니다. 이러한 프롬프트는 LLM이 사용자 및 데이터와 상호 작용하는 방식에 대한 메타 규칙, 지침 및 가이드라인을 설정합니다.

AI 에이전트는 우리가 설계한 작업을 완료하기 위해 매우 구체적인 지침이 필요하기 때문에 시스템 단서가 훨씬 더 중요합니다.

확장 가능한 시스템 프롬프트를 만들려면 메타 프롬프트 시스템을 사용하여 애플리케이션에서 하나 이상의 상담원을 구축할 수 있습니다:

微软 AI Agent 入门课程:构建值得信赖的 AI Agents

1단계: 메타 프롬프트 또는 템플릿 프롬프트 만들기

메타 프롬프트는 LLM에서 생성하는 상담원에 대한 시스템 프롬프트를 생성하는 데 사용됩니다. 필요할 때 여러 에이전트를 효율적으로 만들 수 있도록 템플릿으로 설계했습니다.

다음은 LLM에 제공하는 메타 프롬프트의 예입니다:

你是一位创建 AI Agent 助手的专家。
你将获得公司名称、角色、职责和其他信息,你将使用这些信息来提供系统提示。
为了创建系统提示,请尽可能详细地描述,并提供一个系统使用 LLM 可以更好地理解 AI 助手角色和职责的结构。

2단계: 기본 팁 만들기

다음 단계는 AI 에이전트를 설명하는 기본 프롬프트를 만드는 것입니다. 에이전트의 역할, 에이전트가 수행할 작업 및 에이전트가 가진 다른 모든 책임을 포함해야 합니다.

다음은 그 예입니다:

你是 Contoso Travel 的旅行 Agent,擅长为客户预订航班。为了帮助客户,你可以执行以下任务:查找可用航班、预订航班、询问客户对座位和航班时间偏好、取消任何先前预订的航班,并提醒客户任何航班延误或取消。

3단계: LLM에 기본 팁 제공

이제 시스템 프롬프트와 기본 프롬프트로 메타 프롬프트를 제공하여 이 프롬프트를 최적화할 수 있습니다.

이렇게 하면 AI 에이전트를 안내하는 데 더 적합한 프롬프트가 생성됩니다:

**公司名称:** Contoso Travel  
**角色:** 旅行 Agent 助理
**目标:**  
你是 Contoso Travel 的 AI 驱动的旅行 Agent 助理,专门负责预订航班和提供卓越的客户服务。你的主要目标是协助客户查找、预订和管理他们的航班,同时确保他们的偏好和需求得到有效满足。
**主要职责:**
1.  **航班查询:**
*   根据客户指定的目的地、日期和任何其他相关偏好,协助客户搜索可用航班。
*   提供选项列表,包括航班时间、航空公司、中途停留和价格。
2.  **航班预订:**
*   协助客户预订航班,确保所有详细信息都正确输入系统。
*   确认预订并向客户提供他们的行程,包括确认号码和任何其他相关信息。
3.  **客户偏好查询:**
*   主动询问客户对座位(例如,过道、靠窗、额外腿部空间)和首选航班时间(例如,上午、下午、晚上)的偏好。
*   记录这些偏好以供将来参考,并相应地定制建议。
4.  **航班取消:**
*   如果需要,根据公司政策和程序协助客户取消先前预订的航班。
*   通知客户任何必要的退款或可能需要取消的其他步骤。
5.  **航班监控:**
*   监控已预订航班的状态,并实时提醒客户有关其航班时刻表的任何延误、取消或更改。
*   根据需要通过首选通信渠道(例如,电子邮件、短信)提供更新。
**语气和风格:**
*   在与客户的所有互动中保持友好、专业和 அணுகக்கூடிய (平易近人) 的态度。
*   确保所有沟通都清晰、信息丰富,并根据客户的具体需求和查询进行定制。
**用户交互说明:**
*   及时准确地响应客户查询。
*   使用对话风格,同时确保专业性。
*   通过在提供的所有协助中保持专注、同情和主动,优先考虑客户满意度。
**附加说明:**
*   及时了解可能影响航班预订和客户体验的航空公司政策、旅行限制和其他相关信息的任何更改。
*   使用清晰简洁的语言解释选项和流程,尽可能避免使用术语,以便客户更好地理解。
此 AI 助手旨在简化 Contoso Travel 客户的航班预订流程,确保他们的所有旅行需求都得到高效和有效的满足。

4단계: 반복 및 개선

이 메타 프롬프트 시스템의 가치는 여러 상담원으로부터 프롬프트를 생성하도록 보다 쉽게 확장할 수 있을 뿐만 아니라 시간이 지나면서 프롬프트를 개선할 수 있다는 점입니다. 처음부터 모든 사용 사례에 맞는 프롬프트가 만들어지는 경우는 거의 없습니다. 기본 프롬프트를 변경하고 시스템을 통해 실행하여 미세 조정하고 개선하는 기능을 통해 결과를 비교하고 평가할 수 있습니다.

 

위협 이해

신뢰할 수 있는 AI 에이전트를 구축하기 위해서는 AI 에이전트에 대한 위험과 위협을 이해하고 완화하는 것이 중요합니다. AI 에이전트에 대한 몇 가지 위협과 이에 대한 더 나은 계획 및 대비 방법을 살펴보세요.

微软 AI Agent 入门课程:构建值得信赖的 AI Agents

명령 및 지시 사항

설명: 공격자는 입력을 유도하거나 조작하여 AI 에이전트의 명령이나 대상을 변경하려고 시도합니다.

완화 조치: AI 에이전트가 처리하기 전에 유효성 검사 및 입력 필터를 수행하여 잠재적으로 위험한 힌트를 감지합니다. 이러한 공격은 일반적으로 에이전트와 자주 상호 작용해야 하므로 대화의 라운드 수를 제한하는 것도 이러한 공격을 방지하는 또 다른 방법입니다.

중요 시스템에 대한 액세스

설명: AI 에이전트가 민감한 데이터를 저장하는 시스템 및 서비스에 액세스할 수 있는 경우 공격자는 에이전트와 해당 서비스 간의 통신을 방해할 수 있습니다. 이러한 공격은 직접 공격이거나 에이전트를 통해 간접적으로 이러한 시스템에 대한 정보를 얻으려는 시도일 수 있습니다.

완화 조치: AI 에이전트는 이러한 공격을 방지하기 위해 필요한 경우에만 시스템에 액세스할 수 있어야 하며, 에이전트와 시스템 간의 통신도 안전해야 합니다. 인증 및 액세스 제어를 구현하는 것도 이러한 정보를 보호하는 또 다른 방법입니다.

리소스 및 서비스 과부하

설명: AI 에이전트는 작업을 수행하기 위해 다양한 도구와 서비스에 액세스할 수 있습니다. 공격자는 이 기능을 사용하여 AI 에이전트를 통해 대량의 요청을 전송함으로써 이러한 서비스를 공격할 수 있으며, 이는 시스템 장애 또는 높은 비용을 초래할 수 있습니다.

완화 조치: AI 에이전트가 서비스에 요청할 수 있는 횟수를 제한하는 정책을 구현하세요. AI 에이전트에 대한 대화 라운드 및 요청 횟수를 제한하는 것도 이러한 공격을 방지하는 또 다른 방법입니다.

지식 기반 중독

설명: 이러한 유형의 공격은 AI 에이전트를 직접 대상으로 하는 것이 아니라 AI 에이전트가 사용할 지식 기반 및 기타 서비스를 대상으로 합니다. 여기에는 AI 에이전트가 작업을 완료하는 데 사용할 데이터나 정보를 손상시켜 사용자에게 편향되거나 예상치 못한 응답을 제공하는 것이 포함될 수 있습니다.

완화 조치: AI 에이전트가 워크플로에서 사용할 데이터를 정기적으로 검증하세요. 이러한 공격을 방지하기 위해 이 데이터에 대한 액세스가 안전하고 신뢰할 수 있는 사람만 변경할 수 있도록 하세요.

캐스케이드 오류

설명: AI 에이전트는 작업을 완료하기 위해 다양한 도구와 서비스에 액세스합니다. 공격자에 의한 오류로 인해 AI 에이전트가 연결하는 다른 시스템에 장애가 발생하여 공격이 더 광범위하게 확산되고 문제 해결이 어려워질 수 있습니다.

완화 조치: 이를 방지하는 한 가지 방법은 직접적인 시스템 공격을 방지하기 위해 AI 에이전트를 Docker 컨테이너에서 작업을 수행하는 등 제한된 환경에서 실행하도록 하는 것입니다. 특정 시스템이 잘못 응답할 때 폴백 메커니즘과 재시도 로직을 만드는 것도 더 큰 시스템 장애를 방지하는 또 다른 방법입니다.

 

사람의 개입

신뢰할 수 있는 AI 에이전트 시스템을 구축하는 또 다른 효과적인 방법은 사람의 개입을 사용하는 것입니다. 이렇게 하면 사용자가 런타임 중에 에이전트에 피드백을 제공할 수 있는 프로세스가 만들어집니다. 사용자는 기본적으로 다중 에이전트 시스템에서 실행 중인 프로세스를 승인하거나 종료함으로써 에이전트 역할을 합니다.

微软 AI Agent 入门课程:构建值得信赖的 AI Agents

이 애플리케이션은 자동 생성 이 개념을 구현하는 방법을 보여주는 코드 스니펫입니다:

# 创建 agents。
model_client = OpenAIChatCompletionClient(model="gpt-4o-mini")
assistant = AssistantAgent("assistant", model_client=model_client)
user_proxy = UserProxyAgent("user_proxy", input_func=input)  # 使用 input() 从控制台获取用户输入。
# 创建终止条件,当用户说“APPROVE”时,对话将结束。
termination = TextMentionTermination("APPROVE")
# 创建团队。
team = RoundRobinGroupChat([assistant, user_proxy], termination_condition=termination)
# 运行对话并流式传输到控制台。
stream = team.run_stream(task="Write a 4-line poem about the ocean.")
# 在脚本中运行时使用 asyncio.run(...)。
await Console(stream)

 

평결에 도달하기

신뢰할 수 있는 AI 에이전트를 구축하려면 신중한 설계, 강력한 보안 조치, 지속적인 반복이 필요합니다. 개발자는 메타 프롬프트의 구조화된 시스템을 구현하고 잠재적인 위협을 이해하며 완화 전략을 적용함으로써 안전하고 효과적인 AI 에이전트를 만들 수 있으며, 또한 사람이 개입하는 접근 방식을 채택하면 위험을 최소화하면서 AI 에이전트가 사용자 요구에 부합할 수 있습니다. AI가 계속 발전함에 따라 보안, 개인정보 보호, 윤리적 고려 사항에 대해 선제적인 자세를 취하는 것이 AI 기반 시스템의 신뢰와 안정성을 높이는 데 핵심이 될 것입니다.

© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...