본문으로 건너뛰기
cccskills
무료GitHub에 공개

ai-agent-development

Build production-ready AI agents with Microsoft Foundry and Agent Framework. Use when creating AI agents, selecting LLM models, implementing agent orchestration, adding tracing/observability, or evaluating agent quality. Covers agent architecture, model selection, multi-agent workflows, and production deployment.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구AzureOpenAI
설치 방법 보기

포함된 파일(2)

  • SKILL.md11.7 KB
  • metadata.json1.6 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

AI Agent Development

Purpose: Build production-ready AI agents with Microsoft Foundry and Agent Framework.
Scope: Agent architecture, model selection, orchestration, observability, evaluation.


When to Use This Skill

  • Building AI agents with Microsoft Foundry or Agent Framework
  • Selecting LLM models for agent scenarios
  • Implementing multi-agent orchestration workflows
  • Adding tracing and observability to AI agents
  • Evaluating agent quality and response accuracy

Prerequisites

  • Python 3.11+ or .NET 8+
  • agent-framework-azure-ai package
  • Microsoft Foundry workspace with deployed model

Quick Start

Installation

Python (Recommended):

pip install agent-framework-azure-ai --pre  # --pre required during preview

.NET:

dotnet add package Microsoft.Agents.AI.AzureAI --prerelease
dotnet add package Microsoft.Agents.AI.Workflows --prerelease

Model Selection

Top Production Models (Microsoft Foundry):

ModelBest ForContextCost/1M
gpt-5.2Enterprise agents, structured outputs200K/100KTBD
gpt-5.1-codex-maxAgentic coding workflows272K/128K$3.44
claude-opus-4-5Complex agents, coding, computer use200K/64K$10
gpt-5.1Multi-step reasoning200K/100K$3.44
o3Advanced reasoning200K/100K$3.5

Deploy Model: Ctrl+Shift+P → AI Toolkit: Deploy Model


Agent Patterns

Single Agent

from pathlib import Path
from agent_framework.openai import OpenAIChatClient

# Load prompt from file — NEVER embed prompts as inline strings
prompt = Path("prompts/assistant.md").read_text(encoding="utf-8")

client = OpenAIChatClient(
    model="gpt-5.1",
    api_key=os.getenv("FOUNDRY_API_KEY"),
    endpoint=os.getenv("FOUNDRY_ENDPOINT")
)

agent = {
    "name": "Assistant",
    "instructions": prompt,  # Loaded from prompts/assistant.md
    "tools": []  # Add tools as needed
}

response = await client.chat(
    messages=[{"role": "user", "content": "Hello"}],
    agent=agent
)

Multi-Agent Orchestration

from pathlib import Path
from agent_framework.workflows import SequentialWorkflow

# Each agent loads its prompt from a dedicated file
researcher = {
    "name": "Researcher",
    "instructions": Path("prompts/researcher.md").read_text(encoding="utf-8")
}
writer = {
    "name": "Writer",
    "instructions": Path("prompts/writer.md").read_text(encoding="utf-8")
}

workflow = SequentialWorkflow(
    agents=[researcher, writer],
    handoff_strategy="on_completion"
)

result = await workflow.run(query="Write about AI agents")

Advanced Patterns: Search github.com/microsoft/agent-framework for:

  • Group Chat, Concurrent, Conditional, Loop
  • Human-in-the-Loop, Reflection, Fan-out/Fan-in
  • MCP, Multimodal, Custom Executors

Best Practices

Prompt & Template File Management

RULE: NEVER embed prompts or output templates as inline strings in code. Always store them as separate files.

Why: Prompts are content, not code. Separating them enables:

  • Version control diffs that show exactly what changed in a prompt
  • Non-developer editing (PMs, prompt engineers) without touching code
  • A/B testing different prompts without code changes
  • Reuse across agents, languages, and test harnesses
  • Clear separation of concerns (logic vs. content)

Directory Convention:

