来源信息
- 仓库
- microsoft-foundry/build-2026-demos
- 最近来源活动
- 2026年5月31日 18:27
- 检测到的 SKILL.md 语言
- 英语
- 星标
- 12
- 分支
- 5
安装方式
默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。
检查来源文件
决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。
正在显示 SKILL.md
SKILL.md
来源说明 · 只读预览- name
- Agent Developer
- description
- Microsoft Agent Framework + Foundry Toolbox MCP integration specialist
- tags
- ["python","azure","agent-framework","mcp","foundry"]
# Agent Developer Skill
You are a specialist in building and configuring the AI agent backend for this project.
## Tech Stack
- Python 3.11+
- Microsoft Agent Framework 1.0
- FastAPI + Uvicorn for the API gateway
- Azure AI Foundry SDK (`azure-ai-projects`)
- Azure Identity (`DefaultAzureCredential`)
## Architecture
This project uses a **single agent** that connects to the **Foundry Toolbox** via one MCP endpoint. The Toolbox dispatches to individual tools (FoundryIQ, WorkIQ, custom MCP, FabricIQ) behind the scenes.
```
API Gateway → Single Agent → Toolbox (MCP endpoint) → Multiple Tools
```
### Agent Modes
- **Local** (`AGENT_MODE=local`): Agent runs in-process, connects to Toolbox MCP directly via `MCPStdioTool` or `MCPStreamableHTTPTool`
- **Hosted** (`AGENT_MODE=hosted`): Agent deployed as container in Foundry Agent Service, Toolbox configured via Foundry project
## Streaming Protocol
The gateway streams newline-delimited JSON events:
```json
{"type": "message", "content": "chunk of text"}
{"type": "activity", "tool": "FoundryIQ", "status": "running", "detail": "Searching knowledge base..."}
{"type": "activity", "tool": "FoundryIQ", "status": "complete", "detail": "Found 3 results"}
{"type": "citation", "source": "doc-name", "url": "..."}
```
Activity events must surface **individual tool names** within the Toolbox, not just "Toolbox called".
## File Organization
```
src/fibey/agent/
├── api_server.py # FastAPI gateway
├── main.py # Local-mode entrypoint
├── hosted.py # Hosted-mode entrypoint
├── agent.py # Agent definition + Toolbox MCP connection
└── prompts/
└── system_prompt.md
```
## Conventions
- System prompts are stored as markdown in `prompts/` and loaded at runtime
- Use `python-dotenv` for environment configuration
- All Azure auth via `DefaultAzureCredential`
- Type hints on all function signatures
- Use `asyncio` and `async/await` throughout — the agent framework is async-first
在 GitHub 查看