阶段4(上):LangGraph、Function Calling、MCP(SDK 2.x)、Agent 评测与运维、Agent 设计专题;run_examples 设置 RUN_EXAMPLES=1
This commit is contained in:
1 parent
6650f7eb6d
commit
caaec830b3
38 files changed
+3515
-64
No files matched your search
+845
-44
@@ -5,30 +5,34 @@
|
||||
{
|
||||
"stack": "agent-design",
|
||||
"domain": "ai",
|
||||
"title": "Agent 设计:规划、上下文工程与多 Agent",
|
||||
"title": "Agent 设计",
|
||||
"index": "topics/ai/agent-design/index.md",
|
||||
"lessons": 0,
|
||||
"scenarios": 0,
|
||||
"lessons": 2,
|
||||
"scenarios": 1,
|
||||
"interview_questions": {
|
||||
"基础": 0,
|
||||
"进阶": 0,
|
||||
"场景题": 0
|
||||
"基础": 3,
|
||||
"进阶": 3,
|
||||
"场景题": 2
|
||||
},
|
||||
"examples": []
|
||||
"examples": [
|
||||
"topics/ai/agent-design/examples/agent-patterns"
|
||||
]
|
||||
},
|
||||
{
|
||||
"stack": "agent-ops",
|
||||
"domain": "ai",
|
||||
"title": "Agent 记忆、评测与可观测性",
|
||||
"title": "Agent 评测与运维",
|
||||
"index": "topics/ai/agent-ops/index.md",
|
||||
"lessons": 0,
|
||||
"scenarios": 0,
|
||||
"lessons": 2,
|
||||
"scenarios": 1,
|
||||
"interview_questions": {
|
||||
"基础": 0,
|
||||
"进阶": 0,
|
||||
"场景题": 0
|
||||
"基础": 3,
|
||||
"进阶": 3,
|
||||
"场景题": 2
|
||||
},
|
||||
"examples": []
|
||||
"examples": [
|
||||
"topics/ai/agent-ops/examples/eval-gate"
|
||||
]
|
||||
},
|
||||
{
|
||||
"stack": "ai-coding",
|
||||
@@ -49,14 +53,16 @@
|
||||
"domain": "ai",
|
||||
"title": "Function Calling 工具调用",
|
||||
"index": "topics/ai/function-calling/index.md",
|
||||
"lessons": 0,
|
||||
"scenarios": 0,
|
||||
"lessons": 1,
|
||||
"scenarios": 1,
|
||||
"interview_questions": {
|
||||
"基础": 0,
|
||||
"进阶": 0,
|
||||
"场景题": 0
|
||||
"基础": 3,
|
||||
"进阶": 2,
|
||||
"场景题": 2
|
||||
},
|
||||
"examples": []
|
||||
"examples": [
|
||||
"topics/ai/function-calling/examples/tool-loop"
|
||||
]
|
||||
},
|
||||
{
|
||||
"stack": "langchain",
|
||||
@@ -77,14 +83,16 @@
|
||||
"domain": "ai",
|
||||
"title": "LangGraph",
|
||||
"index": "topics/ai/langgraph/index.md",
|
||||
"lessons": 0,
|
||||
"scenarios": 0,
|
||||
"lessons": 2,
|
||||
"scenarios": 1,
|
||||
"interview_questions": {
|
||||
"基础": 0,
|
||||
"进阶": 0,
|
||||
"场景题": 0
|
||||
"基础": 3,
|
||||
"进阶": 3,
|
||||
"场景题": 2
|
||||
},
|
||||
"examples": []
|
||||
"examples": [
|
||||
"topics/ai/langgraph/examples/ticket-flow"
|
||||
]
|
||||
},
|
||||
{
|
||||
"stack": "llm-serving",
|
||||
@@ -119,14 +127,16 @@
|
||||
"domain": "ai",
|
||||
"title": "MCP 模型上下文协议",
|
||||
"index": "topics/ai/mcp/index.md",
|
||||
"lessons": 0,
|
||||
"scenarios": 0,
|
||||
"lessons": 1,
|
||||
"scenarios": 1,
|
||||
"interview_questions": {
|
||||
"基础": 0,
|
||||
"进阶": 0,
|
||||
"场景题": 0
|
||||
"基础": 3,
|
||||
"进阶": 2,
|
||||
"场景题": 2
|
||||
},
|
||||
"examples": []
|
||||
"examples": [
|
||||
"topics/ai/mcp/examples/kb-server"
|
||||
]
|
||||
},
|
||||
{
|
||||
"stack": "prompt-engineering",
|
||||
@@ -642,15 +652,65 @@
|
||||
}
|
||||
],
|
||||
"items": [
|
||||
{
|
||||
"id": "ai.agent-design.context-skills-multiagent",
|
||||
"title": "上下文工程、Skills、多 Agent 和 A2A",
|
||||
"type": "lesson",
|
||||
"domain": "ai",
|
||||
"stack": [
|
||||
"agent-design"
|
||||
],
|
||||
"tags": [
|
||||
"上下文工程",
|
||||
"Context Engineering",
|
||||
"Skills",
|
||||
"多 Agent",
|
||||
"Supervisor",
|
||||
"Handoff",
|
||||
"A2A"
|
||||
],
|
||||
"level": "advanced",
|
||||
"prerequisites": [
|
||||
"ai.agent-design.react-planning"
|
||||
],
|
||||
"related": [
|
||||
"ai.prompt-engineering.index",
|
||||
"ai.mcp.protocol-server",
|
||||
"ai.ai-coding.index",
|
||||
"ai.agent-design.interview"
|
||||
],
|
||||
"est_hours": 3.5,
|
||||
"week": [
|
||||
11,
|
||||
13
|
||||
],
|
||||
"order": 2,
|
||||
"path": "topics/ai/agent-design/02-context-skills-multiagent.md",
|
||||
"sections": [
|
||||
"解释说明",
|
||||
"案例",
|
||||
"代码示例",
|
||||
"易错点",
|
||||
"面试常问"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ai.agent-design.index",
|
||||
"title": "Agent 设计:规划、上下文工程与多 Agent",
|
||||
"title": "Agent 设计",
|
||||
"type": "index",
|
||||
"domain": "ai",
|
||||
"stack": [
|
||||
"agent-design"
|
||||
],
|
||||
"tags": [],
|
||||
"tags": [
|
||||
"ReAct",
|
||||
"规划",
|
||||
"上下文工程",
|
||||
"Skills",
|
||||
"多 Agent",
|
||||
"A2A",
|
||||
"Agentic RAG"
|
||||
],
|
||||
"level": null,
|
||||
"prerequisites": [],
|
||||
"related": [],
|
||||
@@ -662,17 +722,199 @@
|
||||
],
|
||||
"order": null,
|
||||
"path": "topics/ai/agent-design/index.md",
|
||||
"sections": []
|
||||
"sections": [
|
||||
"学习路线",
|
||||
"企业场景",
|
||||
"面试题",
|
||||
"示例代码",
|
||||
"在 16 周计划中",
|
||||
"官方资料"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ai.agent-design.interview",
|
||||
"title": "Agent 设计面试题",
|
||||
"type": "interview",
|
||||
"domain": "ai",
|
||||
"stack": [
|
||||
"agent-design"
|
||||
],
|
||||
"tags": [
|
||||
"ReAct",
|
||||
"规划",
|
||||
"上下文工程",
|
||||
"多 Agent",
|
||||
"A2A",
|
||||
"面试"
|
||||
],
|
||||
"level": "advanced",
|
||||
"prerequisites": [],
|
||||
"related": [
|
||||
"ai.agent-design.react-planning",
|
||||
"ai.agent-design.context-skills-multiagent"
|
||||
],
|
||||
"est_hours": null,
|
||||
"week": [
|
||||
11,
|
||||
13,
|
||||
16
|
||||
],
|
||||
"order": null,
|
||||
"path": "topics/ai/agent-design/interview.md",
|
||||
"sections": [
|
||||
"基础",
|
||||
"进阶",
|
||||
"场景题"
|
||||
],
|
||||
"questions": {
|
||||
"基础": 3,
|
||||
"进阶": 3,
|
||||
"场景题": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "ai.agent-design.react-planning",
|
||||
"title": "Agent 推理模式:ReAct、Plan-and-Execute、反思和 Agentic RAG",
|
||||
"type": "lesson",
|
||||
"domain": "ai",
|
||||
"stack": [
|
||||
"agent-design"
|
||||
],
|
||||
"tags": [
|
||||
"ReAct",
|
||||
"Plan-and-Execute",
|
||||
"规划",
|
||||
"反思",
|
||||
"Agentic RAG",
|
||||
"工作流 vs Agent"
|
||||
],
|
||||
"level": "intermediate",
|
||||
"prerequisites": [
|
||||
"ai.function-calling.tool-loop"
|
||||
],
|
||||
"related": [
|
||||
"ai.agent-design.context-skills-multiagent",
|
||||
"ai.langgraph.state-graph",
|
||||
"ai.agent-design.interview"
|
||||
],
|
||||
"est_hours": 3,
|
||||
"week": [
|
||||
10,
|
||||
11
|
||||
],
|
||||
"order": 1,
|
||||
"path": "topics/ai/agent-design/01-react-planning.md",
|
||||
"sections": [
|
||||
"解释说明",
|
||||
"案例",
|
||||
"代码示例",
|
||||
"易错点",
|
||||
"面试常问"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ai.agent-design.scenario.report-agent",
|
||||
"title": "运营报表 Agent:规划、只读 SQL 工具、结构化输出和任务进度",
|
||||
"type": "scenario",
|
||||
"domain": "ai",
|
||||
"stack": [
|
||||
"agent-design",
|
||||
"langgraph",
|
||||
"postgresql",
|
||||
"fastapi"
|
||||
],
|
||||
"tags": [
|
||||
"报表 Agent",
|
||||
"Text-to-SQL",
|
||||
"规划",
|
||||
"结构化输出",
|
||||
"任务状态",
|
||||
"流式进度"
|
||||
],
|
||||
"level": "advanced",
|
||||
"prerequisites": [
|
||||
"ai.agent-design.react-planning"
|
||||
],
|
||||
"related": [
|
||||
"ai.agent-design.interview",
|
||||
"ai.langgraph.persistence-hitl",
|
||||
"ai.agent-ops.observability-cost"
|
||||
],
|
||||
"est_hours": 3,
|
||||
"week": [
|
||||
11,
|
||||
13
|
||||
],
|
||||
"order": null,
|
||||
"path": "topics/ai/agent-design/scenarios/report-agent.md",
|
||||
"sections": [
|
||||
"业务背景与问题",
|
||||
"约束",
|
||||
"方案设计",
|
||||
"关键代码",
|
||||
"取舍",
|
||||
"易错点",
|
||||
"面试怎么讲"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ai.agent-ops.eval-quality-gate",
|
||||
"title": "Agent 评测和质量门禁:评测集、打分方法、幻觉防护、Bad Case 分析",
|
||||
"type": "lesson",
|
||||
"domain": "ai",
|
||||
"stack": [
|
||||
"agent-ops"
|
||||
],
|
||||
"tags": [
|
||||
"Agent 评测",
|
||||
"评测集",
|
||||
"LLM-as-judge",
|
||||
"幻觉",
|
||||
"质量门禁",
|
||||
"Bad Case",
|
||||
"回归测试"
|
||||
],
|
||||
"level": "advanced",
|
||||
"prerequisites": [
|
||||
"ai.rag.generation-eval",
|
||||
"ai.function-calling.tool-loop"
|
||||
],
|
||||
"related": [
|
||||
"ai.agent-ops.observability-cost",
|
||||
"ai.agent-ops.scenario.agent-quality-gate",
|
||||
"ai.agent-ops.interview"
|
||||
],
|
||||
"est_hours": 4,
|
||||
"week": [
|
||||
13
|
||||
],
|
||||
"order": 1,
|
||||
"path": "topics/ai/agent-ops/01-eval-quality-gate.md",
|
||||
"sections": [
|
||||
"解释说明",
|
||||
"案例",
|
||||
"代码示例",
|
||||
"易错点",
|
||||
"面试常问"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ai.agent-ops.index",
|
||||
"title": "Agent 记忆、评测与可观测性",
|
||||
"title": "Agent 评测与运维",
|
||||
"type": "index",
|
||||
"domain": "ai",
|
||||
"stack": [
|
||||
"agent-ops"
|
||||
],
|
||||
"tags": [],
|
||||
"tags": [
|
||||
"评测",
|
||||
"质量门禁",
|
||||
"幻觉防护",
|
||||
"Bad Case",
|
||||
"可观测性",
|
||||
"成本",
|
||||
"记忆"
|
||||
],
|
||||
"level": null,
|
||||
"prerequisites": [],
|
||||
"related": [],
|
||||
@@ -683,7 +925,135 @@
|
||||
],
|
||||
"order": null,
|
||||
"path": "topics/ai/agent-ops/index.md",
|
||||
"sections": []
|
||||
"sections": [
|
||||
"学习路线",
|
||||
"企业场景",
|
||||
"面试题",
|
||||
"示例代码",
|
||||
"在 16 周计划中",
|
||||
"官方资料"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ai.agent-ops.interview",
|
||||
"title": "Agent 评测与运维面试题",
|
||||
"type": "interview",
|
||||
"domain": "ai",
|
||||
"stack": [
|
||||
"agent-ops"
|
||||
],
|
||||
"tags": [
|
||||
"评测",
|
||||
"幻觉",
|
||||
"可观测性",
|
||||
"成本",
|
||||
"面试"
|
||||
],
|
||||
"level": "advanced",
|
||||
"prerequisites": [],
|
||||
"related": [
|
||||
"ai.agent-ops.eval-quality-gate",
|
||||
"ai.agent-ops.observability-cost"
|
||||
],
|
||||
"est_hours": null,
|
||||
"week": [
|
||||
13,
|
||||
16
|
||||
],
|
||||
"order": null,
|
||||
"path": "topics/ai/agent-ops/interview.md",
|
||||
"sections": [
|
||||
"基础",
|
||||
"进阶",
|
||||
"场景题"
|
||||
],
|
||||
"questions": {
|
||||
"基础": 3,
|
||||
"进阶": 3,
|
||||
"场景题": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "ai.agent-ops.observability-cost",
|
||||
"title": "Agent 可观测性、成本和延迟:链路追踪、记忆管理、缓存和降级",
|
||||
"type": "lesson",
|
||||
"domain": "ai",
|
||||
"stack": [
|
||||
"agent-ops"
|
||||
],
|
||||
"tags": [
|
||||
"可观测性",
|
||||
"链路追踪",
|
||||
"OpenTelemetry",
|
||||
"LangSmith",
|
||||
"Langfuse",
|
||||
"成本",
|
||||
"延迟",
|
||||
"记忆",
|
||||
"缓存"
|
||||
],
|
||||
"level": "advanced",
|
||||
"prerequisites": [
|
||||
"ai.agent-ops.eval-quality-gate"
|
||||
],
|
||||
"related": [
|
||||
"ai.llm-serving.index",
|
||||
"ai.agent-ops.interview"
|
||||
],
|
||||
"est_hours": 3,
|
||||
"week": [
|
||||
13
|
||||
],
|
||||
"order": 2,
|
||||
"path": "topics/ai/agent-ops/02-observability-cost.md",
|
||||
"sections": [
|
||||
"解释说明",
|
||||
"案例",
|
||||
"代码示例",
|
||||
"易错点",
|
||||
"面试常问"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ai.agent-ops.scenario.agent-quality-gate",
|
||||
"title": "客服 Agent 上线流程:评测集、质量门禁、灰度和线上 Bad Case 闭环",
|
||||
"type": "scenario",
|
||||
"domain": "ai",
|
||||
"stack": [
|
||||
"agent-ops",
|
||||
"cicd",
|
||||
"langgraph"
|
||||
],
|
||||
"tags": [
|
||||
"质量门禁",
|
||||
"灰度发布",
|
||||
"Bad Case",
|
||||
"评测集",
|
||||
"线上监控"
|
||||
],
|
||||
"level": "advanced",
|
||||
"prerequisites": [
|
||||
"ai.agent-ops.eval-quality-gate"
|
||||
],
|
||||
"related": [
|
||||
"ai.agent-ops.interview",
|
||||
"devops.cicd.release-rollback"
|
||||
],
|
||||
"est_hours": 3,
|
||||
"week": [
|
||||
13
|
||||
],
|
||||
"order": null,
|
||||
"path": "topics/ai/agent-ops/scenarios/agent-quality-gate.md",
|
||||
"sections": [
|
||||
"业务背景与问题",
|
||||
"约束",
|
||||
"方案设计",
|
||||
"关键代码",
|
||||
"取舍",
|
||||
"易错点",
|
||||
"面试怎么讲"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ai.ai-coding.index",
|
||||
@@ -716,7 +1086,11 @@
|
||||
"stack": [
|
||||
"function-calling"
|
||||
],
|
||||
"tags": [],
|
||||
"tags": [
|
||||
"Function Calling",
|
||||
"Tool Calling",
|
||||
"Agent"
|
||||
],
|
||||
"level": null,
|
||||
"prerequisites": [],
|
||||
"related": [],
|
||||
@@ -726,7 +1100,130 @@
|
||||
],
|
||||
"order": null,
|
||||
"path": "topics/ai/function-calling/index.md",
|
||||
"sections": []
|
||||
"sections": [
|
||||
"学习路线",
|
||||
"企业场景",
|
||||
"面试题",
|
||||
"示例代码",
|
||||
"在 16 周计划中",
|
||||
"官方资料"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ai.function-calling.interview",
|
||||
"title": "Function Calling 面试题",
|
||||
"type": "interview",
|
||||
"domain": "ai",
|
||||
"stack": [
|
||||
"function-calling"
|
||||
],
|
||||
"tags": [
|
||||
"Function Calling",
|
||||
"工具调用",
|
||||
"面试"
|
||||
],
|
||||
"level": "intermediate",
|
||||
"prerequisites": [],
|
||||
"related": [
|
||||
"ai.function-calling.tool-loop"
|
||||
],
|
||||
"est_hours": null,
|
||||
"week": [
|
||||
10,
|
||||
16
|
||||
],
|
||||
"order": null,
|
||||
"path": "topics/ai/function-calling/interview.md",
|
||||
"sections": [
|
||||
"基础",
|
||||
"进阶",
|
||||
"场景题"
|
||||
],
|
||||
"questions": {
|
||||
"基础": 3,
|
||||
"进阶": 2,
|
||||
"场景题": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "ai.function-calling.scenario.safe-business-tools",
|
||||
"title": "让 Agent 安全地调用内部业务接口:权限、确认、幂等和审计",
|
||||
"type": "scenario",
|
||||
"domain": "ai",
|
||||
"stack": [
|
||||
"function-calling",
|
||||
"fastapi"
|
||||
],
|
||||
"tags": [
|
||||
"工具权限",
|
||||
"人工确认",
|
||||
"幂等",
|
||||
"审计日志",
|
||||
"限流",
|
||||
"提示词注入"
|
||||
],
|
||||
"level": "advanced",
|
||||
"prerequisites": [
|
||||
"ai.function-calling.tool-loop"
|
||||
],
|
||||
"related": [
|
||||
"ai.function-calling.interview",
|
||||
"ai.prompt-engineering.index",
|
||||
"ai.mcp.index"
|
||||
],
|
||||
"est_hours": 2.5,
|
||||
"week": [
|
||||
10
|
||||
],
|
||||
"order": null,
|
||||
"path": "topics/ai/function-calling/scenarios/safe-business-tools.md",
|
||||
"sections": [
|
||||
"业务背景与问题",
|
||||
"约束",
|
||||
"方案设计",
|
||||
"关键代码",
|
||||
"取舍",
|
||||
"易错点",
|
||||
"面试怎么讲"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ai.function-calling.tool-loop",
|
||||
"title": "工具调用原理:工具定义、调用循环、参数校验、并行调用和错误回传",
|
||||
"type": "lesson",
|
||||
"domain": "ai",
|
||||
"stack": [
|
||||
"function-calling"
|
||||
],
|
||||
"tags": [
|
||||
"Function Calling",
|
||||
"Tool Calling",
|
||||
"JSON Schema",
|
||||
"调用循环",
|
||||
"参数校验"
|
||||
],
|
||||
"level": "intermediate",
|
||||
"prerequisites": [
|
||||
"python.python.typing-errors-testing"
|
||||
],
|
||||
"related": [
|
||||
"ai.mcp.index",
|
||||
"ai.langgraph.state-graph",
|
||||
"ai.function-calling.interview"
|
||||
],
|
||||
"est_hours": 3,
|
||||
"week": [
|
||||
10
|
||||
],
|
||||
"order": 1,
|
||||
"path": "topics/ai/function-calling/01-tool-loop.md",
|
||||
"sections": [
|
||||
"解释说明",
|
||||
"案例",
|
||||
"代码示例",
|
||||
"易错点",
|
||||
"面试常问"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ai.langchain.index",
|
||||
@@ -757,7 +1254,12 @@
|
||||
"stack": [
|
||||
"langgraph"
|
||||
],
|
||||
"tags": [],
|
||||
"tags": [
|
||||
"LangGraph",
|
||||
"状态图",
|
||||
"检查点",
|
||||
"人机协作"
|
||||
],
|
||||
"level": null,
|
||||
"prerequisites": [],
|
||||
"related": [],
|
||||
@@ -768,7 +1270,175 @@
|
||||
],
|
||||
"order": null,
|
||||
"path": "topics/ai/langgraph/index.md",
|
||||
"sections": []
|
||||
"sections": [
|
||||
"学习路线",
|
||||
"企业场景",
|
||||
"面试题",
|
||||
"示例代码",
|
||||
"在 16 周计划中",
|
||||
"官方资料"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ai.langgraph.interview",
|
||||
"title": "LangGraph 面试题",
|
||||
"type": "interview",
|
||||
"domain": "ai",
|
||||
"stack": [
|
||||
"langgraph"
|
||||
],
|
||||
"tags": [
|
||||
"LangGraph",
|
||||
"检查点",
|
||||
"人机协作",
|
||||
"面试"
|
||||
],
|
||||
"level": "intermediate",
|
||||
"prerequisites": [],
|
||||
"related": [
|
||||
"ai.langgraph.state-graph",
|
||||
"ai.langgraph.persistence-hitl"
|
||||
],
|
||||
"est_hours": null,
|
||||
"week": [
|
||||
11,
|
||||
12,
|
||||
16
|
||||
],
|
||||
"order": null,
|
||||
"path": "topics/ai/langgraph/interview.md",
|
||||
"sections": [
|
||||
"基础",
|
||||
"进阶",
|
||||
"场景题"
|
||||
],
|
||||
"questions": {
|
||||
"基础": 3,
|
||||
"进阶": 3,
|
||||
"场景题": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "ai.langgraph.persistence-hitl",
|
||||
"title": "检查点、人机协作和异常恢复:checkpointer、interrupt、RetryPolicy、任务状态",
|
||||
"type": "lesson",
|
||||
"domain": "ai",
|
||||
"stack": [
|
||||
"langgraph"
|
||||
],
|
||||
"tags": [
|
||||
"checkpointer",
|
||||
"thread_id",
|
||||
"interrupt",
|
||||
"Command",
|
||||
"RetryPolicy",
|
||||
"崩溃恢复",
|
||||
"任务状态"
|
||||
],
|
||||
"level": "advanced",
|
||||
"prerequisites": [
|
||||
"ai.langgraph.state-graph"
|
||||
],
|
||||
"related": [
|
||||
"ai.langgraph.scenario.refund-approval",
|
||||
"ai.agent-ops.eval-quality-gate",
|
||||
"ai.langgraph.interview"
|
||||
],
|
||||
"est_hours": 4,
|
||||
"week": [
|
||||
12
|
||||
],
|
||||
"order": 2,
|
||||
"path": "topics/ai/langgraph/02-persistence-hitl.md",
|
||||
"sections": [
|
||||
"解释说明",
|
||||
"案例",
|
||||
"代码示例",
|
||||
"易错点",
|
||||
"面试常问"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ai.langgraph.scenario.refund-approval",
|
||||
"title": "退款工单 Agent:人工审批、任务状态和崩溃恢复",
|
||||
"type": "scenario",
|
||||
"domain": "ai",
|
||||
"stack": [
|
||||
"langgraph",
|
||||
"fastapi",
|
||||
"postgresql"
|
||||
],
|
||||
"tags": [
|
||||
"人机协作",
|
||||
"审批流",
|
||||
"任务状态",
|
||||
"异常恢复",
|
||||
"幂等",
|
||||
"流式进度"
|
||||
],
|
||||
"level": "advanced",
|
||||
"prerequisites": [
|
||||
"ai.langgraph.persistence-hitl"
|
||||
],
|
||||
"related": [
|
||||
"ai.langgraph.interview",
|
||||
"ai.agent-ops.scenario.agent-quality-gate",
|
||||
"backend.postgresql.scenario.order-state-audit"
|
||||
],
|
||||
"est_hours": 3,
|
||||
"week": [
|
||||
12
|
||||
],
|
||||
"order": null,
|
||||
"path": "topics/ai/langgraph/scenarios/refund-approval.md",
|
||||
"sections": [
|
||||
"业务背景与问题",
|
||||
"约束",
|
||||
"方案设计",
|
||||
"关键代码",
|
||||
"取舍",
|
||||
"易错点",
|
||||
"面试怎么讲"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ai.langgraph.state-graph",
|
||||
"title": "LangGraph 状态图:状态、节点、边、条件路由和流式输出",
|
||||
"type": "lesson",
|
||||
"domain": "ai",
|
||||
"stack": [
|
||||
"langgraph"
|
||||
],
|
||||
"tags": [
|
||||
"LangGraph",
|
||||
"StateGraph",
|
||||
"reducer",
|
||||
"条件边",
|
||||
"流式输出",
|
||||
"stream_mode"
|
||||
],
|
||||
"level": "intermediate",
|
||||
"prerequisites": [
|
||||
"ai.function-calling.tool-loop"
|
||||
],
|
||||
"related": [
|
||||
"ai.langgraph.persistence-hitl",
|
||||
"ai.agent-design.react-planning",
|
||||
"ai.langgraph.interview"
|
||||
],
|
||||
"est_hours": 3,
|
||||
"week": [
|
||||
11
|
||||
],
|
||||
"order": 1,
|
||||
"path": "topics/ai/langgraph/01-state-graph.md",
|
||||
"sections": [
|
||||
"解释说明",
|
||||
"案例",
|
||||
"代码示例",
|
||||
"易错点",
|
||||
"面试常问"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ai.llm-serving.index",
|
||||
@@ -819,7 +1489,11 @@
|
||||
"stack": [
|
||||
"mcp"
|
||||
],
|
||||
"tags": [],
|
||||
"tags": [
|
||||
"MCP",
|
||||
"工具",
|
||||
"集成"
|
||||
],
|
||||
"level": null,
|
||||
"prerequisites": [],
|
||||
"related": [],
|
||||
@@ -830,7 +1504,134 @@
|
||||
],
|
||||
"order": null,
|
||||
"path": "topics/ai/mcp/index.md",
|
||||
"sections": []
|
||||
"sections": [
|
||||
"学习路线",
|
||||
"企业场景",
|
||||
"面试题",
|
||||
"示例代码",
|
||||
"在 16 周计划中",
|
||||
"官方资料"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ai.mcp.interview",
|
||||
"title": "MCP 面试题",
|
||||
"type": "interview",
|
||||
"domain": "ai",
|
||||
"stack": [
|
||||
"mcp"
|
||||
],
|
||||
"tags": [
|
||||
"MCP",
|
||||
"面试"
|
||||
],
|
||||
"level": "intermediate",
|
||||
"prerequisites": [],
|
||||
"related": [
|
||||
"ai.mcp.protocol-server"
|
||||
],
|
||||
"est_hours": null,
|
||||
"week": [
|
||||
10,
|
||||
11,
|
||||
16
|
||||
],
|
||||
"order": null,
|
||||
"path": "topics/ai/mcp/interview.md",
|
||||
"sections": [
|
||||
"基础",
|
||||
"进阶",
|
||||
"场景题"
|
||||
],
|
||||
"questions": {
|
||||
"基础": 3,
|
||||
"进阶": 2,
|
||||
"场景题": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "ai.mcp.protocol-server",
|
||||
"title": "MCP 协议和服务开发:tools / resources / prompts、传输方式、接入客户端",
|
||||
"type": "lesson",
|
||||
"domain": "ai",
|
||||
"stack": [
|
||||
"mcp"
|
||||
],
|
||||
"tags": [
|
||||
"MCP",
|
||||
"Model Context Protocol",
|
||||
"tools",
|
||||
"resources",
|
||||
"prompts",
|
||||
"stdio",
|
||||
"Streamable HTTP"
|
||||
],
|
||||
"level": "intermediate",
|
||||
"prerequisites": [
|
||||
"ai.function-calling.tool-loop"
|
||||
],
|
||||
"related": [
|
||||
"ai.mcp.scenario.internal-tools-gateway",
|
||||
"ai.ai-coding.index",
|
||||
"ai.mcp.interview"
|
||||
],
|
||||
"est_hours": 3,
|
||||
"week": [
|
||||
10,
|
||||
11
|
||||
],
|
||||
"order": 1,
|
||||
"path": "topics/ai/mcp/01-protocol-server.md",
|
||||
"sections": [
|
||||
"解释说明",
|
||||
"案例",
|
||||
"代码示例",
|
||||
"易错点",
|
||||
"面试常问"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ai.mcp.scenario.internal-tools-gateway",
|
||||
"title": "企业内部 MCP 服务:统一接入、鉴权、审计和版本管理",
|
||||
"type": "scenario",
|
||||
"domain": "ai",
|
||||
"stack": [
|
||||
"mcp",
|
||||
"fastapi",
|
||||
"nginx"
|
||||
],
|
||||
"tags": [
|
||||
"MCP",
|
||||
"企业集成",
|
||||
"鉴权",
|
||||
"审计",
|
||||
"工具治理",
|
||||
"Streamable HTTP"
|
||||
],
|
||||
"level": "advanced",
|
||||
"prerequisites": [
|
||||
"ai.mcp.protocol-server"
|
||||
],
|
||||
"related": [
|
||||
"ai.function-calling.scenario.safe-business-tools",
|
||||
"ai.mcp.interview"
|
||||
],
|
||||
"est_hours": 2.5,
|
||||
"week": [
|
||||
10,
|
||||
11
|
||||
],
|
||||
"order": null,
|
||||
"path": "topics/ai/mcp/scenarios/internal-tools-gateway.md",
|
||||
"sections": [
|
||||
"业务背景与问题",
|
||||
"约束",
|
||||
"方案设计",
|
||||
"关键代码",
|
||||
"取舍",
|
||||
"易错点",
|
||||
"面试怎么讲"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ai.prompt-engineering.index",
|
||||
|
||||
Reference in new issue
Block a user