[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"site-config":3,"primary-menu":20,"tags-cloud":109,"tagposts-interview-1":293},{"config":4,"socialLinks":19},{"title":5,"subtitle":6,"logoUrl":7,"faviconUrl":8,"footerText":9,"beianIcp":10,"beianPublicSecurity":9,"seoDescription":11,"seoKeywords":12,"homepageTitle":13,"homepageSubtitle":14,"analyticsHeadCode":15,"planetQrcodeUrl":16,"planetIntroHtml":9,"planetCtaText":17,"updatedAt":18},"编码世界","用编码改变世界","https:\u002F\u002Fcdn.mashangan.com\u002Fupload\u002F2026\u002F09\u002F2f277021172f43f6bb34e1c115760b7f.png","https:\u002F\u002Fcdn.mashangan.com\u002Fupload\u002F2026\u002F09\u002Fdcbad022e68c4a729a5dc4997a9bba8a.png","","苏ICP备2026073884号","编码世界（mashangan.com）是面向 Java 后端与 Go 语言的系统化编程教程站：提供\nMyBatis Plus、Lombok、Java 8、IDEA、Docker 等原创图文教程，以及 JVM、并发、\nSpring、MySQL、Redis、消息队列、计算机网络等大厂面试八股题库，另有可落地的\n项目实战系列，帮你从入门到精通。","编码世界,Java教程,Go语言教程,Docker教程,MyBatis Plus教程,Lombok教程, Java 8新特性,IDEA教程,Java面试题,八股文,JVM面试题,Java并发面试题, MySQL面试题,Redis面试题,Spring面试题,消息队列面试题,高并发,分库分表, Netty面试题,计算机网络面试题,AI Agent,RAG,程序员学习路线","Java全栈系统化编程教程","覆盖 MyBatis Plus、Lombok、Java 8、IDEA、Go、Docker 等原创图文教程，配套大厂面试八股题库，从入门到精通，持续更新","\u003Cscript>\nvar _hmt = _hmt || [];\n(function() {\n  var hm = document.createElement(\"script\");\n  hm.src = \"https:\u002F\u002Fhm.baidu.com\u002Fhm.js?f00af7e56d956c02e11efed4131379b0\";\n  var s = document.getElementsByTagName(\"script\")[0]; \n  s.parentNode.insertBefore(hm, s);\n})();\n\u003C\u002Fscript>\n","https:\u002F\u002Fcdn.mashangan.com\u002Fupload\u002F2026\u002F09\u002Fc1a8f5de46584d3eb0bc762c180a5db9.png","扫码加入知识星球","2026-10-05T13:09:51.904487Z",[],{"metadata":21,"spec":24,"menuItems":35},{"name":22,"creationTimestamp":23},"primary","2026-09-12T06:13:55.024154Z",{"displayName":25,"menuItems":26},"主菜单",[27,28,29,30,31,32,33,34],"88c3f10b-321c-4092-86a8-70db00251b74","menu-item-izrtmxer","c4c814d1-0c2c-456b-8c96-4864965fee94","menu-item-tags","menu-item-column","menu-item-tools","menu-item-zsxq","menu-item-ocrxlczu",[36,45,55,64,73,82,91,100],{"displayName":37,"metadata":38,"spec":40,"status":43,"children":44},"首页",{"name":27,"creationTimestamp":39},"2026-09-12T06:13:54.422830Z",{"displayName":37,"href":41,"priority":42,"menuName":22},"\u002F",0,{"displayName":37,"href":41},[],{"displayName":46,"metadata":47,"spec":49,"status":53,"children":54},"Java面试八股",{"name":28,"creationTimestamp":48},"2026-09-13T09:42:02.854891Z",{"displayName":46,"href":50,"target":51,"priority":52,"menuName":22},"\u002Fjava-interview","_self",1,{"displayName":46,"href":50},[],{"displayName":56,"metadata":57,"spec":59,"status":62,"children":63},"文章",{"name":29,"creationTimestamp":58},"2026-09-12T06:13:54.457307Z",{"displayName":56,"href":60,"priority":61,"menuName":22},"\u002Farchives",2,{"displayName":56,"href":60},[],{"displayName":65,"metadata":66,"spec":68,"status":71,"children":72},"标签",{"name":30,"creationTimestamp":67},"2026-10-07T00:42:42.754151Z",{"displayName":65,"href":69,"priority":70,"menuName":22},"\u002Ftags",3,{"displayName":65,"href":69},[],{"displayName":74,"metadata":75,"spec":77,"status":80,"children":81},"项目实战",{"name":31,"creationTimestamp":76},"2026-09-14T00:35:08.138170Z",{"displayName":74,"href":78,"target":51,"priority":79,"menuName":22},"\u002Fcolumn",4,{"displayName":74,"href":78},[],{"displayName":83,"metadata":84,"spec":86,"status":89,"children":90},"在线工具",{"name":32,"creationTimestamp":85},"2026-09-14T00:35:08.171474Z",{"displayName":83,"href":87,"target":51,"priority":88,"menuName":22},"\u002Ftools",5,{"displayName":83,"href":87},[],{"displayName":92,"metadata":93,"spec":95,"status":98,"children":99},"知识星球",{"name":33,"creationTimestamp":94},"2026-09-14T00:35:08.199145Z",{"displayName":92,"href":96,"target":51,"priority":97,"menuName":22},"\u002Fzsxq",6,{"displayName":92,"href":96},[],{"displayName":101,"metadata":102,"spec":104,"status":107,"children":108},"特价云服务",{"name":34,"creationTimestamp":103},"2026-09-25T15:30:59.201614Z",{"displayName":101,"href":105,"target":51,"priority":106,"menuName":22},"\u002Fserver",7,{"displayName":101,"href":105},[],[110,117,124,131,138,145,152,159,166,172,178,184,191,197,203,209,215,221,227,233,239,245,251,257,263,269,275,281,287],{"metadata":111,"spec":113,"postCount":116},{"name":112},"tag-04980744",{"displayName":114,"slug":115},"面试题","interview",118,{"metadata":118,"spec":120,"postCount":123},{"name":119},"tag-93f725a0",{"displayName":121,"slug":122},"Java","java",68,{"metadata":125,"spec":127,"postCount":130},{"name":126},"tag-05b6053c",{"displayName":128,"slug":129},"Docker","docker",43,{"metadata":132,"spec":134,"postCount":137},{"name":133},"tag-1cba77c3",{"displayName":135,"slug":136},"IDEA","idea",32,{"metadata":139,"spec":141,"postCount":144},{"name":140},"tag-116a0109",{"displayName":142,"slug":143},"数字孪生","digital-twin",19,{"metadata":146,"spec":148,"postCount":151},{"name":147},"tag-a2fb95ac",{"displayName":149,"slug":150},"MyBatis Plus","mybatis-plus",18,{"metadata":153,"spec":155,"postCount":158},{"name":154},"tag-cc6220f9",{"displayName":156,"slug":157},"Lombok","lombok",15,{"metadata":160,"spec":162,"postCount":165},{"name":161},"tag-2a2d595e",{"displayName":163,"slug":164},"Spring","spring",10,{"metadata":167,"spec":169,"postCount":165},{"name":168},"tag-1d8a4975",{"displayName":170,"slug":171},"消息队列","mq",{"metadata":173,"spec":175,"postCount":165},{"name":174},"tag-17245299",{"displayName":176,"slug":177},"并发","concurrency",{"metadata":179,"spec":181,"postCount":165},{"name":180},"tag-4921c0e2",{"displayName":182,"slug":183},"AI","ai",{"metadata":185,"spec":187,"postCount":190},{"name":186},"tag-53bb7900",{"displayName":188,"slug":189},"卫星仿真","satellite",9,{"metadata":192,"spec":194,"postCount":88},{"name":193},"tag-62377bcf",{"displayName":195,"slug":196},"Spring Cloud","spring-cloud",{"metadata":198,"spec":200,"postCount":88},{"name":199},"tag-81c3b080",{"displayName":201,"slug":202},"MySQL","mysql",{"metadata":204,"spec":206,"postCount":88},{"name":205},"tag-86a1b907",{"displayName":207,"slug":208},"Redis","redis",{"metadata":210,"spec":212,"postCount":88},{"name":211},"tag-18897dcf",{"displayName":213,"slug":214},"Elasticsearch","elasticsearch",{"metadata":216,"spec":218,"postCount":88},{"name":217},"tag-6ce80d8e",{"displayName":219,"slug":220},"JVM","jvm",{"metadata":222,"spec":224,"postCount":88},{"name":223},"tag-aa4e1b8c",{"displayName":225,"slug":226},"Dubbo","dubbo",{"metadata":228,"spec":230,"postCount":88},{"name":229},"tag-9e30c249",{"displayName":231,"slug":232},"Netty","netty",{"metadata":234,"spec":236,"postCount":88},{"name":235},"tag-2199ace5",{"displayName":237,"slug":238},"ZooKeeper","zookeeper",{"metadata":240,"spec":242,"postCount":88},{"name":241},"tag-7c298a76",{"displayName":243,"slug":244},"设计模式","design-pattern",{"metadata":246,"spec":248,"postCount":88},{"name":247},"tag-6cf6cea9",{"displayName":249,"slug":250},"高可用","high-availability",{"metadata":252,"spec":254,"postCount":88},{"name":253},"tag-918786ab",{"displayName":255,"slug":256},"分库分表","sharding",{"metadata":258,"spec":260,"postCount":88},{"name":259},"tag-91e02cd2",{"displayName":261,"slug":262},"计算机网络","network",{"metadata":264,"spec":266,"postCount":88},{"name":265},"tag-dd302f94",{"displayName":267,"slug":268},"操作系统","os",{"metadata":270,"spec":272,"postCount":88},{"name":271},"tag-1b359d87",{"displayName":273,"slug":274},"Tomcat","tomcat",{"metadata":276,"spec":278,"postCount":79},{"name":277},"tag-f0d71b77",{"displayName":279,"slug":280},"MyBatis","mybatis",{"metadata":282,"spec":284,"postCount":52},{"name":283},"tag-a118a308",{"displayName":285,"slug":286},"时序数据库","tsdb",{"metadata":288,"spec":290,"postCount":42},{"name":289},"tag-34d1f91f",{"displayName":291,"slug":292},"Go","go",{"page":52,"size":294,"total":116,"items":295,"first":304,"last":309,"hasNext":304,"hasPrevious":309,"totalPages":97},20,[296,336,365,394,423,452,487,516,545,574,603,636,665,694,723,752,786,815,844,873],{"metadata":297,"spec":300,"status":311,"categories":316,"tags":329},{"name":298,"creationTimestamp":299},"post-agent-framework-211695a1","2026-09-13T10:01:18.600522Z",{"title":301,"slug":302,"cover":9,"excerpt":303,"publishTime":305,"categories":306,"tags":308,"priority":42,"pinned":309,"deleted":309,"visible":310,"allowComment":304},"主流的 AI Agent 框架有哪些？","agent-framework",{"raw":9,"autoGenerate":304},true,"2026-09-13T10:01:18.665516Z",[307],"ai-agent",[180,112],false,"PUBLIC",{"permalink":312,"excerpt":313,"lastModifyTime":314,"phase":315},"\u002Farchives\u002Fagent-framework","一、LangChain \u002F LangGraph LangChain：LLM 应用编排，支持工具、记忆、RAG。 LangGraph：基于图的 Agent 编排，适合复杂多步任务。 生态最丰富，社区活跃。 二、AutoGen 微软出品，多 Agent 对话框架。 支持多个 Agent 协作，角色灵活。","2026-09-16T09:33:09.815089Z","PUBLISHED",[317],{"metadata":318,"spec":323,"status":327,"postCount":88},{"name":307,"creationTimestamp":319,"labels":320,"annotations":321},"2026-09-13T09:13:25.972430Z",{"haloweb.section":115},{"tutorial.halo.run\u002Fstatus":322},"updating",{"displayName":324,"slug":307,"cover":9,"description":325,"priority":326,"hideFromList":309,"preventParentPostCascadeQuery":309},"AI Agent 面试题","AI Agent 面试题：智能体架构、工具调用、任务规划、记忆机制与多智能体协作。",27,{"permalink":328,"postCount":88,"visiblePostCount":88},"\u002Fcategories\u002Fai-agent",[330,333],{"metadata":331,"spec":332},{"name":180},{"displayName":182,"slug":183},{"metadata":334,"spec":335},{"name":112},{"displayName":114,"slug":115},{"metadata":337,"spec":340,"status":347,"categories":351,"tags":358},{"name":338,"creationTimestamp":339},"post-agent-memory-1d1c7ff2","2026-09-13T10:01:18.406204Z",{"title":341,"slug":342,"cover":9,"excerpt":343,"publishTime":344,"categories":345,"tags":346,"priority":42,"pinned":309,"deleted":309,"visible":310,"allowComment":304},"AI Agent 的记忆机制？","agent-memory",{"raw":9,"autoGenerate":304},"2026-09-13T10:01:18.453521Z",[307],[180,112],{"permalink":348,"excerpt":349,"lastModifyTime":350,"phase":315},"\u002Farchives\u002Fagent-memory","一、短期记忆 当前对话上下文。 受 LLM 上下文窗口限制。 太长会丢失早期信息，浪费 token。 二、长期记忆 向量数据库存储历史交互、知识。 检索相关记忆注入上下文。 支持跨会话记忆。 三、记忆类型 情景记忆：具体的交互经历。 语义记忆：事实和知识。 程序记忆：技能和流程。 四、记忆管理 写入","2026-09-16T09:17:13.287981Z",[352],{"metadata":353,"spec":356,"status":357,"postCount":88},{"name":307,"creationTimestamp":319,"labels":354,"annotations":355},{"haloweb.section":115},{"tutorial.halo.run\u002Fstatus":322},{"displayName":324,"slug":307,"cover":9,"description":325,"priority":326,"hideFromList":309,"preventParentPostCascadeQuery":309},{"permalink":328,"postCount":88,"visiblePostCount":88},[359,362],{"metadata":360,"spec":361},{"name":180},{"displayName":182,"slug":183},{"metadata":363,"spec":364},{"name":112},{"displayName":114,"slug":115},{"metadata":366,"spec":369,"status":376,"categories":380,"tags":387},{"name":367,"creationTimestamp":368},"post-agent-tools-15bf488c","2026-09-13T10:01:18.248931Z",{"title":370,"slug":371,"cover":9,"excerpt":372,"publishTime":373,"categories":374,"tags":375,"priority":42,"pinned":309,"deleted":309,"visible":310,"allowComment":304},"AI Agent 如何调用工具？","agent-tools",{"raw":9,"autoGenerate":304},"2026-09-13T10:01:18.294818Z",[307],[180,112],{"permalink":377,"excerpt":378,"lastModifyTime":379,"phase":315},"\u002Farchives\u002Fagent-tools","一、Function Calling LLM 支持的函数调用能力。开发者定义工具 schema（名称、参数、描述），LLM 决定是否调用及参数，返回结构化 JSON。 二、流程 定义工具：名称、描述、参数 JSON Schema。 用户提问，LLM 判断需要调用工具。 LLM 返回工具名和参数。 应","2026-09-16T09:17:12.839579Z",[381],{"metadata":382,"spec":385,"status":386,"postCount":88},{"name":307,"creationTimestamp":319,"labels":383,"annotations":384},{"haloweb.section":115},{"tutorial.halo.run\u002Fstatus":322},{"displayName":324,"slug":307,"cover":9,"description":325,"priority":326,"hideFromList":309,"preventParentPostCascadeQuery":309},{"permalink":328,"postCount":88,"visiblePostCount":88},[388,391],{"metadata":389,"spec":390},{"name":180},{"displayName":182,"slug":183},{"metadata":392,"spec":393},{"name":112},{"displayName":114,"slug":115},{"metadata":395,"spec":398,"status":405,"categories":409,"tags":416},{"name":396,"creationTimestamp":397},"post-agent-react-f2f15e6c","2026-09-13T10:01:18.038102Z",{"title":399,"slug":400,"cover":9,"excerpt":401,"publishTime":402,"categories":403,"tags":404,"priority":42,"pinned":309,"deleted":309,"visible":310,"allowComment":304},"ReAct 模式是什么？","agent-react",{"raw":9,"autoGenerate":304},"2026-09-13T10:01:18.084028Z",[307],[112,180],{"permalink":406,"excerpt":407,"lastModifyTime":408,"phase":315},"\u002Farchives\u002Fagent-react","一、定义 ReAct = Reasoning + Acting，是 Agent 的经典工作模式。交替进行推理和行动。 二、流程 Thought（思考）：分析当前状态，决定下一步。 Action（行动）：调用工具或执行操作。 Observation（观察）：获取执行结果。 循环 1-3，直到任务完成。","2026-09-16T09:17:12.241046Z",[410],{"metadata":411,"spec":414,"status":415,"postCount":88},{"name":307,"creationTimestamp":319,"labels":412,"annotations":413},{"haloweb.section":115},{"tutorial.halo.run\u002Fstatus":322},{"displayName":324,"slug":307,"cover":9,"description":325,"priority":326,"hideFromList":309,"preventParentPostCascadeQuery":309},{"permalink":328,"postCount":88,"visiblePostCount":88},[417,420],{"metadata":418,"spec":419},{"name":112},{"displayName":114,"slug":115},{"metadata":421,"spec":422},{"name":180},{"displayName":182,"slug":183},{"metadata":424,"spec":427,"status":434,"categories":438,"tags":445},{"name":425,"creationTimestamp":426},"post-agent-what-d43685b5","2026-09-13T10:01:17.835540Z",{"title":428,"slug":429,"cover":9,"excerpt":430,"publishTime":431,"categories":432,"tags":433,"priority":42,"pinned":309,"deleted":309,"visible":310,"allowComment":304},"什么是 AI Agent？","agent-what",{"raw":9,"autoGenerate":304},"2026-09-13T10:01:17.878824Z",[307],[180,112],{"permalink":435,"excerpt":436,"lastModifyTime":437,"phase":315},"\u002Farchives\u002Fagent-what","一、定义 AI Agent 是能感知环境、自主决策并执行动作的智能体。它能基于目标，自主规划、调用工具、执行任务，而不仅仅是回答问题。 二、核心能力 感知：理解用户输入和环境状态。 规划：把目标拆解为步骤。 记忆：短期（对话上下文）和长期（向量库）记忆。 工具调用：调用搜索、代码执行、API 等工具","2026-09-16T09:17:11.805159Z",[439],{"metadata":440,"spec":443,"status":444,"postCount":88},{"name":307,"creationTimestamp":319,"labels":441,"annotations":442},{"haloweb.section":115},{"tutorial.halo.run\u002Fstatus":322},{"displayName":324,"slug":307,"cover":9,"description":325,"priority":326,"hideFromList":309,"preventParentPostCascadeQuery":309},{"permalink":328,"postCount":88,"visiblePostCount":88},[446,449],{"metadata":447,"spec":448},{"name":180},{"displayName":182,"slug":183},{"metadata":450,"spec":451},{"name":112},{"displayName":114,"slug":115},{"metadata":453,"spec":456,"status":464,"categories":468,"tags":480},{"name":454,"creationTimestamp":455},"post-rag-optimize-3be551ba","2026-09-13T10:01:17.497938Z",{"title":457,"slug":458,"cover":9,"excerpt":459,"publishTime":460,"categories":461,"tags":463,"priority":42,"pinned":309,"deleted":309,"visible":310,"allowComment":304},"RAG 系统的优化手段？","rag-optimize",{"raw":9,"autoGenerate":304},"2026-09-13T10:01:17.709819Z",[462],"rag",[112,180],{"permalink":465,"excerpt":466,"lastModifyTime":467,"phase":315},"\u002Farchives\u002Frag-optimize","一、检索优化 分块优化：合理的块大小和重叠。 Embedding 优化：用更适合的模型，微调。 混合检索：向量 + 关键词，提升召回。 重排（Rerank）：用 Cross-Encoder 对检索结果重排序，提升精度。 查询改写：用 LLM 改写用户问题，提升检索效果。 多查询：生成多个相关问题分别","2026-09-16T09:16:46.845496Z",[469],{"metadata":470,"spec":474,"status":478,"postCount":88},{"name":462,"creationTimestamp":471,"labels":472,"annotations":473},"2026-09-13T09:13:25.943986Z",{"haloweb.section":115},{"tutorial.halo.run\u002Fstatus":322},{"displayName":475,"slug":462,"cover":9,"description":476,"priority":477,"hideFromList":309,"preventParentPostCascadeQuery":309},"RAG 面试题","RAG 检索增强生成面试题：向量检索、召回与重排、知识库构建、效果评测与常见坑。",26,{"permalink":479,"postCount":88,"visiblePostCount":88},"\u002Fcategories\u002Frag",[481,484],{"metadata":482,"spec":483},{"name":112},{"displayName":114,"slug":115},{"metadata":485,"spec":486},{"name":180},{"displayName":182,"slug":183},{"metadata":488,"spec":491,"status":498,"categories":502,"tags":509},{"name":489,"creationTimestamp":490},"post-rag-evaluation-3343ec81","2026-09-13T10:01:17.338928Z",{"title":492,"slug":493,"cover":9,"excerpt":494,"publishTime":495,"categories":496,"tags":497,"priority":42,"pinned":309,"deleted":309,"visible":310,"allowComment":304},"如何评估 RAG 系统的效果？","rag-evaluation",{"raw":9,"autoGenerate":304},"2026-09-13T10:01:17.382544Z",[462],[112,180],{"permalink":499,"excerpt":500,"lastModifyTime":501,"phase":315},"\u002Farchives\u002Frag-evaluation","一、评估维度 检索质量：检索到的文档是否相关。 生成质量：回答是否准确、完整、流畅。 端到端效果：整体回答是否满足用户。 二、检索评估指标 Recall（召回率）：相关文档中被检索到的比例。 Precision（精确率）：检索到的文档中相关的比例。 MRR：第一个相关文档的排名倒数。 NDCG：考虑","2026-09-16T09:17:11.351718Z",[503],{"metadata":504,"spec":507,"status":508,"postCount":88},{"name":462,"creationTimestamp":471,"labels":505,"annotations":506},{"haloweb.section":115},{"tutorial.halo.run\u002Fstatus":322},{"displayName":475,"slug":462,"cover":9,"description":476,"priority":477,"hideFromList":309,"preventParentPostCascadeQuery":309},{"permalink":479,"postCount":88,"visiblePostCount":88},[510,513],{"metadata":511,"spec":512},{"name":112},{"displayName":114,"slug":115},{"metadata":514,"spec":515},{"name":180},{"displayName":182,"slug":183},{"metadata":517,"spec":520,"status":527,"categories":531,"tags":538},{"name":518,"creationTimestamp":519},"post-rag-chunking-bbf97db4","2026-09-13T10:01:17.143825Z",{"title":521,"slug":522,"cover":9,"excerpt":523,"publishTime":524,"categories":525,"tags":526,"priority":42,"pinned":309,"deleted":309,"visible":310,"allowComment":304},"RAG 中的文档分块策略？","rag-chunking",{"raw":9,"autoGenerate":304},"2026-09-13T10:01:17.186951Z",[462],[112,180],{"permalink":528,"excerpt":529,"lastModifyTime":530,"phase":315},"\u002Farchives\u002Frag-chunking","一、为什么要分块 文档太长无法直接向量化（Embedding 有 token 限制），且 LLM 上下文有限。分块后每块独立检索。 二、分块方法 1. 固定长度分块 按 token 数切分，如每块 500 token，重叠 50 token。 - 优点：简单。 - 缺点：可能切断语义。 2. 按结构","2026-09-16T09:16:42.573515Z",[532],{"metadata":533,"spec":536,"status":537,"postCount":88},{"name":462,"creationTimestamp":471,"labels":534,"annotations":535},{"haloweb.section":115},{"tutorial.halo.run\u002Fstatus":322},{"displayName":475,"slug":462,"cover":9,"description":476,"priority":477,"hideFromList":309,"preventParentPostCascadeQuery":309},{"permalink":479,"postCount":88,"visiblePostCount":88},[539,542],{"metadata":540,"spec":541},{"name":112},{"displayName":114,"slug":115},{"metadata":543,"spec":544},{"name":180},{"displayName":182,"slug":183},{"metadata":546,"spec":549,"status":556,"categories":560,"tags":567},{"name":547,"creationTimestamp":548},"post-rag-embedding-027aa771","2026-09-13T10:01:16.978069Z",{"title":550,"slug":551,"cover":9,"excerpt":552,"publishTime":553,"categories":554,"tags":555,"priority":42,"pinned":309,"deleted":309,"visible":310,"allowComment":304},"RAG 中的 Embedding 和向量数据库？","rag-embedding",{"raw":9,"autoGenerate":304},"2026-09-13T10:01:17.022874Z",[462],[180,112],{"permalink":557,"excerpt":558,"lastModifyTime":559,"phase":315},"\u002Farchives\u002Frag-embedding","一、Embedding（嵌入） 把文本转换为高维向量（如 768\u002F1024 维），语义相近的文本向量距离近。 二、向量数据库 专门存储和检索向量的数据库，支持相似性搜索。 Milvus：开源，高性能，分布式。 Pinecone：云服务。 Weaviate：开源，支持混合检索。 Chroma：轻量，适","2026-09-16T09:16:46.368492Z",[561],{"metadata":562,"spec":565,"status":566,"postCount":88},{"name":462,"creationTimestamp":471,"labels":563,"annotations":564},{"haloweb.section":115},{"tutorial.halo.run\u002Fstatus":322},{"displayName":475,"slug":462,"cover":9,"description":476,"priority":477,"hideFromList":309,"preventParentPostCascadeQuery":309},{"permalink":479,"postCount":88,"visiblePostCount":88},[568,571],{"metadata":569,"spec":570},{"name":180},{"displayName":182,"slug":183},{"metadata":572,"spec":573},{"name":112},{"displayName":114,"slug":115},{"metadata":575,"spec":578,"status":585,"categories":589,"tags":596},{"name":576,"creationTimestamp":577},"post-rag-what-c4de36f1","2026-09-13T10:01:16.820767Z",{"title":579,"slug":580,"cover":9,"excerpt":581,"publishTime":582,"categories":583,"tags":584,"priority":42,"pinned":309,"deleted":309,"visible":310,"allowComment":304},"什么是 RAG？","rag-what",{"raw":9,"autoGenerate":304},"2026-09-13T10:01:16.868881Z",[462],[180,112],{"permalink":586,"excerpt":587,"lastModifyTime":588,"phase":315},"\u002Farchives\u002Frag-what","一、定义 RAG（Retrieval-Augmented Generation，检索增强生成）把外部知识检索和大语言模型生成结合起来。先从知识库检索相关文档，再让 LLM 基于检索结果生成回答。 二、解决的问题 LLM 知识截止，不知道最新信息。 LLM 幻觉，编造内容。 LLM 不知道企业私有知识","2026-09-16T09:16:45.934790Z",[590],{"metadata":591,"spec":594,"status":595,"postCount":88},{"name":462,"creationTimestamp":471,"labels":592,"annotations":593},{"haloweb.section":115},{"tutorial.halo.run\u002Fstatus":322},{"displayName":475,"slug":462,"cover":9,"description":476,"priority":477,"hideFromList":309,"preventParentPostCascadeQuery":309},{"permalink":479,"postCount":88,"visiblePostCount":88},[597,600],{"metadata":598,"spec":599},{"name":180},{"displayName":182,"slug":183},{"metadata":601,"spec":602},{"name":112},{"displayName":114,"slug":115},{"metadata":604,"spec":607,"status":614,"categories":618,"tags":629},{"name":605,"creationTimestamp":606},"post-es-optimize-53774e14","2026-09-13T10:01:16.647823Z",{"title":608,"slug":609,"cover":9,"excerpt":610,"publishTime":611,"categories":612,"tags":613,"priority":42,"pinned":309,"deleted":309,"visible":310,"allowComment":304},"Elasticsearch 性能优化？","es-optimize",{"raw":9,"autoGenerate":304},"2026-09-13T10:01:16.693387Z",[214],[112,211],{"permalink":615,"excerpt":616,"lastModifyTime":617,"phase":315},"\u002Farchives\u002Fes-optimize","一、写入优化 批量写入（Bulk API），减少网络开销。 增加 refresh_interval（如 30s），减少 refresh 频率。 关闭副本，写完再开。 用 SSD 存储。 TransLog 异步刷盘。 二、查询优化 用 filter 替代 query 做过滤。 避免深度分页，用 sea","2026-09-16T09:16:45.471802Z",[619],{"metadata":620,"spec":624,"status":627,"postCount":88},{"name":214,"creationTimestamp":621,"labels":622,"annotations":623},"2026-09-13T09:13:26.098074Z",{"haloweb.section":115},{"tutorial.halo.run\u002Fstatus":322},{"displayName":625,"slug":214,"cover":9,"description":626,"priority":137,"hideFromList":309,"preventParentPostCascadeQuery":309},"Elasticsearch 面试题","Elasticsearch 面试题精讲：倒排索引、分词检索、聚合分析、集群分片与写入查询调优。",{"permalink":628,"postCount":88,"visiblePostCount":88},"\u002Fcategories\u002Felasticsearch",[630,633],{"metadata":631,"spec":632},{"name":112},{"displayName":114,"slug":115},{"metadata":634,"spec":635},{"name":211},{"displayName":213,"slug":214},{"metadata":637,"spec":640,"status":647,"categories":651,"tags":658},{"name":638,"creationTimestamp":639},"post-es-cluster-9db8e817","2026-09-13T10:01:16.451613Z",{"title":641,"slug":642,"cover":9,"excerpt":643,"publishTime":644,"categories":645,"tags":646,"priority":42,"pinned":309,"deleted":309,"visible":310,"allowComment":304},"Elasticsearch 集群架构？","es-cluster",{"raw":9,"autoGenerate":304},"2026-09-13T10:01:16.505423Z",[214],[211,112],{"permalink":648,"excerpt":649,"lastModifyTime":650,"phase":315},"\u002Farchives\u002Fes-cluster","一、节点角色 Master：管理集群元数据，选举。 Data：存储分片数据，执行 CRUD、搜索。 Ingest：数据预处理（pipeline）。 Coordinating：路由请求，合并结果。 Machine Learning：机器学习。 Remote Cluster：跨集群搜索。 二、分片 In","2026-09-16T09:16:45.007110Z",[652],{"metadata":653,"spec":656,"status":657,"postCount":88},{"name":214,"creationTimestamp":621,"labels":654,"annotations":655},{"haloweb.section":115},{"tutorial.halo.run\u002Fstatus":322},{"displayName":625,"slug":214,"cover":9,"description":626,"priority":137,"hideFromList":309,"preventParentPostCascadeQuery":309},{"permalink":628,"postCount":88,"visiblePostCount":88},[659,662],{"metadata":660,"spec":661},{"name":211},{"displayName":213,"slug":214},{"metadata":663,"spec":664},{"name":112},{"displayName":114,"slug":115},{"metadata":666,"spec":669,"status":676,"categories":680,"tags":687},{"name":667,"creationTimestamp":668},"post-es-query-2bd1cec3","2026-09-13T10:01:16.111595Z",{"title":670,"slug":671,"cover":9,"excerpt":672,"publishTime":673,"categories":674,"tags":675,"priority":42,"pinned":309,"deleted":309,"visible":310,"allowComment":304},"Elasticsearch 常用查询类型？","es-query",{"raw":9,"autoGenerate":304},"2026-09-13T10:01:16.311844Z",[214],[211,112],{"permalink":677,"excerpt":678,"lastModifyTime":679,"phase":315},"\u002Farchives\u002Fes-query","一、全文查询 match：对查询词分词后匹配。 match_phrase：短语匹配，词序固定。 multi_match：多字段匹配。 query_string：支持 Lucene 查询语法。 二、精确查询 term：精确匹配不分词的值。 terms：多值精确匹配。 range：范围查询。 exist","2026-09-16T09:16:44.539296Z",[681],{"metadata":682,"spec":685,"status":686,"postCount":88},{"name":214,"creationTimestamp":621,"labels":683,"annotations":684},{"haloweb.section":115},{"tutorial.halo.run\u002Fstatus":322},{"displayName":625,"slug":214,"cover":9,"description":626,"priority":137,"hideFromList":309,"preventParentPostCascadeQuery":309},{"permalink":628,"postCount":88,"visiblePostCount":88},[688,691],{"metadata":689,"spec":690},{"name":211},{"displayName":213,"slug":214},{"metadata":692,"spec":693},{"name":112},{"displayName":114,"slug":115},{"metadata":695,"spec":698,"status":705,"categories":709,"tags":716},{"name":696,"creationTimestamp":697},"post-es-inverted-index-8b7f67f9","2026-09-13T10:01:15.901010Z",{"title":699,"slug":700,"cover":9,"excerpt":701,"publishTime":702,"categories":703,"tags":704,"priority":42,"pinned":309,"deleted":309,"visible":310,"allowComment":304},"Elasticsearch 的倒排索引原理？","es-inverted-index",{"raw":9,"autoGenerate":304},"2026-09-13T10:01:15.954299Z",[214],[211,112],{"permalink":706,"excerpt":707,"lastModifyTime":708,"phase":315},"\u002Farchives\u002Fes-inverted-index","一、定义 正排索引：文档 → 词列表。 倒排索引：词 → 文档列表。 二、构建过程 文档内容分词，得到词（term）。 建立 term → [doc1, doc2, ...] 的映射。 记录词频、位置等信息。 三、示例 文档1：Java 面试\n文档2：Java 集合\n文档3：Redis 缓存\n\n倒排","2026-09-16T09:16:44.086521Z",[710],{"metadata":711,"spec":714,"status":715,"postCount":88},{"name":214,"creationTimestamp":621,"labels":712,"annotations":713},{"haloweb.section":115},{"tutorial.halo.run\u002Fstatus":322},{"displayName":625,"slug":214,"cover":9,"description":626,"priority":137,"hideFromList":309,"preventParentPostCascadeQuery":309},{"permalink":628,"postCount":88,"visiblePostCount":88},[717,720],{"metadata":718,"spec":719},{"name":211},{"displayName":213,"slug":214},{"metadata":721,"spec":722},{"name":112},{"displayName":114,"slug":115},{"metadata":724,"spec":727,"status":734,"categories":738,"tags":745},{"name":725,"creationTimestamp":726},"post-es-architecture-a6b20c5d","2026-09-13T10:01:15.732254Z",{"title":728,"slug":729,"cover":9,"excerpt":730,"publishTime":731,"categories":732,"tags":733,"priority":42,"pinned":309,"deleted":309,"visible":310,"allowComment":304},"Elasticsearch 的核心概念？","es-architecture",{"raw":9,"autoGenerate":304},"2026-09-13T10:01:15.777887Z",[214],[112,211],{"permalink":735,"excerpt":736,"lastModifyTime":737,"phase":315},"\u002Farchives\u002Fes-architecture","一、核心概念 Index（索引）：类似数据库的表，存储文档。 Document（文档）：JSON 格式的数据，类似行。 Field（字段）：文档中的键值对，类似列。 Shard（分片）：索引分成多个分片，分布在不同节点。 Replica（副本）：分片的副本，高可用。 二、集群 多个 Node 组成 ","2026-09-16T09:16:43.604221Z",[739],{"metadata":740,"spec":743,"status":744,"postCount":88},{"name":214,"creationTimestamp":621,"labels":741,"annotations":742},{"haloweb.section":115},{"tutorial.halo.run\u002Fstatus":322},{"displayName":625,"slug":214,"cover":9,"description":626,"priority":137,"hideFromList":309,"preventParentPostCascadeQuery":309},{"permalink":628,"postCount":88,"visiblePostCount":88},[746,749],{"metadata":747,"spec":748},{"name":112},{"displayName":114,"slug":115},{"metadata":750,"spec":751},{"name":211},{"displayName":213,"slug":214},{"metadata":753,"spec":756,"status":763,"categories":767,"tags":779},{"name":754,"creationTimestamp":755},"post-ha-fault-tolerant-63c13c75","2026-09-13T10:01:15.532338Z",{"title":757,"slug":758,"cover":9,"excerpt":759,"publishTime":760,"categories":761,"tags":762,"priority":42,"pinned":309,"deleted":309,"visible":310,"allowComment":304},"如何设计故障容错的系统？","ha-fault-tolerant",{"raw":9,"autoGenerate":304},"2026-09-13T10:01:15.576722Z",[250],[112,247],{"permalink":764,"excerpt":765,"lastModifyTime":766,"phase":315},"\u002Farchives\u002Fha-fault-tolerant","一、冗余 多实例部署，避免单点。 数据多副本（主从、集群）。 多机房部署。 二、故障检测 心跳检测，快速发现故障。 全链路监控，告警。 三、故障转移 自动切换（哨兵、集群选主）。 手动切流（流量调度）。 四、降级 非核心功能降级，保核心。 返回兜底数据。 五、熔断 下游故障快速失败，防止雪崩。 六、","2026-09-16T09:16:43.163705Z",[768],{"metadata":769,"spec":773,"status":777,"postCount":88},{"name":250,"creationTimestamp":770,"labels":771,"annotations":772},"2026-09-13T09:13:26.071581Z",{"haloweb.section":115},{"tutorial.halo.run\u002Fstatus":322},{"displayName":774,"slug":250,"cover":9,"description":775,"priority":776,"hideFromList":309,"preventParentPostCascadeQuery":309},"高可用面试题","高可用架构面试题：限流熔断降级、故障转移、多活容灾与常见线上故障的兜底思路。",31,{"permalink":778,"postCount":88,"visiblePostCount":88},"\u002Fcategories\u002Fhigh-availability",[780,783],{"metadata":781,"spec":782},{"name":112},{"displayName":114,"slug":115},{"metadata":784,"spec":785},{"name":247},{"displayName":249,"slug":250},{"metadata":787,"spec":790,"status":797,"categories":801,"tags":808},{"name":788,"creationTimestamp":789},"post-ha-cap-ac08d517","2026-09-13T10:01:15.333378Z",{"title":791,"slug":792,"cover":9,"excerpt":793,"publishTime":794,"categories":795,"tags":796,"priority":42,"pinned":309,"deleted":309,"visible":310,"allowComment":304},"CAP 定理和 BASE 理论？","ha-cap",{"raw":9,"autoGenerate":304},"2026-09-13T10:01:15.381175Z",[250],[112,247],{"permalink":798,"excerpt":799,"lastModifyTime":800,"phase":315},"\u002Farchives\u002Fha-cap","一、CAP 定理 分布式系统不可能同时满足三个特性，最多满足两个： Consistency（一致性）：所有节点同一时刻看到相同数据。 Availability（可用性）：每个请求都能收到响应（不一定是最新数据）。 Partition tolerance（分区容错性）：网络分区时系统仍能运行。 二、C","2026-09-16T09:16:42.062834Z",[802],{"metadata":803,"spec":806,"status":807,"postCount":88},{"name":250,"creationTimestamp":770,"labels":804,"annotations":805},{"haloweb.section":115},{"tutorial.halo.run\u002Fstatus":322},{"displayName":774,"slug":250,"cover":9,"description":775,"priority":776,"hideFromList":309,"preventParentPostCascadeQuery":309},{"permalink":778,"postCount":88,"visiblePostCount":88},[809,812],{"metadata":810,"spec":811},{"name":112},{"displayName":114,"slug":115},{"metadata":813,"spec":814},{"name":247},{"displayName":249,"slug":250},{"metadata":816,"spec":819,"status":826,"categories":830,"tags":837},{"name":817,"creationTimestamp":818},"post-ha-service-ha-31d66a73","2026-09-13T10:01:15.148197Z",{"title":820,"slug":821,"cover":9,"excerpt":822,"publishTime":823,"categories":824,"tags":825,"priority":42,"pinned":309,"deleted":309,"visible":310,"allowComment":304},"微服务高可用设计？","ha-service-ha",{"raw":9,"autoGenerate":304},"2026-09-13T10:01:15.196022Z",[250],[112,247],{"permalink":827,"excerpt":828,"lastModifyTime":829,"phase":315},"\u002Farchives\u002Fha-service-ha","一、无状态服务 服务不保存状态，状态存 Redis\u002FDB。 多实例部署，负载均衡。 任一实例挂了不影响。 二、服务发现 注册中心（Nacos\u002FEureka）。 服务实例上下线自动感知。 客户端负载均衡跳过不健康节点。 三、健康检查 注册中心心跳检测，不健康实例剔除。 K8s liveness\u002Frea","2026-09-16T09:16:41.613665Z",[831],{"metadata":832,"spec":835,"status":836,"postCount":88},{"name":250,"creationTimestamp":770,"labels":833,"annotations":834},{"haloweb.section":115},{"tutorial.halo.run\u002Fstatus":322},{"displayName":774,"slug":250,"cover":9,"description":775,"priority":776,"hideFromList":309,"preventParentPostCascadeQuery":309},{"permalink":778,"postCount":88,"visiblePostCount":88},[838,841],{"metadata":839,"spec":840},{"name":112},{"displayName":114,"slug":115},{"metadata":842,"spec":843},{"name":247},{"displayName":249,"slug":250},{"metadata":845,"spec":848,"status":855,"categories":859,"tags":866},{"name":846,"creationTimestamp":847},"post-ha-db-ha-00eec1c4","2026-09-13T10:01:14.948600Z",{"title":849,"slug":850,"cover":9,"excerpt":851,"publishTime":852,"categories":853,"tags":854,"priority":42,"pinned":309,"deleted":309,"visible":310,"allowComment":304},"MySQL 高可用方案？","ha-db-ha",{"raw":9,"autoGenerate":304},"2026-09-13T10:01:14.996576Z",[250],[247,112],{"permalink":856,"excerpt":857,"lastModifyTime":858,"phase":315},"\u002Farchives\u002Fha-db-ha","一、主从复制 Master 写，Slave 读，异步复制。 Master 挂了需手动切换。 可能数据丢失（异步复制延迟）。 二、MHA（Master High Availability） 自动监控 Master，故障时自动切换。 需额外管理节点。 三、MGR（MySQL Group Replicat","2026-09-16T09:16:39.233963Z",[860],{"metadata":861,"spec":864,"status":865,"postCount":88},{"name":250,"creationTimestamp":770,"labels":862,"annotations":863},{"haloweb.section":115},{"tutorial.halo.run\u002Fstatus":322},{"displayName":774,"slug":250,"cover":9,"description":775,"priority":776,"hideFromList":309,"preventParentPostCascadeQuery":309},{"permalink":778,"postCount":88,"visiblePostCount":88},[867,870],{"metadata":868,"spec":869},{"name":247},{"displayName":249,"slug":250},{"metadata":871,"spec":872},{"name":112},{"displayName":114,"slug":115},{"metadata":874,"spec":877,"status":884,"categories":888,"tags":895},{"name":875,"creationTimestamp":876},"post-ha-redis-cluster-03010c3e","2026-09-13T10:01:14.777577Z",{"title":878,"slug":879,"cover":9,"excerpt":880,"publishTime":881,"categories":882,"tags":883,"priority":42,"pinned":309,"deleted":309,"visible":310,"allowComment":304},"Redis 高可用方案有哪些？","ha-redis-cluster",{"raw":9,"autoGenerate":304},"2026-09-13T10:01:14.826661Z",[250],[247,112],{"permalink":885,"excerpt":886,"lastModifyTime":887,"phase":315},"\u002Farchives\u002Fha-redis-cluster","一、主从复制 Master 写，Slave 异步复制数据。 读可从 Slave，分担读压力。 Master 挂了需手动切换，不能自动故障转移。 二、哨兵模式（Sentinel） Sentinel 监控 Master\u002FSlave 健康。 Master 故障时自动选举新 Master，通知客户端。 适合","2026-09-16T09:16:41.175475Z",[889],{"metadata":890,"spec":893,"status":894,"postCount":88},{"name":250,"creationTimestamp":770,"labels":891,"annotations":892},{"haloweb.section":115},{"tutorial.halo.run\u002Fstatus":322},{"displayName":774,"slug":250,"cover":9,"description":775,"priority":776,"hideFromList":309,"preventParentPostCascadeQuery":309},{"permalink":778,"postCount":88,"visiblePostCount":88},[896,899],{"metadata":897,"spec":898},{"name":247},{"displayName":249,"slug":250},{"metadata":900,"spec":901},{"name":112},{"displayName":114,"slug":115}]