如果你需要为特定行业快速构建一个专业 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-compose up -d只需三步,即可将通用 Agent 转化为面向特定领域的专业智能体:
{# task/templates/code_review.md.j2 #}
请对以下代码进行审查,重点关注安全性和性能:
代码路径: {{ code_path }}
审查标准: {{ standards }}# task/builtin.py
register_task(TaskConfig(
name="code_review",
prompt_template="code_review.md.j2",
system_prompt="你是一名资深代码审查工程师。",
llm_profile="reasoning",
max_steps=20,
))curl -X POST http://localhost:8010/api/tasks \
-H "Content-Type: application/json" \
-d '{"prompt": "审查 src/main.py", "agent_name": "code_review"}'为不同场景配置不同的模型策略:
# 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 部署