project/
  prompts/                    # All system/agent prompts
    assistant.md              # One file per agent role
    researcher.md
    writer.md
    reviewer.md
  templates/                  # Output templates used by agents
    report-template.md        # Structured output templates
    email-template.md
    summary-template.md
  config/
    models.yaml               # Model configuration

Loading Pattern:

from pathlib import Path

# Load prompt
prompt = Path("prompts/assistant.md").read_text(encoding="utf-8")

# Load output template and inject into prompt
template = Path("templates/report-template.md").read_text(encoding="utf-8")
prompt_with_template = f"{prompt}\n\n## Output Format\n{template}"

Rules:

  • MUST store all system prompts in prompts/ directory as .md or .txt files
  • MUST store output format templates in templates/ directory
  • MUST NOT embed prompt text longer than one sentence directly in code
  • SHOULD use Markdown format for prompts (readable, supports structure)
  • SHOULD name files after the agent role: prompts/{agent-name}.md
  • SHOULD include a brief comment header in each prompt file (purpose, version, model target)
  • MAY use template variables ({variable}) for dynamic content injected at runtime

Development

✅ DO:

  • Plan agent architecture before coding (Research → Design → Implement)
  • Use Microsoft Foundry models for production
  • Implement tracing from day one
  • Test with evaluation datasets before deployment
  • Use structured outputs for reliable agent responses
  • Implement error handling and retry logic
  • Version your agents and track changes
  • Store all prompts as separate files in prompts/ directory
  • Store output templates as separate files in templates/ directory

❌ DON'T:

  • Hardcode API keys or endpoints
  • Embed prompts or output templates as multi-line strings in code
  • Skip tracing setup (critical for debugging)
  • Deploy without evaluation
  • Use GitHub models in production (free tier has limits)
  • Ignore token limits and context windows
  • Mix agent logic with business logic

Security

  • Store credentials in environment variables or Azure Key Vault
  • Validate all tool inputs and outputs
  • Implement rate limiting for agent APIs
  • Log agent actions for audit trails
  • Use role-based access control (RBAC) for Foundry resources
  • Review OWASP Top 10 for AI: owasp.org/AI-Security-and-Privacy-Guide

Performance

  • Cache model responses when appropriate
  • Use batch processing for multiple requests
  • Monitor token usage and costs
  • Implement timeout handling
  • Use async/await for I/O operations
  • Consider model size vs. latency tradeoffs

Monitoring

  • Track key metrics: latency, success rate, token usage, cost
  • Set up alerts for failures and anomalies
  • Use structured logging with context
  • Integrate with Azure Monitor / Application Insights
  • Review traces regularly for optimization opportunities

Production Checklist

Development

  • Agent architecture documented
  • Model selected and deployed
  • Tools/plugins implemented and tested
  • Error handling with retries
  • Structured outputs configured
  • No hardcoded secrets
  • All prompts stored as separate files in prompts/ (not inline in code)
  • All output templates stored in templates/ (not inline in code)

Model Change Management (MANDATORY)

  • Model version pinned explicitly (e.g., gpt-5.1-2026-01-15)
  • Model version configurable via environment variable
  • Evaluation baseline saved for current model
  • A/B evaluation run before any model switch
  • Structured output schema verified after model change
  • Tool/function-calling accuracy verified after model change
  • Model change documented in changelog with eval results
  • Weekly evaluation monitoring configured for drift detection
  • Alert threshold set for score drops > 10% from baseline

Model Change Test Automation (MANDATORY)

  • Agent designed as model-agnostic (model injected via config)
  • config/models.yaml defines model test matrix with thresholds
  • Tested against ≥2 models (primary + fallback from different provider)
  • Multi-model comparison pipeline in CI/CD (weekly + on model config change)
  • Deployment gated on threshold checks (CI fails on regression)
  • Validated fallback model designated and documented
  • Comparison report generated per run (JSON + human-readable)
  • Cost and latency evaluators included alongside quality metrics

