AI Agents for Beginners - 6. Building Trustworthy AI Agents

How to build safe and trustworthy AI agents — system message framework, threat mitigation, and human-in-the-loop patterns for secure, reliable agentic systems.
June 9, 2026

AI Agents for Beginners - 6. Building Trustworthy AI Agents

이 글은 Microsoft의 AI Agents for Beginners 강좌 Lesson 06을 기반으로 정리한 내용입니다.

Safety: System Message Framework

안전한 에이전트 애플리케이션을 만들기 위한 첫 번째 요소는 Safety입니다.
에이전트가 설계한 대로 동작하도록 보장하는 것을 의미합니다.
LLM 기반 앱에서 system prompt는 항상 중요하지만, AI Agent에서는 더욱 중요합니다.
에이전트는 고도로 구체적인 지시사항이 있어야 설계된 태스크를 올바르게 완수할 수 있습니다.
System Message Framework는 확장 가능한 시스템 프롬프트를 효율적으로 생성하는 방법입니다:
System Message Framework
Mermaid
flowchart TD Step1["Step 1\nMeta System Message 작성\n(LLM에게 프롬프트 생성 방법 지시)"] --> Step2["Step 2\nBasic Prompt 작성\n(에이전트의 역할·태스크 기술)"] --> Step3["Step 3\nLLM으로 최적화\n(Meta + Basic → 완성된 System Message)"] --> Step4["Step 4\nIterate & Improve\n(작은 수정 → 비교·평가 반복)"]

Step 1: Meta System Message

LLM에게 시스템 프롬프트를 생성하는 방법을 알려주는 메타 프롬프트입니다:
meta_system_message.txt
python

Step 2: Basic Prompt

에이전트의 역할과 태스크를 간결하게 기술합니다:
basic_prompt.txt
python

Step 3: LLM으로 최적화

Meta System Message를 system으로, Basic Prompt를 user로 전달하면 구조화된 시스템 프롬프트가 생성됩니다:
generate_system_message.py
python
Step 4의 핵심은 반복과 개선입니다.
Basic Prompt를 조금씩 수정하고 결과를 비교하면서 점진적으로 최적화합니다.

Understanding Threats

신뢰할 수 있는 AI 에이전트를 만들려면 잠재적 위협을 이해하고 완화해야 합니다.
Threat설명Mitigation
Task & Instruction Manipulation공격자가 프롬프트나 입력 조작으로 에이전트의 지시사항·목표를 변경입력 검증·필터링, 대화 turn 수 제한
Access to Critical Systems에이전트가 민감한 시스템에 접근할 경우, 공격자가 통신을 탈취하거나 시스템 정보를 추출최소 권한(need-only) 접근, 인증·접근 제어, 보안 통신
Resource & Service Overloading에이전트의 tool 접근을 악용해 대량 요청으로 서비스 장애·비용 유발요청 수 제한 정책, 대화 turn 및 요청 횟수 제한
Knowledge Base Poisoning에이전트가 사용하는 knowledge base를 오염시켜 편향되거나 의도치 않은 응답 유도데이터 정기 검증, 신뢰된 사람만 데이터 수정 가능하도록 접근 제어
Cascading Errors에이전트 연결 시스템 중 하나의 오류가 다른 시스템으로 연쇄 전파Docker 컨테이너 등 격리된 환경에서 실행, 오류 발생 시 fallback·retry 로직 구현
Threat Categories & Mitigations
Mermaid
flowchart LR Threats["AI Agent\nThreats"] Threats --> T1["Task & Instruction\nManipulation"] Threats --> T2["Critical System\nAccess"] Threats --> T3["Resource\nOverloading"] Threats --> T4["Knowledge Base\nPoisoning"] Threats --> T5["Cascading\nErrors"] T1 -->|"Mitigation"| M1["Input validation\n+ Turn limits"] T2 -->|"Mitigation"| M2["Least privilege\n+ Auth/ACL"] T3 -->|"Mitigation"| M3["Rate limiting\n+ Request caps"] T4 -->|"Mitigation"| M4["Data verification\n+ Trusted access"] T5 -->|"Mitigation"| M5["Isolation\n+ Fallback logic"]

Human-in-the-Loop

신뢰할 수 있는 AI 에이전트 시스템을 만드는 또 다른 핵심 방법은 Human-in-the-Loop입니다.
사용자가 에이전트 실행 중 피드백을 제공하고, 승인 또는 중단을 결정할 수 있는 플로우를 만듭니다.
사용자는 멀티에이전트 시스템에서 또 다른 에이전트처럼 동작하며, 실행 프로세스를 감독합니다.
human_in_the_loop.py
python
zenuml title Human-in-the-Loop Flow User->Agent: task request Agent->LLM: process request LLM->Agent: draft response Agent->Human: present draft for review Human->Agent: APPROVE or REJECT Agent->User: deliver approved response
approval_mode="always_require" tool과 함께 사용하면 민감한 작업마다 사람의 승인을 강제할 수 있습니다.

Summary

Lesson 06 Summary
Mermaid
flowchart LR Root["Trustworthy\nAI Agents"] Root --> Safety["Safety"] Root --> Threats["Threats"] Root --> HITL["Human-in-the-Loop"] Safety --> S1["Meta System Message"] Safety --> S2["Basic Prompt"] Safety --> S3["Iterate & Improve"] Threats --> T1["Prompt Injection"] Threats --> T2["System Access"] Threats --> T3["Resource Overload"] Threats --> T4["KB Poisoning"] Threats --> T5["Cascading Errors"] HITL --> H1["사용자 승인·중단 권한"] HITL --> H2["approval_mode\nalways_require"]
  • System Message Framework의 4단계(Meta → Basic → Optimize → Iterate)로 확장 가능하고 안전한 프롬프트를 설계합니다
  • Prompt Injection, Knowledge Base Poisoning, Cascading Errors 등 5가지 위협을 이해하고 각각에 맞는 완화 전략을 적용합니다
  • Human-in-the-Loop으로 사용자가 에이전트 실행을 감독하고, 민감한 작업에는 approval_mode="always_require"로 강제 승인을 요구합니다
  • Safety·Security·Privacy를 지속적으로 반복하며 개선하는 것이 신뢰할 수 있는 AI Agent 구축의 핵심입니다
Jooojub
System S/W engineer
Explore Tags
Series
    Recent Post
    © 2026. jooojub. All right reserved.