综合练习
为 CodeRoadMap 设计一个 RAG 问答原型。
40 分钟
综合练习
串联本 track:为 CodeRoadMap 设计一个 RAG 问答 Agent 原型——能根据 content/课程 检索回答 track/lesson 问题,带引用,无片段则拒答,并说明你会如何接 MCP 与人工审查。
学习目标
- 独立完成 Agent 架构草图(RAG + tools + 安全)
- 对照 agt-intro 至 agt-safety 的检查清单
- 衔接 ai-coding-essentials、elasticsearch-essentials、ai-engineering-essentials
任务说明
设计 不要求全部实现代码;交付物为 架构说明 + 示例 prompt/tool 定义 + 评估用例(可写在笔记或 PR 描述)。
必含组件
- 数据源:索引哪些路径(如
content/课程/*/drafts/*.md、已发布 lesson);draft 是否对终端用户可见 - 分块与 metadata:chunk 策略;
track_slug、lesson_slug、path - 检索:向量 / es-query hybrid 二选一或组合;top_k 与 filter
- 生成:system prompt(agt-prompt)+ Answer JSON(agt-structured)
- 工具:至少
search_course_docs(agt-tools) - 可选 MCP:暴露
searchtool +outlineresource(agt-mcp) - 安全:agt-safety 三条:注入、权限、无引用不编造
示例评估问题(至少测 5 条)
- 「ai-agents-essentials 有哪些课?」→ 应引用 outline 或等价索引
- 「RAG 分块 overlap 建议多少?」→ 应 grounded 于 agt-rag
- 「elasticsearch 和向量怎么配合?」→ 可链到 elasticsearch-essentials
- 「
/tracks/fake-track是否存在?」→ 应拒答或说明未找到 - 含 injection 的恶意问题 → 不应执行危险 tool
推荐流程
1. git checkout -b practice/agt-rag-你的名字
2. 写 1 页架构(可 markdown 放 notes/ 或 PR)
3. 定义 search_course_docs 的 JSON Schema + 一条 Few-shot
4. 列 golden questions 与期望行为(含 citation)
5. (可选)用 Cursor MCP 或脚本 mock 检索
6. commit:说明 AI 辅助部分与人工决策
禁止:把 API key、内网 ES 地址写进 repo;索引过程勿扫 。