Observability

  • OpenTelemetry tracing enabled
  • Trace viewer tested
  • Structured logging implemented
  • Metrics collection configured

Evaluation

  • Evaluation dataset created
  • Evaluators defined (built-in + custom)
  • Evaluation runs passing
  • Results meet quality thresholds
  • Multi-model comparison run (2+ models tested)
  • Fallback model validated and documented
  • Model comparison baseline saved

Security & Compliance

  • Credentials in Key Vault/env vars
  • Input validation implemented
  • RBAC configured
  • Audit logging enabled
  • OWASP AI Top 10 reviewed

Operations

  • Health checks implemented
  • Rate limiting configured
  • Monitoring alerts set up
  • Deployment strategy defined
  • Rollback plan documented
  • Cost monitoring enabled

Resources

Official Documentation:

AI Toolkit:

  • Model Catalog: Ctrl+Shift+P → AI Toolkit: Model Catalog
  • Trace Viewer: Ctrl+Shift+P → AI Toolkit: Open Trace Viewer
  • Playground: Ctrl+Shift+P → AI Toolkit: Model Playground

Security:


Related: AGENTS.md for agent behavior guidelines • Skills.md for general production practices

Last Updated: January 17, 2026

Scripts

ScriptPurposeUsage
scaffold-agent.pyScaffold AI agent project (Python/.NET) with tracing & evalpython scripts/scaffold-agent.py --name my-agent [--pattern multi-agent] [--with-eval]
validate-agent-checklist.ps1Validate agent project against production checklist./scripts/validate-agent-checklist.ps1 [-Path ./my-agent] [-Strict]
check-model-drift.ps1Validate model pinning, data drift signals, and judge LLM readiness./scripts/check-model-drift.ps1 [-Path ./my-agent] [-Strict]
run-model-comparison.pyRun eval suite against multiple models and generate comparison reportpython scripts/run-model-comparison.py --config config/models.yaml --dataset evaluation/core.jsonl

Troubleshooting

IssueSolution
Model not foundVerify model deployment in Foundry portal and check endpoint URL
Tracing not appearingEnsure AIInferenceInstrumentor().instrument() called before agent creation
Agent loops indefinitelySet max_turns limit and add termination conditions

References

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

[00] TnR ABSOLUTE RIGOR — Systemic Verification Doctrine. Forced cognitive exertion for high-stakes investigations. Mandates absolute deconstruction, mathematical proof chains, and ≥95% derived certainty. Zero-tolerance for heuristics or sentiment-based reasoning. Shortcuts are defined as intentional hallucinations.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

diegosouzapw/awesome-omni-skill642026년 3월 2일 업데이트

2agent

무료

Configures 2-Agent workflow between PM and implementation roles. Use when user mentions 2-Agent, 2エージェント, PM連携設定, Cursor設定, Cursor連携, 2-agent運用. Do NOT load for: 単独運用, ワークフロー実行, ハンドオフ処理.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

diegosouzapw/awesome-omni-skill642026년 3월 2일 업데이트

Appends relevant hashtags to journal entries based on content analysis. Intended for LLM execution.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

diegosouzapw/awesome-omni-skill642026년 3월 2일 업데이트

add-agent

무료

Add a new AI coding agent to Agent Sandbox. Creates all required files (Dockerfile, templates, CI, docs) and wires the agent into the CLI, proxy, and build system.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

diegosouzapw/awesome-omni-skill642026년 3월 2일 업데이트

Add a new property to the AI agents database. Use when the user wants to add, create, or introduce a new column, property, field, or feature to track across all agents in the comparison matrix. Handles all four required steps - database updates, groups.json, table display, and GitHub issue templates.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

diegosouzapw/awesome-omni-skill642026년 3월 2일 업데이트

Add new Agent templates to the meta-agent-skills framework.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

diegosouzapw/awesome-omni-skill642026년 3월 2일 업데이트

diegosouzapw의 스킬 모두 보기

이 스킬의 문제 신고