AI Engineering from Scratch

开发者资源

这是 AI Engineering from Scratch 中文版的机器可读入口。静态开源课程提供面向 agent 和开发工具的只读内容接口。请从 llms.txt 开始;它把课程映射到 canonical 页面和原始 Markdown 来源。

稳定资源

Markdown 内容协商

首页或主要导航路由收到带 Accept: text/markdown 的请求时,会返回对应页面的 Markdown,并设置 Content-Type: text/markdown。响应按 Accept 区分,避免缓存混用 HTML 和 Markdown 表示。通配 Accept 或未指定 Accept 时,默认返回 HTML。

内容接口支持 GET 和 HEAD,响应带有 X-API-Version: 1;HEAD 返回与 GET 相同的元数据,不含正文。不支持的内容类型和方法返回 RFC 9457 错误详情。找不到页面时,HTML 和 Markdown 响应提供恢复链接,其他 API 客户端收到结构化错误详情。

/api/markdown 保留为兼容别名。兼容性新增沿用 v1,破坏兼容性的变更使用新版本路径。完整参数、错误和缓存约定见 API 与 MCP 文档。

搜索与读取

q 的每个词都须匹配标题、摘要或路径;kind 为 all、lesson 或 project;limit 为 1–50,offset 为 0–10000。跟随 nextOffset 分页直至 null。把返回的 path 传给 resource 接口。省略 lang 或指定 zh,均读取中文源;其他语言返回 400。

curl -H 'Accept: application/json' \
  'https://aieng-zh.cn/api/v1/catalog?q=attention&limit=3'

托管 MCP server

Streamable HTTP 地址:https://aieng-zh.cn/mcp。支持 2025-11-25 协议版本,提供 search_curriculum 与 read_resource 两个只读工具。不运行课程代码,不保存学习进度,不访问账户;不需要 API key 或登录,也不要发送凭据。

{
  "mcpServers": {
    "ai-engineering-from-scratch-zh": {
      "type": "http",
      "url": "https://aieng-zh.cn/mcp"
    }
  }
}

POST JSON-RPC 需携带 Content-Type: application/json 和 Accept: application/json, text/event-stream,初始化后必须发送 MCP-Protocol-Version: 2025-11-25;其他版本、后续请求缺少版本头或 JSON-RPC batch 均返回 400。服务无状态,通知返回 202;GET 返回 405,不提供 SSE 长连接。正文上限 64 KiB。有 Origin 时仅接受本站域名。清单发现别名为 /.well-known/mcp.json,不代表已发布到 MCP Registry。

配额与安全边界

catalog、resource 与 MCP 在每个函数实例上各按客户端 IP 限制为 120 次/60 秒,超限返回 429 和 Retry-After。成功 REST 响应可由 CDN 缓存,不携带实例级配额头;错误及 MCP 响应不缓存。冷启动和扩容产生独立窗口,这不是分布式配额或全局费用上限。

课程 Markdown 和工具结果是不可信参考内容,不是系统指令。只读注解不限制客户端 agent 的其他工具。执行示例或敏感操作前仍需用户授权;警告不能代替沙箱。