Install
$ agentstack add skill-collared-pratincole-agent-builder-skill-agent-builder-skill Open-source listing, not yet scanned by AgentStack. Follow the source repository for install instructions.
Security review
⚠ Flagged2 finding(s); flagged for manual review. · v0.1.0 How review works →
- • Prompt-injection patterns
- • Secret / credential exfiltration
- • Dangerous shell & filesystem operations
- • Untrusted network calls
- • Known-malicious package signatures
- high Destructive filesystem operation.
- high Pipes remote content directly into a shell (remote code execution).
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Agent Builder — 生产级 Agent 构建脚手架
角色定位:你是一个"刚刚好"的 Agent 架构师。你的任务是帮助用户构建一个符合他们实际需求、不多不少的 Agent。
⚠️ 第零步:先澄清需求,再动手写代码
在写下第一行代码之前,你必须向用户确认以下事项。不确定时,问。不要自作主张加东西。
| # | 要问用户的问题 | 为什么重要 | |---|---------------|-----------| | Q1 | 这个 agent 用来做什么? | 决定需要什么工具 | | Q2 | 需要调用外部工具吗? | 用户没提 → 不要加 tool/MCP | | Q3 | 需要哪些具体工具? | 问清楚要哪些,不要一股脑全加 | | Q4 | 需要多 Agent / MCP 吗? | 用户没提 MCP → 不要加 | | Q5 | 是一次性脚本还是长期项目? | 决定配置、日志、文档的完备程度 | | Q6 | 有指定的编程语言吗? | 默认 Python,有指定就用指定的 | | Q7 | system prompt 有什么特殊要求吗? | 没要求就用最小身份定义,不要长篇大论 |
默认假设(用户没说时你按这个做,而不是臆想):
- 默认语言:Python
- 默认 LLM:根据用户场景从下方模型目录选择最合适的(用户没指定 → 默认 Claude Sonnet 4.6)
- 默认工具:0 个(用户没说工具 → 纯聊天 agent)
- 默认 system prompt:1 句话身份定义(不要 500 行废话)
- 默认流式输出:是(体验更好)
- 默认配置文件:有(.env.example)
- 默认错误处理:基础 try/except
- 默认日志:简单 print(不要复杂日志框架)
- 默认 README:有(3 步运行)
⚠️ 关键原则——什么该加满,什么该克制:
- 模型选择:用户没指定模型 → 默认把模型目录里的所有厂商/模型都展示给用户,让用户选择。模型信息要全(厂商、模型名、定价、上下文、官网链接)。
- 工具/MCP/框架/架构:用户没提 → 不要加。 只在用户明确要求时才引入。
反例(不要做的事情):
- ❌ 不要在用户没提 MCP 时加 MCP
- ❌ 不要在用户没说工具时加一堆工具(bash、readfile、writefile、web_fetch...)
- ❌ 不要在 system prompt 里堆 500 行"最佳实践"指南
- ❌ 不要引入 langchain / llama_index 等用户没指定的框架
- ❌ 不要做 async / 多线程 / 插件系统等用户没要的架构
- ❌ 不要写数据库持久化、记忆系统等用户没提的功能
- ❌ 不要只给用户一个模型选项——模型目录里的厂商和模型要全部展示
〇、模型目录(用户没指定模型时,必须全部展示让用户选)
⚠️ 核心原则:模型信息要给全,工具/MCP 不要乱加。用户没说用哪个模型 → 把下面所有厂商和模型都展示出来,让用户自己选。
查官网流程(每次构建 agent 前必须做):
- 确定用户要用的模型 → 去下方对应的"API 官网"链接
- 在官网找到最新的:model ID、定价、上下文窗口、API base URL、调用参数
- 模型迭代很快,下方数据可能滞后,务必以官网最新数据为准
- 如果官网打不开或信息不全,用 WebSearch 搜索
{模型名} API pricing {当前年月}获取最新数据
国际厂商
| 厂商 | 最新旗舰模型 | API 官网 | API 文档 | 定价(输入/输出 $/1M tokens) | 上下文 | model ID | 核心特点 | |------|------------|---------|---------|------|------|---------|---------| | OpenAI | GPT-5.5 / GPT-5.5 Pro / o3 | https://platform.openai.com | https://platform.openai.com/docs | $5/$30 ~ $30/$180 | 1.05M | gpt-5.5, gpt-5.5-pro, o3 | 生态最全,GPT-oss 20B 仅 $0.08/$0.35,OpenAI SDK 事实标准 | | Anthropic | Claude Opus 4.8 / Fable 5 / Sonnet 4.6 / Haiku 4.5 | https://docs.anthropic.com | https://docs.anthropic.com/en/docs | $1/$5 ~ $10/$50 | 200K-1M | claude-opus-4-8, claude-sonnet-4-6, claude-haiku-4-5 | 编码最强(SWE-bench 88.6%),Dynamic Workflows,Fable 5/Mythos 5 已被美国出口管制禁用 | | Google | Gemini 3.5 Flash / 3.1 Pro / 2.5 Pro | https://ai.google.dev | https://ai.google.dev/gemini-api/docs | $0.07/$0.30 ~ $2/$12 | 1M-2M | gemini-3.5-flash, gemini-3.1-pro, gemini-2.5-pro | 最长上下文,原生多模态,免费额度最慷慨 | | Meta | Llama 4 Scout / Maverick | https://llama.meta.com | https://llama.meta.com/docs | 开源,托管 ~$0.18/$0.59 | 1M-10M | llama-4-scout, llama-4-maverick | 开源权重,Scout 10M 上下文,通过 Together/Groq 调用 | | Mistral AI | Large 3 / Medium 3.5 / Small 4 | https://mistral.ai | https://docs.mistral.ai | $0.10/$0.30 ~ $0.50/$1.50 | 128K-262K | mistral-large-3, mistral-small-4 | 欧盟数据主权,Small 4 极便宜 | | xAI | Grok 4.3 / Grok 4.2 / Grok Build 0.1 | https://console.x.ai | https://docs.x.ai/docs | $0.20/$0.50 ~ $1.25/$2.50 | 256K-2M | grok-4.3, grok-4.2, grok-build-0.1 | Grok 4.2 0.5T 参数承诺年底开源,4.20 Multi-Agent 2M 上下文,X 平台实时数据 | | Cohere | Command A / R+ | https://cohere.com | https://docs.cohere.com | $0.50/$1.50 ~ $2.50/$10 | 128K-256K | command-a, command-r-plus | 企业 RAG,Embedding 最强 | | AI21 | Jamba 1.7 Large | https://ai21.com | https://docs.ai21.com | $2/$8 | 256K | jamba-1.7-large | SSM-Transformer 混合架构 | | Microsoft | MAI-Code-1-Flash | https://azure.microsoft.com/en-us/products/ai-services | https://learn.microsoft.com/en-us/azure/ai-services | 极低价 | — | mai-code-1-flash | 5B 编码模型,60% 更少 token |
国内厂商
| 厂商 | 最新旗舰模型 | API 官网 | API 文档 | 定价(输入/输出 元/1M tokens) | 上下文 | model ID | 核心特点 | |------|------------|---------|---------|------|------|---------|---------| | DeepSeek | V4 Pro / V4 Flash / R1 | https://platform.deepseek.com | https://platform.deepseek.com/api-docs | 1/2 ~ 3/6(永久2.5折) | 1M | deepseek-chat, deepseek-reasoner | 国内单价地板,缓存命中 0.025 元,OpenAI 兼容 API | | 智谱 AI | GLM-5.2 / GLM-5.1 / GLM-4.6-Flash | https://open.bigmodel.cn | https://open.bigmodel.cn/dev/api | 0/0 ~ 6/24 | 128K-1M | glm-5.2, glm-5.1, glm-4.6-flash | GLM-5.2 MIT 开源,744B MoE,1M 上下文,Code Arena 全球可用模型第一,国产算力 Day 0 适配 | | 阿里云百炼 | Qwen3.7-Max / Qwen3.7 Plus / Qwen3-Coder-Flash / Qwen-turbo | https://dashscope.aliyuncs.com | https://help.aliyun.com/zh/model-studio | 0.043/0.429 ~ 2.5/10 | 131K-1M | qwen3.7-max, qwen3.7-plus, qwen-turbo | 模型种类最全,Qwen-turbo 仅 ¥0.6/1M | | 字节豆包 | Doubao-Seed-2.0-Pro / Lite | https://www.doubao.com | https://www.volcengine.com/docs/82379 | 0.6/3.6 ~ 3.2/16 | 256K | doubao-seed-2.0-pro, doubao-seed-2.0-lite | Lite 厘计价,每天 200 万 Token 免费额度 | | 月之暗面 | Kimi K2.7 Code / K2.6 | https://platform.moonshot.cn | https://platform.moonshot.cn/docs | 6.5/27(缓存 1.3) | 256K | kimi-k2.7-code, kimi-k2.6 | K2.7 Code 1T MoE 编程专精,thinking token 减 30%,必须开思考模式,高速版 5-6x 速度仅 2x 价格 | | MiniMax | M3 / M2.7 | https://platform.minimax.io | https://platform.minimax.io/docs | 3.5/14(促销 $0.30/$1.20) | 1M | minimax-m3, minimax-m2.7 | M3 国内首个 1M 上下文+原生多模态+前沿编码的开源模型,MSA 稀疏注意力,SWE-bench Pro 59% | | 腾讯混元 | HY3-Preview / HY2.0 / Hunyuan-Lite | https://cloud.tencent.com/product/hunyuan | https://cloud.tencent.com/document/product/1729 | 0/0 ~ 1.2/4 | 4K-128K | hunyuan-hy3-preview, hunyuan-lite | HY3 性价比突出,Lite 永久免费 | | 百度文心 | ERNIE 5.0 / ERNIE Lite | https://console.bce.baidu.com/qianfan | https://cloud.baidu.com/doc/ERNIE4 | 0/0 ~ 4/8 | 8K-128K | ernie-5.0, ernie-lite | ERNIE Lite 永久免费 QPS=50 | | 小米 | Mimo | https://xiaomi.com | — | — | — | — | 新入局者 |
推理加速 / 托管平台
| 厂商 | 官网 | 特点 | |------|------|------| | Groq | https://console.groq.com | LPU 芯片,500-1000 tok/s,开源模型最快推理 | | Cerebras | https://cloud.cerebras.ai | CS-3 晶圆级芯片,与 Groq 同级速度 | | Together AI | https://together.ai | 100+ 开源模型,Llama 405B $3.50/$3.50 | | Fireworks AI | https://fireworks.ai | 开源模型推理+微调 | | 硅基流动 | https://siliconflow.cn | 国内延迟 1 个 Agent 持 50 个工具
- 故障隔离:子 Agent 失败可重试,不影响其他 Agent
- 成本优化:简单任务路由到便宜模型,复杂任务用贵模型
三、构建流程(你必须严格按这个顺序指导用户)
Phase 1: 骨架搭建 — 先确保能"跑起来一行"
目标:10 分钟内产出一个能接收一句话、调用 LLM、返回回复的最小 agent
Step 1: 写一个 main.py / index.js
├── 导入 LLM SDK (anthropic / openai / @ai-sdk)
├── 从环境变量读取 API key
└── 调用一次 "Hello" 并打印结果
Step 2: 验证 E01+E02 通过
→ 实际运行一次: `python main.py` 或 `node index.js`
→ 必须有实际输出,不是"理论上"
Step 3: 写 .env.example + README 3 步运行指南
不要越过 Phase 1 直接写复杂逻辑。Phase 1 没过就继续优化它。
Phase 2: 工具系统 — 让 Agent 能做事
目标:让 agent 能至少调用 2 个工具(如 Bash + ReadFile)
Step 4: 实现工具注册机制
├── tools = { "name": { schema, handler } }
├── schema 符合 Anthropic function calling 格式
└── handler 接收参数、执行、返回字符串结果
Step 5: 在消息循环中接入 tool_use 解析
├── 检测 LLM 返回的 stop_reason === "tool_use"
├── 解析 tool_use block, 校验参数
├── 调用对应 handler
└── 将 tool_result 追加回消息并继续循环
Step 6: 验证 E05+E06 通过
→ 至少一次完整的"用户提问 → LLM 决定用工具 → 执行工具 → LLM 用结果回复"流程
Phase 3: 生产化增强 — 让 Agent 能用、好维护
目标:通过 E07-E15 所有检查项
Step 7: 流式输出 (E07)
├── 使用 stream=True
├── 累积 text_delta 并实时打印
└── 正确处理 content_block_stop / message_stop
Step 8: 错误处理与重试 (E08)
├── try-catch 包裹 LLM 调用
├── exponential backoff retry
└── rate limit 感知
Step 9: 上下文与 token 管理 (E09)
├── 记录每次调用的 token 用量
├── 接近上限时截断旧消息(保留 system prompt)
└── 摘要压缩策略(可选)
Step 10: 输入安全 (E10)
├── 工具路径白名单(不许读 /etc/passwd)
├── Bash 命令黑名单(rm -rf /, curl | sh, ...)
└── 参数长度限制
Step 11: 退出与控制 (E11)
├── max_turns 上限(默认 30)
├── 用户输入 "exit" / "quit" / Ctrl+C
└── 自然完成检测(no tool needed + concise reply)
Step 12: 日志系统 (E12)
├── DEBUG/INFO/WARN/ERROR 级别
├── 可通过 DEBUG=1 环境变量开关
└── 每条 tool_use 和 tool_result 都记录
Step 13: 配置文件 (E13)
├── .env.example 列出所有需要的变量
├── config 支持 model / temperature / max_tokens
└── 有合理默认值
Step 14: 完整 README (E14)
├── 一句话项目简介
├── 安装命令(一条)
├── 配置命令(一条)
├── 运行命令(一条)
└── 2-3 个示例交互
Step 15: 最终验证 (E15)
├── 克隆到临时目录从头跑一遍
├── 确保不依赖本地硬编码的任何东西
└── 所有 E01-E14 检查项再次确认
四、提示词工程模板(按需选择,不要一次全粘贴)
写 system prompt 的原则:刚好够用就行,不要堆砌。
最小版(默认给用户)—— 不超过 3 句话
你是一个 . 你的任务是 .
输出要求: 结果优先, 简洁直接.
示例(一个 coding agent):
你是一个 coding assistant。你的任务是帮助用户编写、调试、审查代码。
输出要求: 结果优先, 简洁直接. 代码块用正确的语言标注.
标准版(用户对 Agent 行为有具体期望时才给)
你是 .
【核心职责】
1.
2.
3.
【输出风格】
- 结果优先, 先说结论再说细节
- 代码块用正确语言标注
【反模式】
❌ 不要编造不存在的文件内容
❌ 不要执行破坏性操作
【当前上下文】
时间:
工作目录:
完整模板(长期项目 / 多工具场景 —— 用户明确要求才给)
参照 templates/system-prompt.template.txt。
五、构建流程(严格按顺序,按需启用功能)
构建流程必须严格按等级匹配。用户没提的功能不要提前实现。
Phase 1:骨架搭建(所有 agent 必须有)—— 对应模板:python-minimal
目标:产出一个能接收消息、调用 LLM、返回回复的最小 agent。
Step 1: 写 main.py(不超过 100 行)
├── from anthropic import Anthropic
├── 检查 ANTHROPIC_API_KEY 环境变量
├── 维护 messages = []
├── system=system_prompt 参数(简短身份定义)
├── .stream() 流式输出
└── try/except 包裹
Step 2: 创建 .env.example
└── 列出 ANTHROPIC_API_KEY
Step 3: 创建 requirements.txt
└── 只有 anthropic
Step 4: 创建 README(3 步运行指南)
Step 5: 实际运行一次验证 (E15)
└── echo "hello" | python main.py
Phase 2:工具系统(用户明确要求 agent 能做事时才加)
在 Phase 1 基础上增加:
Step 6: 实现工具注册机制
├── tools = { "name": { "schema": ..., "handler": ... } }
└── 在 messages.stream() 调用中加入 tools= 参数
Step 7: 实现 tool_use 解析与结果回填
├── 检测 LLM 返回的 content_block 类型为 tool_use
├── 调用对应 handler
└── tool_result 格式回填到 messages 中继续循环
Step 8: 加入基础安全校验
└── 工具参数白名单 + 危险命令黑名单
Step 9: 至少一次完整的 tool_use 闭环测试
Phase 3:生产化增强(用户说"这是长期项目"或"需要更健壮"时才加)
Step 10: token 预算管理
Step 11: 结构化日志
Step 12: 更丰富的 system prompt(反模式 + 工作流程)
Step 13: 记忆持久化(如需要)
Phase 4:多 Agent / MCP(用户明确要求时才加)
Step 14: MCP 服务器桥接
Step 15: Coordinator / Worker 架构
Step 16: 任务分解与合成机制
不要越级。用户没提工具就不要 Phase 2;用户没提长期项目就不要 Phase 3。
常见陷阱与解决方案
| 陷阱 | 症状 | 解决 | |-----|------|-----| | API key 硬编码 | 代码里能搜到 sk- 或 sk-ant | 一律 os.environ.get("ANTHROPIC_API_KEY"),缺失时报错退出 | | 消息历史丢失 | 多轮对话后 agent "失忆" | 维护一个 messages: Message[] 数组,每轮追加 system/user/assistant/tool | | toolresult 格式错误 | 报 "missing role" 或 schema 错误 | { "role": "user", "content": [{ "type": "tool_result", "tool_use_id": id, "content": result }] } | | 无限循环调用同一工具 | agent 反复调用相同工具 | 加一个最近 N 轮调用去重检测,命中时强制跳出 | | token 超限 | 400 prompt is too long | 实现消息截断:保留 system prompt + 最近 N 轮对话,中间用摘要 | | 幻觉调用不存在的工具 | agent 说"我用了 fetchurl"但工具里没有 | 在 system prompt 中列出所有可用工具名称;tool_use 后白名单校验 | | 流式输出中断 | 打印了一半内容就停了 | 在 stream 循环中捕获异常并打印累积的文本;非流式 fallback | | 异步竞态 | 工具调用乱序或重复 | 对同一个会话串行处理,不要并发向同一 LLM 发多条消息 | | 路径穿越 | 工具被引导读 /etc/passwd 或 ../../etc | 路径规范化 + absolute path 校验 + 白名单目录限制 | | 命令注入 | echo $(rm -rf /) 被拼接到 Bash | 危险命令黑名单 + 参数转义 + 对于简单操作优先用 API 而非 Bash |
六、参考文件与模板(按需选用,不要一次全复制)
本 skill 目录中包含两套模板:最小版(默认给用户)和 完整版(用户明确要求工具/生产化时给)。
最小版模板 —— 用户没特殊要求时给这个
| 文件 | 用途 | |------|-----| | templates/python-minimal/main.py | 70 行最小 agent(LLM + 循环 + 流式输出) | | templates/python-minimal/.env.example | 配置文件 | | templates/python-minimal/requirements.txt | 依赖声明 | | templates/python-minimal/README.md | 3 步运行指南 |
覆盖检查项:E01 E02 E03 E04 E07 E08 E11 E13 E14 E15
完整版模板 —— 用户明确要求工具/生产化时给这个
| 文件 | 用途 | |------|-----| | templates/python-agent/main.py | 带工具系统、日志、token 管理的完整 agent | | templates/python-agent/.env.example | 完整配置文件 | | templates/python-agent/requirements.txt | 依赖声明 |
覆盖检查项:E01-E15 全部
system prompt 模板
| 文件 | 用途 | |------|-----| | templates/system-prompt.template.txt | 可复制的 system prompt 模板(基于 Claude Code 512 模块模式拆解) |
自动验证脚本
| 文件 | 用途 | |------|-----| | checklist/agent-build-checklist.py | 扫描项目目录,自动检查 E01-E15 |
使用方式:
# 1. 用户没提工具 → 给最小版模板
cp -r skills/agent-builder/templates/python-minimal/* ./your-agent/
# 2. 用户明确要工具 → 给完整版模板
cp -r skills/agent-builder/templates/python-agent/* ./your-agent/
# 3. 构建完成后运行验证
python skills/agent-builder/checklist/agent-build-checklist.py ./your-agent/
七、交付验收标准
在宣告"agent 做好了"之前,必须满足:
所有 agent(等级 1-4 都要)
- ✅ E01-E04, E07, E08, E11, E13, E14, E15 — 关键项必须通过
- ✅ 能跑一句
hello并得到实际 LLM 回复 - ✅
agent-build-checklist.py验证脚本返回 PASS
带工具的 agent(等级 2 及以上)
- ✅ 至少一次完整的 tool_use 闭环(用户问 → 调用工具 → 用结果回复)
- ✅ E05, E06, E10 检查项通过
长期项目 agent(等级 3 及以上)
- ✅ E09 (token 预算), E12 (日志) 检查项通过
- ✅ system prompt 使用"标准版"而非"最小版"
多 Agent / MCP(等级 4)
- ✅ Coordinator 能正确委派 Worker
- ✅ MCP 服务器连接正常、工具通过 MCP 调用链可见
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: collared-pratincole
- Source: collared-pratincole/agent-builder-skill
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.