一行自然语言如何变成精准工具调用?korean-law-mcp query-router路由引擎实现原理

发布时间:2026/10/2 20:02:10
一行自然语言如何变成精准工具调用?korean-law-mcp query-router路由引擎实现原理 一行自然语言如何变成精准工具调用korean-law-mcp query-router路由引擎实现原理【免费下载链接】korean-law-mcp법제처 국가법령정보를 LLM에서 바로 조회하는 MCP 서버. 법령·판례·조례 검색과 인용 검증 | MCP server for Korean law — search statutes, precedents, and ordinances, and verify citations项目地址: https://gitcode.com/gh_mirrors/ko/korean-law-mcpkorean-law-mcp 是一个把韩国法제처法律信息处42 个开放 API 封装成 10 个工具的韩国法律 MCP 服务器支持法令、判例、条例检索与引用验证。它最巧妙的部分是内置的 query-router 路由引擎你只需输入一行自然语言它就能读懂意图、选对工具、填好参数甚至自动串起后续查询链路。本文用大白话拆解这套路由引擎的实现原理帮你理解自然语言 → 精准工具调用背后到底发生了什么。 效果先行一行话直接变成精准工具调用先看路由引擎的实际效果。在 Claude 或 ChatGPT 里问一句관세법 제38조 알려줘告诉我关税法第 38 条路由引擎会自动判定这是特定条款查询先调search_law(관세법)拿到法令 IDMST紧接着调get_law_text取出第 38 条正文——两次调用全程无需你指定任何参数。你说的一句话路由引擎的实际动作민법 제103조 인용 검증해줘验证民法第 103 条的引用走verify_citations引用验证而不是查条文민법 제103조 판례民法第 103 条的判例走search_precedents判例检索2023.5.10 당시 도로교통법 제44조2023 年 5 月 10 日当时的道路交通法第 44 条走applicable_law行为时法判定2007다27670 아직 유효해?2007다27670 还有效吗走cite_check判例生死确认서울시 주차 조례首尔市停车条例走search_ordinance自治法规检索任何没匹配上模式的问题兜底走chain_full_research综合研究 路由引擎的四个核心部件query-router 并不是一坨if-else而是拆成了职责清晰的四个文件CLI 和 MCP 服务器共用同一套判定逻辑部件职责路径匹配引擎遍历模式表处理让路与兜底query-router.ts模式表声明部什么自然语言 → 什么工具的 30 条规则route-patterns.ts参数提取器从原文抽出法令名、条款号、别表号、日期等query-extract.ts场景判定语汇9 种场景罚则、关税、时间旅行等的唯一规则源scenario-rules.ts整体数据流可以这样理解自然语言 관세법 제38조 알려줘 │ ▼ ┌── query-router.routeQuery() ─────────────────┐ │ ① 按优先级遍历模式表逐条做正则匹配 │ │ ② 命中后检查 yieldsTo是否需要让路 │ │ ③ 调 extract 提取参数可能触发内部开关 │ │ ④ 解析日期范围、附加场景标签、组装流水线 │ └──────────────┬──────────────────────────────┘ ▼ search_law(관세법) ──MST──▶ get_law_text(제38조)更完整的分层说明可以参考官方架构文档docs/ARCHITECTURE.md。⚖️ 优先级排序越具体的意图越先接球每条模式都带一个priority数值越小越优先。模块加载时所有模式按优先级一次性排好序route-patterns.ts之后每来一句查询就按序尝试正则匹配第一个命中的模式接球。优先级体现的是具体程度优先级 1特定条款查询XX법 제38조这类条款号在句尾的形态因为它意图最明确优先级 2条款影响图、判例生死确认、行为时法、引用验证等杀手级功能优先级 3~9明确法令名、国税厅法规解释、关税/处罚等场景规则优先级 10判例、解释例、条例、程序等较宽泛的意图全部没命中兜底交给chain_full_research综合研究query-router.ts。比如화관법化学品管理法和화관법 시행령其施行令会先经过约称扩展变成全称再检索而单独一句방법方法这类词则被黑名单拦下避免把方法误判成以법结尾的法令名——这类细节都沉淀在模式表里route-patterns.ts。 让路机制 yieldsTo高优先级也会主动避让如果只看优先级민법 제103조 인용 검증해줘验证民法第 103 条的引用会被优先级 1 的条款查询模式吞掉引用验证这个更深的意图就丢了。为此引擎设计了让路机制高优先级模式声明了我让给谁yieldsTo列表。匹配成功后引擎会直接拿接收方的正则再跑一遍确认对方真的能接住才让球route-patterns.ts。条款查询模式声明向 16 个模式让路route-patterns.tsyieldsTo: impact_map / applicable_law / verify_citations / cite_check / amendment / precedent / annex ...巧妙之处在于让路时不另抄一份守卫关键词而是原地评估接收方自己的正则——接收方词表扩充时守卫自动跟着变不会出现两份词表各改了一半的失同步问题。对应的回归测试保证민법 제103조 인용 검증해줘必须到达verify_citationsquery-router.routing.test.ts。️ 四个内部开关_skip / _fallback / _reroute / _needsMst提取参数时extract函数可以通过返回特殊开关改变路由走向这是引擎处理复合意图的主要手段开关含义典型场景_skip本模式命中但意图不符交给下一个模式최근 개정된 근로기준법 제60조命中统计模式但指了具体条款让给改订追踪_fallback只有关键词、缺法令名转综合研究单独问별표别表而没有法令名_reroute命中后改道去另一个工具신고 방법申报方法命中申报模式因含方法让给程序详解_needsMst需要先搜法令拿 MST再查详情条款查询 → 自动组装搜索详情两级流水线这些开关在路由结果里会被剥离干净不会泄漏成工具参数提取器对조(条)兆예산 3조里的 3 兆这类歧义也做了专门防误伤query-extract.ts。 自动流水线与场景附加一次提问多步到位路由结果不只是一个工具还可以携带pipeline后续步骤队列。两种典型自动流水线搜索 → 详情自动链tool-chain-config.ts 为 12 个搜索工具各配置了对应的详情工具判例搜索接get_precedent_text、解释例搜索接get_interpretation_text……。命中搜索类模式时引擎自动把取第一条结果的详情挂成管道你问근로기준법 제74조 해석례就会一次拿到列表正文法令检索 → 条款查询条款查询带_needsMst时引擎组装search_law→get_law_text两级如果一次问多个条款민법 제309조·제310조会为每个条款各生成一级避免第二个条款被吞掉query-router.ts。场景附加是另一层自动化路由命中chain_*链式工具后引擎调用 detectScenarioName 判定场景标签penalty 罚则 / customs 关税 / time_travel 时间旅行等 9 种自动挂到参数上。比如관세 환급을 못 받았어关税退税没收到会自动挂上action_plan场景개인정보보호법 2020-01-01 vs 2025-11-01则触发 time_travel 场景自动抽取两个时间点做新旧条文 diff。场景规则只存一份CLI 和 MCP 两侧读数完全一致不会出现同一句话走两个入口、两种结果。 两个容易忽略的细节日期顺序与确认提示日期解析放在匹配之后。引擎先用原文做模式匹配命中后才解析日期范围并把时间表达从搜索词里剥掉。顺序反了会出大错최근 3년 이내 개정近 3 年内修订这句话里近 3 年内本身就是改订追踪的触发词——若先把日期删掉再匹配触发词就没了query-router.ts。判不准时宁可问一句也不猜。민법 2024这种法令名单个时间点的模糊查询引擎会保守地按改订历史处理同时返回clarify确认文案提示你如果要 2024 年当时施行的正文请写2024.1.1 당시 민법route-patterns.ts。同理若你要求看전문全文但目标工具不支持full参数引擎会把它记入unsupportedParams明示出来而不是静默丢弃。 动手试试把路由引擎接到你的 AI 里想亲眼看看路由过程最简单的入口是 CLI安装方式见 README.md 的설치 및 사용법一节korean-law 민법 제1조 # 自然语言一行路由引擎自动选工具 korean-law list # 查看全部工具 korean-law help search_law # 查看单个工具帮助接上 Claude Desktop 或 ChatGPT 后直接用日常语气提问即可——전세금 못 받았어没收到押金会被判成行动规划场景按 5 个步骤给出诊断、救济手段、申请机构、所需文书和注意事项。想深入看路由判定细节建议从 query-router.ts 的主匹配函数读起配合 route-patterns.ts 的模式表逐条对照半小时就能把整个接球→让路→传球的机制过一遍。一句话总结query-router 用优先级接球 正则让路 参数开关 自动流水线四层设计把自然语言的模糊性压缩到工具调用之前让 AI 助手在查韩国法的时候少猜一步、快一步。【免费下载链接】korean-law-mcp법제처 국가법령정보를 LLM에서 바로 조회하는 MCP 서버. 법령·판례·조례 검색과 인용 검증 | MCP server for Korean law — search statutes, precedents, and ordinances, and verify citations项目地址: https://gitcode.com/gh_mirrors/ko/korean-law-mcp创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考