为什么选择 Micro-Agent
如果你需要为特定行业快速构建一个专业 Agent 并以 API 服务形式交付,Micro-Agent 是最短路径。
| 能力 | Micro-Agent | LangGraph | AutoGen | OpenClaw |
|---|---|---|---|---|
| 开箱即用 API 服务 | ✅ | ❌ | ❌ | ❌ |
| 垂域知识注入 (Skills) | ✅ | ❌ | ❌ | ❌ |
| 内置 RAG 检索增强 | ✅ | ❌ | ❌ | ❌ |
| 知识图谱增强 | ✅ | ❌ | ❌ | ❌ |
| MCP 原生集成 | ✅ | 第三方 | 第三方 | 第三方 |
| 流式 SSE 输出 | ✅ | ✅ | ❌ | ❌ |
| 多 LLM Profile 配置 | ✅ | ❌ | ❌ | ❌ |
| 轻量(核心 <3K 行) | ✅ | ❌ | ❌ | ❌ |
各框架定位: Micro-Agent 面向垂域专业 Agent 服务交付 · LangGraph 面向复杂多步工作流编排 · AutoGen 面向多角色智能体协作 · OpenClaw 面向个人效率自动化
架构
核心组件:
- LLM Layer — 通过 litellm 统一接口,一套代码切换 OpenAI / DeepSeek / Claude / Ollama 等任意模型
- Agent Core — ReAct 执行引擎(Think → Act → Observe 循环),支持 SubAgent 子任务分发与 REPL 沙箱执行
- Memory — 会话记忆系统,支持短期记忆、文件持久化、跨会话恢复
- Skills — 将领域规范、编码标准等知识注入 Agent 的 system prompt,使其具备专业能力
- RAG — 从领域知识库中检索相关文档,为推理提供上下文
- Knowledge Graph — 基于图结构的领域知识表示与关联推理
- MCP / Tools — 通过 Model Context Protocol 连接外部工具和数据源
快速开始
环境要求
- Python ≥ 3.11
- 任意 LLM API Key(OpenAI / DeepSeek / Claude / Ollama / OpenRouter 等)
安装
git clone https://github.com/fdueblab/Micro-Agent.git
cd Micro-Agent
pip install -e ".[dev]"
配置
cp .env.example .env
编辑 .env,填入 API Key:
LLM_MODEL=deepseek/deepseek-chat
LLM_API_KEY=sk-xxx
支持任何 litellm 兼容的模型格式,如
openai/gpt-4o、ollama/qwen2.5、openrouter/qwen/qwen3-coder-flash等。
启动
uvicorn api.app:app --host 0.0.0.0 --port 8010 --reload
访问 http://localhost:8010/docs 查看 API 文档。
Docker 部署
docker-compose up -d
定义垂域任务
只需三步,即可将通用 Agent 转化为面向特定领域的专业智能体:
1. 编写 Prompt 模板
{# task/templates/code_review.md.j2 #}
请对以下代码进行审查,重点关注安全性和性能:
代码路径: {{ code_path }}
审查标准: {{ standards }}
2. 注册任务
# task/builtin.py
register_task(TaskConfig(
name="code_review",
prompt_template="code_review.md.j2",
system_prompt="你是一名资深代码审查工程师。",
llm_profile="reasoning",
max_steps=20,
))
3. 调用
curl -X POST http://localhost:8010/api/tasks \
-H "Content-Type: application/json" \
-d '{"prompt": "审查 src/main.py", "agent_name": "code_review"}'
多 LLM Profile
为不同场景配置不同的模型策略:
# config/config.toml
[llm.default]
model = "deepseek/deepseek-chat"
temperature = 0.0
max_tokens = 8192
[llm.fast]
model = "deepseek/deepseek-chat"
max_tokens = 4096
timeout = 30
[llm.reasoning]
model = "openai/o1-mini"
max_tokens = 16384
timeout = 120
任务中通过 llm_profile 指定:
register_task(TaskConfig(
name="my_task",
llm_profile="reasoning", # 使用推理模型
...
))
内置示例任务
项目内置了多个真实场景的 Agent 任务作为参考实现:
| 任务 | 说明 | 垂域组件 |
|---|---|---|
| 代码分析 | 上传代码 → 自动分析函数结构 | Tools |
| 服务封装 | 上传代码 → 自动生成 Docker + MCP 服务 | Skills + RAG + Memory |
| 算法模型生成 | 描述需求 → 生成算法模型代码 | Skills + RAG + Memory |
| MCP 服务测试 | 连接 MCP 服务器 → 自动发现并测试工具 | MCP |
| 服务评测 | 上传数据 → 自动执行评测并输出报告 | Tools |
| AML 模型评测 | 上传数据 → 多指标安全评测(支持数据适配) | MCP + Tools |
这些任务展示了如何通过组合 Skills、RAG、MCP 等组件,将通用 Agent 打造为垂域专业智能体。你可以参考它们的实现来构建自己的任务。
扩展点
| 组件 | 接口 | 内置实现 | 可扩展方向 |
|---|---|---|---|
| 模型 | litellm | OpenAI, DeepSeek, Claude | Ollama, vLLM, 任意 OpenAI 兼容 API |
| 工具 | Tool ABC |
Bash, MCP, Terminate | 任意自定义工具 |
| 记忆 | MemoryProvider |
ShortTermMemory, FileMemory | Redis, 向量数据库 |
| 检索 | Retriever |
EmbeddingRetriever | FAISS, ChromaDB, Milvus |
| 技能 | Skill + SkillRegistry |
SKILL.md 目录发现 | 远程技能市场 |
项目结构
Micro-Agent/
├── core/ # Agent 核心引擎
│ ├── agent.py # ReAct 循环执行引擎
│ ├── llm.py # LLM 统一调用层 (litellm)
│ ├── config.py # 配置管理 (TOML + 环境变量)
│ ├── memory/ # 记忆系统 (短期 / 持久化)
│ ├── rag/ # 检索增强 (Embedding)
│ ├── skill/ # 技能系统 (注册 / 发现 / 注入)
│ └── schema.py # 数据模型 (Event / Message / ToolCall)
├── tool/ # 工具层
│ ├── base.py # Tool 抽象接口
│ ├── bash.py # Bash 命令执行
│ ├── mcp/ # MCP 工具 (stdio / SSE)
│ └── registry.py # 工具注册表
├── task/ # 任务定义
│ ├── base.py # TaskConfig + 模板渲染
│ ├── builtin.py # 内置任务注册
│ └── templates/ # Jinja2 Prompt 模板
├── api/ # API 服务层
│ ├── app.py # FastAPI 入口
│ ├── routes/ # 路由 (任务管理 / Agent 端点)
│ └── services/ # SSE 流 / 文件处理
├── workspace/ # 工作区
│ ├── knowledge/ # RAG 知识库文档
│ └── skills/ # Skill 定义 (SKILL.md)
├── config/ # 配置文件
├── tests/ # 测试
└── deploy/ # Docker 部署
许可
Metadata
Release files for fdu-micro-agent 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fdu_micro_agent-2.0.0.tar.gz | 36.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fdu_micro_agent-2.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 76.6 kB
Release files / fdu_micro_agent-2.0.0.tar.gz
| Download URL | fdu_micro_agent-2.0.0.tar.gz |
|---|---|
| Size | 36.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cff6d907eb886a676afeb7e603162f0bb4586eea1edffb9eea4ba0f14b01a453
|
|
BLAKE2b-256 checksum How to use checksums |
3b58903b7c84dc7859987279554ddf9541a64738e3c84d0665555170634ab9dc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 10, 2026.
Transparency logRelease files / fdu_micro_agent-2.0.0-py3-none-any.whl
| Download URL | fdu_micro_agent-2.0.0-py3-none-any.whl |
|---|---|
| Size | 40.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
67c56fe5f63ff958931e028231132e809079e9e82db07bc5efa16aaaa4a07e8d
|
|
BLAKE2b-256 checksum How to use checksums |
1d364d257adefd192bd2e8e6eef277f9dbcaa2829f81ab9603932cf54e4ea5b9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 10, 2026.
Transparency log