contract-compass
Korean public procurement law: rule-engine rulings, statutes search, live court precedents
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"contract-compass": {
"url": "https://contract.sallim.app/mcp"
}
}
}Remote endpoints
https://contract.sallim.app/mcpstreamable-httphttps://contract.sallim.app/mcp?via=officialstreamable-httpWhat it can do
Tool inventory
Tools (11)
๐ขdecide_contract_method(contract_type, estimated_price, org_type, service_type, construction_specialty, ...)
๊ณ์ฝ๋ฐฉ๋ฒ ๊ฒฐ์ ๋ก ํ์ โ ๋ฃฐ์์ง์ด ์ ์ฉ ๊ฐ๋ฅํ ๊ณ์ฝ๋ฐฉ๋ฒ ํ๋ณด์ ๋ฒ๋ น ๊ทผ๊ฑฐ๋ฅผ ๋ฐํ. Args: contract_type: "construction"(๊ณต์ฌ) | "service"(์ฉ์ญ) | "product"(๋ฌผํ) estimated_price: ์ถ์ ๊ฐ๊ฒฉ(์) org_type: "national"(๊ตญ๊ฐ๊ธฐ๊ด) | "local"(์ง์์ฒด) | "public_corp"(๊ณต๊ธฐ์ ยท์ค์ ๋ถ, ๊ธฐ๋ณธ) service_type: ์ฉ์ญ์ผ ๋ "technical"|"academic"|"facility"|"it_service"|"other" construction_specialty: ๊ณต์ฌ์ผ ๋ "general"(์ข ํฉ)|"electrical"|"ict"|"fire_safety" ๋ฑ is_sme_competition_product: ์ค์๊ธฐ์ ์๊ฐ ๊ฒฝ์์ ํ ์ฌ๋ถ negotiation_reason: ์์ ์ฌ์ "urgent"|"rebid_failure"|"technical_difficulty"| "patent_new_tech"|"specific_person"|"small_repeat"|"other_justified" is_women_enterprise: ์ฌ์ฑ๊ธฐ์ ์ฌ๋ถ โ ์ง์์ฒด ๋ฌผํยท์ฉ์ญ 2์ฒ๋ง์ ์ด๊ณผ 1์ต์ ์ดํ ์์๊ณ์ฝ(์ํ๋ น ์ 25์กฐ์ 1ํญ์ 5ํธ๋ฐ๋ชฉ) ํ์ ์ ํ์. ์ฌ์ฉ์๊ฐ "์ฌ์ฑ๊ธฐ์ ", "์ฅ์ ์ธ๊ธฐ์ ", "์ฌํ์ ๊ธฐ์ "์ด๋ผ๊ณ ๋งํ๋ฉด **๋ฐ๋์ ํด๋น ํ๋๊ทธ๋ฅผ ์ธ์๋ผ** โ ๋น ๋จ๋ฆฌ๋ฉด ์์๊ณ์ฝ ํ๋ณด๊ฐ ํต์งธ๋ก ๋น ์ง๊ณ ๊ฒฝ์์ ์ฐฐ๋ง ์ ์๋๋ค. is_disabled_enterprise: ์ฅ์ ์ธ๊ธฐ์ ์ฌ๋ถ (์์ ๊ฐ์ ๋ชฉ) is_social_enterprise: ์ฌํ์ ๊ธฐ์ ยท์ฌํ์ ํ๋์กฐํฉยท์ํ๊ธฐ์ ยท๋ง์๊ธฐ์ ์ฌ๋ถ (์์ ๊ฐ์ ๋ชฉ). ์ด ์ ํ์ ํ์ ์์ ๋ถ ๊ณ ์ ์ทจ์ฝ๊ณ์ธต ๊ณ ์ฉ๋น์จ ์ถฉ์กฑ์ด ์ถ๊ฐ ์๊ฑด์ด๋ค. is_youth_startup: ์ฒญ๋ ์ฐฝ์ ๊ธฐ์ ์ฌ๋ถ โ ๋ฌผํยท์ฉ์ญ 2์ฒ๋ง์ ์ด๊ณผ 5์ฒ๋ง์ ์ดํ ์์๊ณ์ฝ(์ง๋ฐฉ ์ 5ํธ ๋ค๋ชฉ / ๊ตญ๊ฐ ์ํ๋ น ์ 26์กฐโ 5ํธ๊ฐ๋ชฉ7, ์ค์๊ธฐ์ ์ฐฝ์ ์ง์๋ฒ ์ 2์กฐ์ 11ํธ) is_small_enterprise: ์๋๋ฐฉ์ด ์๊ธฐ์ ยท์์๊ณต์ธ์ธ์ง ์ฌ๋ถ โ 2์ฒ๋ง์ ์ด๊ณผ 1์ต์ ์ดํ ์์๊ณ์ฝ(๊ตญ๊ฐ ์ํ๋ น ์ 26์กฐโ 5ํธ๊ฐ๋ชฉ3 / ์ง๋ฐฉ ์ํ๋ น ์ 25์กฐโ 5ํธ๋ผ๋ชฉ) ํ์ ์ ํ์. **์ฃผ์: ๊ตญ๊ฐยท๊ณต๊ธฐ์ 2์ฒ๋ง์ ์ด๊ณผ~1์ต์ ์ดํ๋ ๋ฌด์กฐ๊ฑด ์์ก์์๊ฐ ์๋๋ค** โ ์๊ธฐ์ ยท์์๊ณต์ธ/ํน์ ์ง์ยท๊ธฐ์ (academic)/์ฌ์ฑยท ์ฅ์ ์ธยท์ฌํ์ ๊ธฐ์ /์ฒญ๋ ์ฐฝ์ (5์ฒ๋ง ์ดํ) ์๊ฑด ์ถฉ์กฑ ์์๋ง ์์ ๊ฐ๋ฅํ๋ฏ๋ก, ํด๋นํ๋ฉด ํ๋๊ทธ๋ฅผ ์ธ์๋ผ. ๋ฏธ์ถฉ์กฑ์ด๋ฉด ๊ฒฝ์์ ์ฐฐ์ด ์์น์ด๋ค. follow_up_answers: **ํ์์ง๋ฌธ ๋ต๋ณ** โ ์ด ๋๊ตฌ๋ฅผ ํ ๋ฒ ๋ถ๋ฅด๋ฉด `follow_up_questions`๊ฐ ํจ๊ป ์จ๋ค(์ ํ๊ฒฝ์ยท๊ณต๋๋๊ธ ๋ฑ ํ์ ์ ๋ฐ๊พธ๋ ์กฐ๊ฑด). ์ฌ์ฉ์์๊ฒ ๋ฌผ์ด ๋ต์ ์ป์์ผ๋ฉด ๊ฐ์ ์ธ์์ ์ด๊ฒ๋ง ๋ํด **๋ค์ ๋ถ๋ฅด๋ฉด `final_recommendation`(์ต์ข ๊ณ์ฝ๋ฐฉ๋ฒ)์ด ์จ๋ค.** ํ์์ `{์ง๋ฌธid: true/false ๋๋ ๊ฐ}` (์: `{"regional_restriction": true, "joint_contract": true}`). ์ธ์ id๋ฅผ ๋ค๊ณ ๋ค๋ ํ์๊ฐ ์๋ค โ ์๋ฒ๊ฐ ๊ฐ์ ํธ์ถ ์์์ 1๋จ๊ณยท2๋จ๊ณ๋ฅผ ์ด์ด ํ์ ํ๋ค. ๋ต์ ๋ชจ๋ฅด๋ฉด ๋ฃ์ง ๋ง๋ผ(์ถ์ธก ๊ธ์ง). selected_rule_id: ํ๋ณด ์ค ์ฌ์ฉ์๊ฐ ๊ณ ๋ฅธ ๋ฃฐ id(์: "SVC_004"). ํ๋ณด์ ์์ผ๋ฉด ๋ฌด์๋๊ณ ๊ทธ ์ฌ์ค์ด `final_recommendation.selection_ignored_reason`์ ์ ํ๋ค. selected_alternative_kind: `practice_alternatives`์์ ์ฌ์ฉ์๊ฐ ๊ณ ๋ฅธ ์ค๋ฌด ์ต์ ์ kind.
Input Schema
{
"type": "object",
"properties": {
"contract_type": {
"enum": [
"construction",
"service",
"product"
],
"title": "Contract Type",
"type": "string"
},
"estimated_price": {
"title": "Estimated Price",
"type": "integer"
},
"org_type": {
"default": "public_corp",
"enum": [
"national",
"local",
"public_corp"
],
"title": "Org Type",
"type": "string"
},
"service_type": {
"anyOf": [
{
"enum": [
"technical",
"academic",
"facility",
"it_service",
"other"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Service Type"
},
"construction_specialty": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Construction Specialty"
},
"is_sme_competition_product": {
"default": false,
"title": "Is Sme Competition Product",
"type": "boolean"
},
"negotiation_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Negotiation Reason"
},
"is_women_enterprise": {
"default": false,
"title": "Is Women Enterprise",
"type": "boolean"
},
"is_disabled_enterprise": {
"default": false,
"title": "Is Disabled Enterprise",
"type": "boolean"
},
"is_social_enterprise": {
"default": false,
"title": "Is Social Enterprise",
"type": "boolean"
},
"is_youth_startup": {
"default": false,
"title": "Is Youth Startup",
"type": "boolean"
},
"is_small_enterprise": {
"default": false,
"title": "Is Small Enterprise",
"type": "boolean"
},
"project_name": {
"default": "MCP ์กฐํ",
"title": "Project Name",
"type": "string"
},
"follow_up_answers": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Follow Up Answers"
},
"selected_rule_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Selected Rule Id"
},
"selected_alternative_kind": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Selected Alternative Kind"
}
},
"required": [
"contract_type",
"estimated_price"
],
"title": "decide_contract_methodArguments"
}๐ขsearch_law(query, top_k, corpus)
๋ฒ๋ น ์กฐ๋ฌธ ๊ฒ์ โ ํค์๋ ๋๋ ์กฐ๋ฌธ๋ฒํธ๋ก ์กฐ๋ฌธ ์ค๋ํซ ๋ฐํ(์์ top_k๊ฑด). **์ฝํผ์ค๊ฐ ๋์ด๊ณ ํ ์๋ต์ ํ ์ชฝ์์๋ง ์จ๋ค(2026-08-29).** ๊ณต๊ณต๊ณ์ฝ(๊ตญ๊ฐยท์ง๋ฐฉ๊ณ์ฝ๋ฒ ๊ณ์ด 38๊ฐ ๋ฒ๋ น)๊ณผ **์ธ๋ฒ**(์๋์ธ๋ฒยท๋ฒ์ธ์ธ๋ฒยท๋ถ๊ฐ๊ฐ์น์ธ๋ฒยท์กฐ์ธํน๋ก์ ํ๋ฒยท์ง๋ฐฉ์ธ๋ฒ ๋ฑ 64๊ฐ ๋ฒ๋ น)์ด๋ค. ์ถ์ ์๋์ผ๋ก ์ ํด์ง๋ค โ ์ง์๊ฐ ์ธ๋ฒ ๋ฒ๋ น์ ์ด๋ฆ์ผ๋ก ๋ถ๋ฅด๋ฉด ์ธ๋ฒ ์ฝํผ์ค๋ก ๊ฐ๊ณ , ๊ทธ ๋ฐ์๋ ๊ณต๊ณต๊ณ์ฝ ์ฝํผ์ค์์ ์ฐพ๋ค๊ฐ **๊ฑฐ๊ธฐ์ ๋ชป ์ฐพ์ ๋๋ง** ์ธ๋ฒ ์ฝํผ์ค๋ฅผ ๋ณธ๋ค. `corpus="tax"`/`"contract"`๋ก ๊ฐ์ ํ ์๋ ์๋ค. ์๋ต์ `corpus`๊ฐ **์ด๋ ์ฝํผ์ค๋ฅผ ๋ดค๋์ง**๋ค โ ์ธ๋ฒ ๊ฒฐ๊ณผ๋ฅผ ๊ณต๊ณต๊ณ์ฝ ๊ทผ๊ฑฐ๋ก, ๊ณต๊ณต๊ณ์ฝ ๊ฒฐ๊ณผ๋ฅผ ์ธ๋ฒ ๊ทผ๊ฑฐ๋ก ์ธ์ฉํ์ง ๋ง๋ผ. `note_corpus`๊ฐ ์์ผ๋ฉด ์ ๊ทธ ์ถ์ด์๋์ง๋ค. ์ ๋ฌธ์ด ํ์ํ๋ฉด get_law_article(ref)๋ก ์ด์ด์ ์กฐํ. hit์ note๊ฐ ์์ผ๋ฉด ์ญ์ ยทํ์ง๋ ์กฐ๋ฌธ์ด๋ค โ ํ๋จ ๊ทผ๊ฑฐ๋ก ์ธ์ฉํ์ง ๋ง๋ผ. **hit์ `implementing_articles`๊ฐ ์์ผ๋ฉด ๋ค์ ํธ์ถ์ด ์ด๋ฏธ ์ ํด์ง ๊ฒ์ด๋ค.** ๊ทธ ์กฐ๋ฌธ์ "๋ํต๋ น๋ น์ผ๋ก ์ ํ๋ ๋ฐ์ ๋ฐ๋ผ"๋ผ๊ณ ๋ง ํ๊ณ ๊ตฌ์ฒด์ ์ฌ์ ยท์๊ฑดยท์์น๋ ๊ฑฐ๊ธฐ ์ ํ ํ์ ์กฐ๋ฌธ์ ์๋ค(์: ๊ตญ๊ฐ๊ณ์ฝ๋ฒ ์ 7์กฐ โ ์ํ๋ น ์ 26์กฐ ์์๊ณ์ฝ์ ์ํ ์ ์๋ ๊ฒฝ์ฐ). **๋ค๋ฅธ ๋๊ตฌ๋ก ๋ค์ ๊ฒ์ํ์ง ๋ง๊ณ ** ๊ทธ ์ฐธ์กฐ๋ฅผ ๊ทธ๋๋ก get_law_article์ ๋ฃ์ด๋ผ. hit์ `delegated`๊ฐ true์ธ๋ฐ `implementing_articles`๊ฐ ์์ผ๋ฉด ํ์ ์กฐ๋ฌธ์ด ์กฐ๋ฌธ ๋จ์๋ก ํน์ ๋์ง ์์ ๊ฒ์ด๋ค โ get_law_article๋ก ์ ๋ฌธ์ ์ด์ด `delegations`๋ฅผ ๋ณด๊ณ ๊ฐ๋ผ. hit์ `article`์ด "[๋ณํ N]"์ด๋ฉด **ํ**๋ค(2026-08-20 ์์ธ). ํ ์ ๋ฌธ์ ๊ทธ ํํธ์ `law_ref`๋ฅผ ๊ทธ๋๋ก get_law_article์ ๋ฃ์ด ์ฝ๋๋ค(์กฐ๋ฌธ๊ณผ ๊ฐ์ ๊ฒฝ๋ก๋ค). `related_article`์ด ์์ผ๋ฉด ๊ทธ ํ์ ๊ทผ๊ฑฐ ์กฐ๋ฌธ์ด๋ ํจ๊ป ๋ฐํ๋ผ โ ์ ์ฌ ๊ธฐ๊ฐยท์์จ ๊ฐ์ ๊ฐ์ ์ค์ ์ถ์ฒ๊ฐ ์ฌ๊ธฐ๋ค(๊ทผ๊ฑฐ ์กฐ๋ฌธ์ด ๋ ์ด์์ด๋ฉด `related_articles`์ ์ ๋ถ ์จ๋ค). ๋ณํ ์ ๋ชฉ์ "(์ N์กฐ ๊ด๋ จ)" ํ๊ธฐ๊ฐ ์๋ ํ๋ ์ด ํ๋๊ฐ **์๋ค** โ ๊ทธ๋๋ ํ ์์ฒด๋ฅผ ๊ทผ๊ฑฐ๋ก ์ธ์ฉํ๋ผ. error๊ฐ "no_corpus_match"๋ฉด ์ง์ํ ๋ฒ๋ น์ด ์ด ์ฝํผ์ค ๋ฐ์ด๋ค โ **๊ทธ๋ฐ ๊ท์ ์ด ์๋ค๋ ๋ป์ด ์๋๋ฏ๋ก** ๊ทธ๋ ๊ฒ ๋ตํ์ง ๋ง๊ณ corpus_laws๋ก ๋ฒ์๋ฅผ ๋ฐํ ๋ค law.go.kr์ ์๋ดํ๋ผ. **๋ฒ์ ๊ณต์๋ฅผ ๋จผ์ ์ฝ์ด๋ผ(2026-08-29).** `total_found`๋ ์ฝํผ์ค์์ ๋ง์ **์ด์**์ด๊ณ `count`๋ ๋ค๊ฐ ์ง๊ธ ๋ฐ์ ๊ฑด์๋ค. ๋์ด ๋ค๋ฅด๋ฉด `note`/`note_coverage`๊ฐ ์ ์๋ ธ๋์ง ๋งํด ์ค๋ค โ ๊ทธ๋ "๊ด๋ จ ์กฐ๋ฌธ์ N๊ฑด๋ฟ"์ด๋ผ๊ณ ๋ตํ๋ฉด ๊ฑฐ์ง์ด๋ค. `truncated:true`๋ฉด ๋ฐฑ์๋ ๋ฐํ ์ํ(`backend_cap`)์ ๊ฑธ๋ฆฐ ๊ฒ์ด๊ณ , `complete:false`๋ฉด total_found์กฐ์ฐจ **ํํ**์ด๋ค. `total_found_is_lower_bound:true`๋ฉด `total_found`๋ **"์ต์ N๊ฑด ์ด์"**์ด๋ผ๋ ๋ป์ด๋ค โ ์ฐ๋ฆฌ๊ฐ ์ค์บ ์ํ(`scan_limit`)์์ ์ธ๊ธฐ๋ฅผ ๋ฉ์ท์ผ๋ฏ๋ก ๊ทธ ์ซ์๋ฅผ ์ ํํ ์ด์๋ก ์ธ์ฉํ์ง ๋ง๋ผ. ๋ ํ์ํ๋ฉด top_k๋ฅผ ์ฌ๋ฆฌ๊ฑฐ๋(์ต๋ 20) ๋ฒ๋ น๋ช ยท์กฐ๋ฌธ๋ฒํธ๋ก ์ง์๋ฅผ ์ขํ ๋ค์ ๋ถ๋ฌ๋ผ. `search_scope`/`searched`๋ ์ด๋ ๊ฐ์ง๋ก ์ฐพ์๋์ง๋ค(articleยทkeywordยทtokenยทsemantic). `degraded:"semantic_unavailable"`์ด๋ฉด ์๋ฏธ(์๋ฒ ๋ฉ) ๊ฒ์์ด ์ฅ์ ๋ก ๋ชป ๋์ **ํค์๋ ๋งค์น๋ง**์ผ๋ก ๋ตํ ๊ฒ์ด๋ค โ ์ด๋์ 0๊ฑด์ ๋ถ์ฌ์ ๊ทผ๊ฑฐ๊ฐ ์๋๋ค. ์ฌ์ฉ์์๊ฒ ๊ทธ ์ฌ์ค์ ๋ฐํ๊ณ ํต์ฌ์ด๋ฅผ ๋ฐ๊ฟ ์ฌ๊ฒ์ํ๋ผ. **`note_currency`๊ฐ ์์ผ๋ฉด ์กฐ๋ฌธ์ ํํ ์ฌ๋ถ๋ฅผ ์ฐ๋ฆฌ๊ฐ ์ง๊ธ ํ์ธํ์ง ๋ชปํ ์ํ๋ค (2026-09-23).** ์ฝํผ์ค๋ ์คํ๋ผ์ธ ์ค๋ ์ท์ด๊ณ law.go.kr ํํ๊ณผ์ ๋์กฐ๊ฐ ์คํจํ๊ณ ์๊ฑฐ๋ ์ค๋๋๋ค โ `law_currency.last_verified_at`ยท`days_unverified`๊ฐ ๋ง์ง๋ง ์ฑ๊ณต ๋์กฐ์ ๊ฒฝ๊ณผ์ผ์ด๋ค. ๋ก์๋ค๋ ๋ป์ด ์๋๋ผ **๋ชจ๋ฅธ๋ค**๋ ๋ป์ด๋, ์กฐ๋ฌธ์ ์ธ์ฉํ ๋ ๊ทธ ์ฌ์ค์ ๋ฐํ๊ณ law.go.kr ํํ ํ์ธ์ ๊ถํ๋ผ. Args: query: "์์๊ณ์ฝ", "์ํ๋ น ์ 26์กฐ", "์ 21์กฐ", "์๋์ธ๋ฒ ์ 55์กฐ" ๋ฑ top_k: ๋ฐํ ๊ฑด์ (๊ธฐ๋ณธ 8, **ํ์ฉ 1~20**). ๋ฒ์ ๋ฐ ๊ฐ์ ์ค๋ฅ๊ฐ ์๋๋ผ ๊ฐ์ฅ ๊ฐ๊น์ด ํ์ฉ๊ฐ์ผ๋ก **๋ณด์ **๋๋ฉฐ(0ยท์์โ1, 20 ์ด๊ณผโ20) ๋ณด์ ์ฌ์ค์ ์๋ต์ `top_k_applied`์ ์์ฒญ๊ฐยท์ ์ฉ๊ฐยท์ด์ ๋ก ๊ณต์๋๋ค corpus: ์ฝํผ์ค ๊ฐ์ ์ง์ โ "contract"(๊ณต๊ณต๊ณ์ฝ) | "tax"(์ธ๋ฒ). ์๋ตํ๋ฉด ์๋.
Input Schema
{
"type": "object",
"properties": {
"query": {
"title": "Query",
"type": "string"
},
"top_k": {
"default": 8,
"title": "Top K",
"type": "integer"
},
"corpus": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Corpus"
}
},
"required": [
"query"
],
"title": "search_lawArguments"
}๐ขsearch_references(query, top_k)
๊ณต๊ณต๊ณ์ฝ ์ฝํผ์ค ํตํฉ ๊ฒ์ โ ๋ฒ๋ น+๊ณ์ฝ์๊ท+์กฐ๋ฌ์ฒญยทํ์๋ถ ์ธ๋ถ๊ธฐ์ค+์ค๋ฌด๊ฐ์ด๋. LLM ๋ฏธ์ฌ์ฉ. search_law๊ฐ ๋ฒ๋ น ์กฐ๋ฌธ ์ ์ฉ์ธ ๊ฒ๊ณผ ๋ฌ๋ฆฌ ์๊ทยท์ ๊ฒฉ์ฌ์ฌ ์ธ๋ถ๊ธฐ์คยท์ค๋ฌด๊ฐ์ด๋๊น์ง ๊ฒ์ํ๋ค. ๋์ฐฐํํ์จยท์ ๊ฒฉ์ฌ์ฌ ๋ฐฐ์ ยท์ค๋ฌด ์ ์ฐจ ๋ฑ ๋ฒ๋ น ๋ณธ๋ฌธ ๋ฐ ์ง๋ฌธ์ ์ฌ์ฉํ๋ผ. AI ์์ฑ ์์ด ๊ฒ์ ๊ทผ๊ฑฐ ์๋ฌธ๋ง ๋ฐํํ๋ค(๋ฐฑ์๋ LLM ์์ฐ ๋ฏธ์ฐจ๊ฐ). **์ธ๋ฒ์ ์ด ๋๊ตฌ๊ฐ ๋ชป ๋ณธ๋ค(2026-08-29 ์ ์ง ๊ณต์).** ์ธ๋ฒ ์กฐ๋ฌธ์ ๋ณ๋ ์ฝํผ์ค (`tax_articles` 64๊ฐ ๋ฒ๋ น)์ ์๊ณ ์ฌ๊ธฐ ๋ถ์ด ์๋ ์ฑ๋(BM25ยทdoc2queryยทrerank)์ ๊ณต๊ณต๊ณ์ฝ ์ฝํผ์ค ๊ฒ์ด๋ค. ์๋์ธ๋ฒยท๋ฒ์ธ์ธ๋ฒยท๋ถ๊ฐ๊ฐ์น์ธ๋ฒ๋ฅ ์ง๋ฌธ์ **search_law** (์๋์ผ๋ก ์ธ๋ฒ ์ถ์ผ๋ก ๊ฐ๋ค) ๋๋ get_law_article๋ก ๊ฐ๋ผ โ ์ฌ๊ธฐ์ 0๊ฑด์ด ๋์จ ๊ฒ์ "์ธ๋ฒ์ ๊ทธ๋ฐ ๊ท์ ์ด ์๋ค"๋ก ์ฎ๊ธฐ์ง ๋ง๋ผ. ํํธ์ `matched_section`์ด ์์ผ๋ฉด ๊ทธ ์๋ฆฌ๋ฅผ ๋ง๋ ๊ฒ์ **๊ทธ ํญ**์ด๊ณ ์ค๋ ค์จ ๋ณธ๋ฌธ์ ์กฐ ์ ์ฒด๋ค โ ๊ทผ๊ฑฐ๋ฅผ ์ธ์ฉํ ๋ ๊ทธ ํญ์ ๋ฐํ๋ผ. ์ต์์ ํํธ์ `query_expanded`๊ฐ ์์ผ๋ฉด ์ฌ์ฉ์๊ฐ ํ์ดํํ ๋ง์ ์ฉ์ด์ง ๋ณ์นญ์ ๋ง๋ถ์ธ ์ง์๋ก ๊ฒ์ยท์ฌ์ ๋ ฌํ ๊ฒ์ด๋ค(์ค๋ฌด ์ดํ๋ฅผ ๋ฒ๋ น ์ดํ๋ก ์๋ ๋ค๋ฆฌ โ ์๋ฌธ์ ๋ณด์กด). **ํํธ๋ง๋ค `as_of`(๊ทธ ๋ฌธ์๊ฐ ์ธ์ ๊ธฐ์ค์ธ๊ฐ)๊ฐ ๋ถ๋๋ค.** ๋ฒ๋ นยท์๊ท๋ ์ฐ๋ฆฌ๊ฐ ๋ค๊ณ ์๋ ์ค๋ ์ท์ ์ํ์ผ์, ์ค๋ฌด๊ฐ์ด๋๋ ๋ฐ๊ฐ ์์ ์ด๋ค. ๋ชจ๋ฅด๋ ๋ฌธ์๋ `as_of_unknown: true`๋ก ์ค๊ณ ๊ทธ๊ฒ์ "ํํ"์ด๋ผ๋ ๋ป์ด ์๋๋ค. ์ ์ ๋ฐ๊ฐ๋ฌผ์ด ์๊ธฐ๋ณด๋ค **๋์ค์ ๊ฐ์ ๋ ๋ฒ๋ น**์ ์ธ์ฉํ๊ณ ์์ผ๋ฉด `superseded_risk`(์ด๋ ๋ฒ๋ น์ด ์ธ์ ๊ฐ์ ๋๋์ง)์ `vintage_warning`์ด ํจ๊ป ์ค๊ณ , ์๋ต ์ต์์ `vintage`๊ฐ ๊ทธ ์์ฝ์ด๋ค โ ๊ทธ๋๋ ๋ฐ์ท์ ๊ธ์กยท๊ธฐ์ค ์์น๋ฅผ ํํ์ผ๋ก ์ฎ๊ธฐ์ง ๋ง๊ณ get_law_article๋ก ํํ ์กฐ๋ฌธ์ ๋์กฐํ๋ผ(๊ณ์ฝ๋ฐฉ๋ฒ ํ์ ์ decide_contract_method๊ฐ ํํ ๋ฃฐ๋ก ๋ธ๋ค). **์๋ต์ `off_topic: true`๊ฐ ์์ผ๋ฉด ์ด ์ง์๋ ์ฐ๋ฆฌ ์ฝํผ์ค ์ฃผ์ ๋ฐ์ผ๋ก ์ธก์ ๋๋ค** (2026-09-03). ํํธ๊ฐ ๋จ์ ์์ด๋ ๊ทธ๊ฒ์ ๋ฑ๋ง์ด ๊ฒน์ณ ํ์๋ ๊ฒ์ผ ๋ฟ ๊ทผ๊ฑฐ๊ฐ ์๋ ์ ์๋ค โ `off_topic_distance`๊ฐ ์ต๊ทผ์ ์ฃผ์ ๊ฑฐ๋ฆฌ์ด๊ณ `note_off_topic`์ด ๋์ญ์ ๋งํ๋ค. **์ด๋ "๊ด๋ จ ๊ท์ ์ด ์๋ค"๊ณ ์ฎ๊ธฐ์ง ๋ง๋ผ**(์ฐ๋ฆฌ๊ฐ ์ ๋ด๊ณ ์์ ๋ฟ์ด๋ค). excerpt๋ฅผ ์ง์ ์ฝ์ด ์ค์ ๋ก ์ง๋ฌธ์ ๋ตํ๋์ง ํ์ธํ๊ณ , ๋ฒ์ ๋ฐ์ด๋ฉด ์ฌ์ฉ์์๊ฒ ๊ทธ ์ฌ์ค์ ๋ฐํ ๋ค ์ฌ์ฉ์์ ์๋ฌธ ์ง๋ฌธ์ report_issue(category='question_log')๋ก ๋จ๊ฒจ๋ผ. Args: query: ์์ฐ์ด ๊ฒ์์ด (์: "์ ๊ฒฉ์ฌ์ฌ ๋์ฐฐํํ์จ 50์ต ๋ฏธ๋ง") top_k: ๋ฐํ ๊ฑด์ (๊ธฐ๋ณธ 6, **ํ์ฉ 1~12**). ๋ฒ์ ๋ฐ ๊ฐ์ ์ค๋ฅ๊ฐ ์๋๋ผ ๊ฐ์ฅ ๊ฐ๊น์ด ํ์ฉ๊ฐ์ผ๋ก **๋ณด์ **๋๋ฉฐ(0ยท์์โ1, 12 ์ด๊ณผโ12) ๋ณด์ ์ฌ์ค์ ์๋ต์ `top_k_applied`์ ์์ฒญ๊ฐยท์ ์ฉ๊ฐยท์ด์ ๋ก ๊ณต์๋๋ค
Input Schema
{
"type": "object",
"properties": {
"query": {
"title": "Query",
"type": "string"
},
"top_k": {
"default": 6,
"title": "Top K",
"type": "integer"
}
},
"required": [
"query"
],
"title": "search_referencesArguments"
}๐ขsearch_cases(query, top_k, kind)
ํ๋กยท๋ฒ๋ นํด์๋ก ๊ฒ์ โ law.go.kr ์ค์๊ฐ ์กฐํ(ํญ์ ํํ). LLM ๋ฏธ์ฌ์ฉ. ๋ถ์ยท์ฒ๋ถ์ทจ์ยทํด์ ๋คํผ("~ํด๋ ๋๋", "~์ทจ์๋ ์ ์๋")์ ์กฐ๋ฌธ๋ง์ผ๋ก ๋ถ์กฑํ ๋ ์ฐ๋ผ. ๋ณธ๋ฌธ์ get_case(kind, case_id)๋ก ์ด์ด์ ์กฐํ. **์๋ต์ ๋ฌด์์ผ๋ก ๋ช ๊ฑด์ ๋ดค๋์ง๊น์ง ๋งํ๋ค**(2026-08-29). `search_scope`๊ฐ "title"์ด๋ฉด ์ฌ๊ฑด๋ช ยท์๊ฑด๋ช ๋ง, "body"๋ฉด ๋ณธ๋ฌธ๊น์ง ๋ณธ ๊ฒ์ด๋ค. `searched`์ ์๋ํ ์ง์ยท๋ฒ์ยทlaw.go.kr ์ด๊ณ(`total_cnt`)๊ฐ ์๋ ์์๋๋ก ์ค๋ฆฌ๊ณ , ๋ํ์ ๋ค์ ์ฐพ์์ผ๋ฉด `retried`๊ฐ true๋ค. **0๊ฑด์ "๊ทธ๋ฐ ํ๋ก๊ฐ ์๋ค"๊ฐ ์๋๋ผ "์ด ๋ฒ์์์ ๋ชป ์ฐพ์๋ค"์ด๋ค** โ ์ฌ์ฉ์์๊ฒ ์ฎ๊ธธ ๋ `searched`๊ฐ ๋ฐํ ๋ฒ์๋ฅผ ํจ๊ป ๋งํ๊ณ "ํ๋ก๊ฐ ์๋ค"๊ณ ๋จ์ ํ์ง ๋ง๋ผ. **์๋ต์ `axis`๊ฐ ์์ผ๋ฉด ์ถยท์์ฅ์ ๊ฒฝ๊ณ๊ฐ ๊ฑธ๋ฆฐ ๊ฒ์ด๋ค**(2026-09-02). ์ธ๋ฒ ์ถ ์ง์์ธ๋ฐ ์ฌ๊ฑด๋ช ยท์๊ฑด๋ช ๊ทธ๋๋ก๋ ๋ชป ์ฐพ์ **๋ํ ์ฐพ์** ์ข ๋ฅ๊ฐ ์์ ๋๋ง ์ค๋ฆฌ๊ณ , `axis.gated_kinds`๊ฐ ๊ทธ ์ข ๋ฅ๋ฅผ ๋งํ๋ค. `axis.out_of_axis`๋ ๋ํ๋ค **๋ค๋ฅธ ์ถ์ ์ฌ๊ฑด์ด ์์ฌ ์ฐ๋ฆฌ๊ฐ ๋บ ๊ฒ**์ด๋ค โ ์ธ๋ฒ ๊ทผ๊ฑฐ๋ก ์ธ์ฉํ์ง ๋ง๋ผ(ํ๋ก๋ ํ์ ๊ทผ๊ฑฐ์ธ `case_type`ยท`data_source`๊ฐ ํญ๋ชฉ๋ง๋ค ๋ถ๋๋ค). **๋ ์ข ๋ฅ์ ๊ฒฝ๊ณ๊ฐ ์๋ก ๋ฐ๋๋ผ๋ ๊ฒ์ ํผ๋ํ์ง ๋ง๋ผ.** ยท `axis.yegyu_in_corpus: false` โ ์ธ๋ฌด ์ค๋ฌด๊ฐ ๋งํ๋ '์๊ท'(๊ตญ์ธ์ฒญ ์๋ฉด์ง์ ํ์ , txsi)๋ฅผ ์ด ์๋ฒ๊ฐ **์์ ๋ด์ง ์๋๋ค**(๋ฒ์ ์ฒ expc์ ์์ฅ์ด ๋ค๋ฅด๋ค). "์๊ท๊ฐ ์๋ค"๊ณ ์ฎ๊ธฐ์ง ๋ง๊ณ ๊ตญ์ธ๋ฒ๋ น์ ๋ณด์์คํ ์ผ๋ก ์๋ดํ๋ผ. ยท `axis.prec_in_corpus: true` โ **ํ๋ก๋ ๋ด๊ณ ์๋ค**. ์ฌ๊ธฐ์ ๋บ ๊ฒ์ ์์ฅ์ด ๋น์ด์๊ฐ ์๋๋ผ ์ฌ๋ค๋ฆฌ๊ฐ ๋ํ๋ค ๋ฏผ์ฌยทํ์ฌ ์ฌ๊ฑด์ ๋์ด์จ ๊ฒ๋ฟ์ด๋, "์ธ๋ฒ ํ๋ก๊ฐ ์๋ค"๋ก ์ฎ๊ธฐ๋ฉด ํ๋ฆฐ ๋ง์ด๋ค. ๋จ์ ํ๋ก๊ฐ 0๊ฑด์ด๋ฉด '์ด ์ฌ๋ค๋ฆฌ๋ก๋ ๋ชป ์ฐพ์๋ค'๋ก ์ ํ๋ผ. **์๋ต์ `off_topic_warning`์ด ์์ผ๋ฉด ๋ฑ๋ง๋ง ๊ฐ๊ณ ์์ ์ด ๋ค๋ฅผ ์ ์๋ค**(2026-09-10). **์ธ๋ฒ ์ง์๋ก ํ์ ๋์ง ์์๋๋ฐ**(`axis_verdict.axis`: `contract`=๊ณต๊ณต๊ณ์ฝ ์ถ์ด ๋ ๊ฐ๊น๋ค ยท `not_tax`=์ธ๋ฒ ์ถ ๋ฌธํฑ ๋ฐ์ผ ๋ฟ ๊ณต๊ณต๊ณ์ฝ๊ณผ ๊ฒฌ์ฃผ์ง๋ ์์๋ค) ๋ฐ์ ํ์๋ถ์ด **์ ๋ถ ์ธ๋ฒ ์์ฅ ์์ฐ**(๊ตญ์ธยท์ง๋ฐฉ์ธ๋ฒ๋ น์ ๋ณด์์คํ , ์ฌ๊ฑด์ข ๋ฅ '์ธ๋ฌด')์ผ ๋ ๋ถ๋๋ค โ ์: '์ ์ฐฐ'์ ๊ณต๊ณต๊ณ์ฝ์์ ์ ์ฐฐ ๋ถ์ฑ๋ฆฝ์ด์ง๋ง ์ธ๋ฒ์์๋ ๊ณต๋งค ์ ์ฐจ๋ค. **๋นผ์ง ์๊ณ ๋จ๊ธด ๊ฒ**์ด๋(๋นผ๋ฉด 0๊ฑด์ด ๋์ด 'ํ๋ก๊ฐ ์๋ค'๋ ๊ฑฐ์ง์ด ๋๋ค) ๊ณต๊ณต๊ณ์ฝ ๊ทผ๊ฑฐ๋ก ์ธ์ฉํ๊ธฐ ์ ์ get_case๋ก ๋ณธ๋ฌธยท์ฐธ์กฐ์กฐ๋ฌธ์ ์ฝ์ด ์์ ์ด ๊ฐ์์ง ํ์ธํ๊ณ , ๋ค๋ฅด๋ฉด ์ฌ์ฉ์์๊ฒ "๊ณต๊ณต๊ณ์ฝ ํ๋ก๋ ์ด ๋ฒ์์์ ๋ชป ์ฐพ์๋ค"๊ณ ๋ฐํ๋ผ. `evidence`๊ฐ ํ์ ๊ทผ๊ฑฐ๋ค. **๋ณธ ๊ฒ๋งํผ๋ง ๋งํ๋ค**(2026-09-11): '์ ๋ถ ์ธ๋ฒ'์ ๋ฐ์ `judged_on`๊ฑด์ ํ์ ์ด๋ค โ `unseen_cnt`>0(`truncated: true`)์ด๋ฉด law.go.kr ์ด `ledger_total`๊ฑด ์ค ๋๋จธ์ง๋ ์ ๋ดค์ผ๋ "์์ฅ์ ๊ทธ๊ฒ๋ฟ"์ด๋ "์ด ์ง์์ ํ๋ก๋ ์ ๋ถ ์ธ๋ฒ"์ด๋ผ ์ฎ๊ธฐ์ง ๋ง๋ผ(`unseen_cnt: 0`์ผ ๋๋ง ์ด ๋ฒ์์์ ๋ณธ ๊ฒ์ด ์ ๋ถ๋ค, null์ด๋ฉด ์ด๊ณ๋ฅผ ๋ชจ๋ฅธ๋ค). **์ถ์ ๋ชป ์์ผ๋ฉด**(์๋ฒ ๋ฉ ์ฅ์ ๋ฑ) ๊ฒฝ๊ณ ๋์ `axis_unjudged`๊ฐ ๊ฐ์ ๋ชจ์์ผ๋ก ๋ถ๋๋ค โ ์ฃผ์ ์ดํ๋ ์ธ๋ฒ ์ ๋ต๋ ๋จ์ ํ์ง ์์ ๊ฒ์ด๋, ์ฌ์ฉ์ ์ง๋ฌธ์ ์์ ์ด ์ด๋ ์ชฝ์ธ์ง ๋ค๊ฐ ํ๋จํด ์ธ์ฉ ์ฌ๋ถ๋ฅผ ์ ํ๋ผ. Args: query: ํต์ฌ ๋ช ์ฌ ์์ฃผ ๊ฒ์์ด (์: "๋ถ์ ๋น์ ์ ์ ํ", "์ ์ฐฐ ์์๊ณ์ฝ"). **2์ ์ด์ 100์ ์ดํ**(๊ณต๋ฐฑ ์ ์ธ 2์ ๋ฏธ๋ง์ด๋ฉด `query_too_short` ์ค๋ฅ โ ํ ๊ธ์ ์ง์๋ ๋ฐ์ง ์๋๋ค. ๋์น๋ฉด `query_too_long`). ์์ฐ์ด ํ ๋ฌธ์ฅ๋ ๋ฐ๋๋ค โ ์ฌ๊ฑด๋ช ์ผ๋ก 0๊ฑด์ด๋ฉด ํต์ฌ์ดยท๋ณธ๋ฌธ ๋ฒ์๋ก ์๋ ์ฌ์๋ํ๋ค(์ต๋ 2ํ). top_k: ์ข ๋ฅ๋น ๋ฐํ ๊ฑด์ (๊ธฐ๋ณธ 5, **ํ์ฉ 1~10**). ๋ฒ์ ๋ฐ ๊ฐ์ ์ค๋ฅ๊ฐ ์๋๋ผ **๊ฐ์ฅ ๊ฐ๊น์ด ํ์ฉ๊ฐ์ผ๋ก ๋ณด์ **๋๋ค(0ยท์์โ1, 10 ์ด๊ณผโ10). ๋ณด์ ํ์ผ๋ฉด ์๋ต์ `top_k_applied`์ ์์ฒญ๊ฐยท์ ์ฉ๊ฐยท์ด์ ๋ฅผ ์ค์ด ๊ณต์ํ๋ฏ๋ก, ๊ฑด์๊ฐ ์์ฒญ๊ณผ ๋ค๋ฅด๋ฉด ๊ทธ ํ๋๋ฅผ ์ฝ์ด๋ผ. kind: "prec"(๋ฒ์ ํ๋ก) | "expc"(๋ฒ์ ์ฒ ๋ฒ๋ นํด์๋ก) | "all"(๋ ๋ค, ๊ธฐ๋ณธ)
Input Schema
{
"type": "object",
"properties": {
"query": {
"title": "Query",
"type": "string"
},
"top_k": {
"default": 5,
"title": "Top K",
"type": "integer"
},
"kind": {
"default": "all",
"enum": [
"prec",
"expc",
"all"
],
"title": "Kind",
"type": "string"
}
},
"required": [
"query"
],
"title": "search_casesArguments"
}๐ขget_case(kind, case_id)
ํ๋ก/ํด์๋ก ๋ณธ๋ฌธ ์กฐํ โ ํ์์ฌํญยทํ๊ฒฐ์์งยท์ฐธ์กฐ์กฐ๋ฌธ(ํ๋ก) ๋๋ ์ง์์์งยทํ๋ตยท์ด์ (ํด์๋ก). ์๋ต์ `source_url`์ ๊ตญ๊ฐ๋ฒ๋ น์ ๋ณด์ผํฐ ์๋ฌธ ์ฃผ์๋ค โ ํ๋กยทํด์๋ก๋ฅผ ์ธ์ฉํ ๋๋ **์ด ๋งํฌ๋ฅผ ํจ๊ป ์ ์ํ๋ผ**(๊ฐ์ฌยท๋ณด๊ณ ์์์ ๊ทผ๊ฑฐ๋ฅผ ๋์ง์ ์ ์์ด์ผ ํ๋ค). **`error:"case_body_unavailable"`์ด๋ฉด `source_url`์ null์ด๊ณ `existence_verified`๋ false๋ค**(2026-09-04). ์ด๊ฑด "๋ณธ๋ฌธ๋ง ์๋ค"๊ฐ ์๋๋ค โ ์ฐ๋ฆฌ๋ โ ๋ณธ๋ฌธ ๋ฏธ์ ๊ณต(ํ๊ธ์ฌยท ๊ตญ์ธ์ฒญ ๋ฑ ํ๊ธฐ๊ด ์ ๊ณต)๊ณผ โก๊ทธ๋ฐ ์ผ๋ จ๋ฒํธ๊ฐ ์์์ **๊ตฌ๋ถํ์ง ๋ชปํ๋ค**(๋ณธ๋ฌธ API ์๋ต์ด ๊ฐ๋ค). ๊ทธ๋ฌ๋ **๋งํฌ๋ฅผ ๋ง๋ค์ด ์ฑ์ฐ์ง ๋ง๋ผ**: law.go.kr ๋ทฐ์ด๋ ์๋ ๋ฒํธ์๋ 200๊ณผ ๋น ํ์ด์ง๋ฅผ ์ฃผ๋ฏ๋ก ์ด๋ฆฐ๋ค๋ ๊ฒ์ด ์กด์ฌ์ ์ฆ๊ฑฐ๊ฐ ์๋๋ค. ์ด case_id๊ฐ search_cases ๊ฒฐ๊ณผ์์ ์จ ๊ฒ์ด๋ฉด ๊ทธ ๊ฒฐ๊ณผ์ ์ฌ๊ฑด๋ช ยท์ฌ๊ฑด๋ฒํธยทsource_url๋ง ์ธ์ฉํ๊ณ , ์๋๋ฉด ์๋ฌด๊ฒ๋ ์ธ์ฉํ์ง ๋ง๊ณ search_cases๋ก ๋ค์ ์ฐพ์๋ผ. Args: kind: "prec" | "expc" (search_cases ๊ฒฐ๊ณผ์ kind) case_id: search_cases ๊ฒฐ๊ณผ์ case_id
Input Schema
{
"type": "object",
"properties": {
"kind": {
"enum": [
"prec",
"expc"
],
"title": "Kind",
"type": "string"
},
"case_id": {
"title": "Case Id",
"type": "string"
}
},
"required": [
"kind",
"case_id"
],
"title": "get_caseArguments"
}๐ขget_law_article(ref)
๋ฒ๋ น ์กฐ๋ฌธ ์๋ฌธ ์ ์ฒด ์กฐํ. **์ฝํผ์ค๊ฐ ๋์ด๋ค(2026-08-29)** โ ๊ณต๊ณต๊ณ์ฝ(๊ตญ๊ฐยท์ง๋ฐฉ๊ณ์ฝ๋ฒ ๊ณ์ด)๊ณผ ์ธ๋ฒ(์๋์ธ๋ฒยท ๋ฒ์ธ์ธ๋ฒยท๋ถ๊ฐ๊ฐ์น์ธ๋ฒยท์กฐ์ธํน๋ก์ ํ๋ฒยท์ง๋ฐฉ์ธ๋ฒ ๋ฑ). ์ถ์ ๋ฒ๋ น๋ช ์ผ๋ก ์๋์ผ๋ก ์ ํด์ง๋ ๋ถ๋ฅด๋ ์ชฝ์ ์ ๊ฒฝ ์ธ ๊ฒ์ด ์๋ค("์๋์ธ๋ฒ ์ 55์กฐ"๋ "๊ตญ๊ฐ๊ณ์ฝ๋ฒ ์ํ๋ น ์ 26์กฐ"์ ๋๊ฐ์ด ๋ฃ์ผ๋ฉด ๋๋ค). ๋ค๋ง **๋ตํ ๋๋ ์ด๋ ๋ฒ์ ์กฐ๋ฌธ์ธ์ง ๋ฐํ๋ผ** โ ์ธ๋ฒ ์กฐ๋ฌธ์ ๊ณต๊ณต๊ณ์ฝ ๊ทผ๊ฑฐ๋ก ์ธ์ฉํ๋ ๊ฒ์ ์ฐ๋ฆฌ๊ฐ ๋ง์ ์ ์๋ค. ์๋ต์ `notes`๊ฐ ๋น์ด ์์ง ์์ผ๋ฉด **๋ฒ๋ฅ ์์ฒด์ ๋ฏธ์ ๋น ์ํธ์ธ์ฉ**์ด ํ์ง๋ ๊ฒ์ด๋ค(์: ์ 5ํญ์ด '์ 2ํญ ๊ฐ ํธ'๋ฅผ ์ธ์ฉํ๋ ์ 2ํญ์ ๊ฐ ํธ๊ฐ ์์). ์๋ฌธ์ law.go.kr ํํ ๊ทธ๋๋ก์ด๋ฉฐ ์ฐ๋ฆฌ๊ฐ ๊ณ ์น์ง ์๋๋ค โ ๊ทธ ์กฐ๋ฌธ์ ๊ทผ๊ฑฐ๋ก ๋ตํ ๋๋ notes์ ๋ด์ฉ์ ์ฌ์ฉ์์๊ฒ ํจ๊ป ์๋ฆฌ๊ณ ๋จ์ ์ ํผํ๋ผ. ์๋ต์ `assumption`์ด ์์ผ๋ฉด **๋ฒ๋ น๋ช ์ ์ฐ๋ฆฌ๊ฐ ์ถ์ ํด ์ฑ์ด ๊ฒ**์ด๋ค(์: "์ํ๋ น ์ 26์กฐ" โ ๊ตญ๊ฐ๊ณ์ฝ๋ฒ ์ํ๋ น). ์ง๋ฐฉ๊ณ์ฝ ์ง๋ฌธ์ด์๋ค๋ฉด ํ๋ฆฐ ๋ฒ์ ๋ณด๊ณ ์๋ ๊ฒ์ด๋ assumption.hint๋๋ก ๋ฒ๋ น๋ช ์ ๋ถ์ฌ ๋ค์ ๋ถ๋ฅด๊ณ , ์ด๋ ๋ฒ๋ น ๊ธฐ์ค์ธ์ง ์ฌ์ฉ์์๊ฒ ๋ฐํ๋ผ. **`implementing_note`(๋ฐ `implementing_articles`)๊ฐ ์์ผ๋ฉด ์ด ์กฐ๋ฌธ์ ์์์ ๋ฐ์ ํ์ ์กฐ๋ฌธ์ด ์ด ์๋ฒ ์์ ์๋ค.** ์กฐ๋ฌธ ๋ณธ๋ฌธ์ ์ฌ์ ยท์๊ฑดยท์์น๊ฐ ์ ๋ณด์ด๋ ๊ฒ์ ์์ด์๊ฐ ์๋๋ผ ์๋๋ก ๋๊ฒผ๊ธฐ ๋๋ฌธ์ด๋ค โ ๊ฑฐ๊ธฐ ์ ํ ref๋ฅผ ๊ทธ๋๋ก get_law_article์ ๋ฃ์ด ์ฝ๊ณ ๋ตํ๋ผ(์ถ๊ฐ ๊ฒ์ ๋ถํ์). ํ์ ์กฐ๋ฌธ์ `cites`๋ ๊ทธ ์กฐ๋ฌธ์ด ์ค์ค๋ก ๋ฐํ ๊ทผ๊ฑฐ ์ธ์ฉ์ด๋ค. **`delegation_note`๊ฐ ์์ผ๋ฉด ์ด ์กฐ๋ฌธ์ ๊ฐ์ ์ง์ ์ ํ์ง ์๋๋ค.** ๋ฐฐ์ ยท์์จยท๊ธ์ก ๊ฐ์ ์์น๊ฐ ์กฐ๋ฌธ์ ์ ๋ณด์ด๋ ๊ฒ์ ์์ด์๊ฐ ์๋๋ผ ํ์ ๊ท๋ฒ(์ํ๋ นยท์ํ๊ท์นยท์๊ทยท ๊ณ ์)์ ๋๊ฒจ์ก๊ธฐ ๋๋ฌธ์ด๋ค โ `delegations[]`์ `how`๊ฐ ์ํค๋ ๋๋ก ๊ทธ ๊ท๋ฒ์ ๋จผ์ ์ฝ๊ณ ๋ตํ๋ผ. `in_corpus`๊ฐ false๋ฉด ์ด ์๋ฒ ๋ฒ์ ๋ฐ์ด๋ **"๊ท์ ์ด ์๋ค"๊ณ ๋งํ์ง ๋ง๊ณ ** law.go.kr๋ก ์๋ดํ๋ผ. ์กฐ๋ฌธ๋ง ์ฝ๊ณ ์์น๋ฅผ ๋จ์ ํ๋ ๊ฒ์ด ์ด ํ๋๊ฐ ๋ง์ผ๋ ค๋ ์คํจ๋ค. **๋ณํ(ํ)๋ ๊ฐ์ ๋๊ตฌ๋ก ์ฝ๋๋ค**(2026-08-23). search_law๊ฐ ๋ณํ ํํธ๋ก ์ค law_ref ("๊ฑด์ค๊ธฐ์ ์งํฅ๋ฒ ์ํ๋ น [๋ณํ 8]")๋ฅผ ๊ทธ๋๋ก ๋ฃ์ผ๋ฉด ํ ์ ๋ฌธ์ด ์จ๋ค โ ์ด๋ ์๋ต์ `kind`๊ฐ "table"์ด๊ณ , `related_article`์ด ์์ผ๋ฉด ๊ทธ ํ์ ๊ทผ๊ฑฐ ์กฐ๋ฌธ์ด๋ค(ํ๋ง ์ธ์ฉํ๊ณ ๊ทผ๊ฑฐ ์กฐ๋ฌธ์ ๋นผ๋ฉด ์ฝ๋ ์ชฝ์ด ๋ฒ์ ๊ทผ๊ฑฐ๋ฅผ ๋์ง์ ์ ์๋ค). **๊ณ์ฝ์๊ทยท์ธ๋ถ๊ธฐ์ค์ ์กฐ๋ฌธ๋ ๊ฐ์ ๋๊ตฌ๋ก ์ฝ๋๋ค**(2026-09-04). search_references๊ฐ ์ค `source`+`section`์ ์ด์ด ๋ถ์ฌ ๋ฃ์ผ๋ฉด ๋๋ค("(๊ณ์ฝ์๊ท) ์ฉ์ญ๊ณ์ฝ์ผ๋ฐ์กฐ๊ฑด ์ 18์กฐ"). ์ด๋ ์๋ต์ `kind`๋ "admin_rule"์ด๋ค โ **๋ฒ๋ฅ ยท์ํ๋ น์ด ์๋๋ผ ํ์ ๊ท์น(์๊ท)**์ด๋ ์ธ์ฉํ ๋ ๊ทธ ์ ๋ถ์ ๋ฐํ๋ผ. ๋ฒ๋ น๋ช ยท์ ์๋ช ์ด๋ ์ชฝ์ผ๋ก ๋ถ๋ฌ๋ ๊ฐ์ ์กฐ๋ฌธ์ด ์จ๋ค ("๊ตญ๊ฐ๋ฅผ ๋น์ฌ์๋ก ํ๋ ๊ณ์ฝ์ ๊ดํ ๋ฒ๋ฅ ์ํ๋ น ์ 26์กฐ" = "๊ตญ๊ฐ๊ณ์ฝ๋ฒ ์ํ๋ น ์ 26์กฐ"). 404(`article_not_found`)์์ `law_in_corpus`๊ฐ true๋ฉด **๊ทธ ๊ท๋ฒ์ ์ฐ๋ฆฌ๊ฐ ๊ฐ๊ณ ์๊ณ ๊ทธ ์กฐ๋ฌธ๋ฒํธ๋ง ์๋ค**๋ ๋ป์ด๋ค โ ๊ท๋ฒ ์์ฒด๊ฐ ์๋ค๊ณ ๋งํ์ง ๋ง๋ผ. false๋ฉด ๋ฒ์ ๋ฐ์ด๋ฉฐ, `corpus_laws`(๋ฒ๋ น)์ `corpus_admin_rules`(์๊ทยท์ธ๋ถ๊ธฐ์ค)๊ฐ ์ฐ๋ฆฌ ๋ฒ์ ์ ๋ถ๋ค. **`law_currency`๋ ์ด ๊ท๋ฒ์ ํํ ์ฌ๋ถ๋ฅผ ์ธ์ ๋ง์ง๋ง์ผ๋ก ํ์ธํ๋์ง๋ค(2026-09-23).** `status`๊ฐ "verified"๊ฐ ์๋๋ฉด `note_currency`๊ฐ ํจ๊ป ์จ๋ค โ "unverified"(๋์กฐ ์คํจยท ์ค๋๋จ: ๋ชจ๋ฅธ๋ค)ยท"stale"(ํํ๋ณด๋ค ๋ก์ ๊ตฌํ์์ ์๋ค)ยท"unmonitored"(๊ฐ์ ๋์ ๋ฐ). ๊ทธ๋ ์ด ์กฐ๋ฌธ์ ํํ์ผ๋ก ๋จ์ ํด ์ธ์ฉํ์ง ๋ง๊ณ ๊ทธ ์ฌ์ค๊ณผ `last_verified_at`์ ๋ฐํ๋ผ. Args: ref: ์ ํํ ์กฐ๋ฌธ ์ฐธ์กฐ (์: "๊ตญ๊ฐ๊ณ์ฝ๋ฒ ์ํ๋ น ์ 26์กฐ") ๋๋ ๋ณํ ์ฐธ์กฐ (์: "๊ตญ๊ฐ๊ณ์ฝ๋ฒ ์ํ๊ท์น [๋ณํ 2]") ๋๋ ์๊ท ์กฐ๋ฌธ ์ฐธ์กฐ (์: "(๊ณ์ฝ์๊ท) ์ฉ์ญ๊ณ์ฝ์ผ๋ฐ์กฐ๊ฑด ์ 18์กฐ")
Input Schema
{
"type": "object",
"properties": {
"ref": {
"title": "Ref",
"type": "string"
}
},
"required": [
"ref"
],
"title": "get_law_articleArguments"
}๐ขget_law_article_asof(ref, date)
**ํน์ ์์ ์ ์ํ ์ค์ด๋** ์กฐ๋ฌธ ์๋ฌธ ์กฐํ (law.go.kr ์ฐํ ๋ผ์ด๋ธ). get_law_article์ ํญ์ ํํ์ด๋ค. ๊ณผ๊ฑฐ ์ฌ๊ฑด์ ํํ ์กฐ๋ฌธ์ ์ ์ฉํ๋ฉด ์กฐ์ฉํ ํ๋ฆฐ ๋ต์ด ๋๋ค โ ๊ณ์ฝ ์ฒด๊ฒฐยท์ ์ฐฐ๊ณต๊ณ ยท์ฒ๋ถ ์์ ์ด ๊ณผ๊ฑฐ์ด๋ฉด **๋ฐ๋์ ์ด ๋๊ตฌ๋ฅผ ์ฐ๋ผ**: - "2023๋ ์ ์ฒด๊ฒฐํ ๊ณ์ฝ์ธ๋ฐ ์ง์ฒด์๊ธ๋ฅ ์ด ๋ง๋" - "์ฌ์๋ ๋ถ์ ๋น์ ์ ์ ์ฌ๊ฐ ๋น์ ๊ธฐ์ค์ผ๋ก ์ ๋ฒํ๋" - ๊ฐ์ฌยท๋ถ์ยท์์ก ๋์(์ ์ฉ๋ฒ๋ น์ ํ์์๋ฒ์ด ์์น) ์๋ต ํ๋: effective_date ๊ทธ ์์ ์ ์ํ ์ค์ด๋ ํ์ ์ํ์ผ์ is_current ๊ทธ ํ์ด ์ง๊ธ๋ ํํ์ธ๊ฐ (False๋ฉด ์ดํ ๊ฐ์ ๋จ) prev/next_effective_date ์ง์ ยท์งํ ๊ฐ์ ์ํ์ผ โ ๊ฒฝ๊ณ ํ๋จ์ฉ notes ๋ฏธ์ ๋น ์ํธ์ธ์ฉ ๊ฒฝ๊ณ (get_law_article๊ณผ ๋์ผ) as_of_in_future ๊ธฐ์ค์ผ์ด ๋ฏธ๋์ฌ์ ๊ทธ ์์ ์ ํ์ ํ ์ ์์ (True๋ฉด ์๋ note๋ฅผ ์ฝ์ด๋ผ) as_of_note ๊ทธ ๊ฒฝ์ฐ ๋ฌด์์ ๋์ ๋๋ ค์คฌ๋์ง โ ๋ฏธ๋ ์์ ์ ์ฉ๋ฒ๋ น์ ๋จ์ ํ์ง ๋ง๋ผ covered ์ฐ๋ฆฌ ์ฐํ ๋ชฉ๋ก์ด ๊ทธ ์์ ์ ์ค์ ๋ก ๋ฎ์๋๊ฐ (False๋ฉด coverage_note๋ฅผ ์ฝ์ด๋ผ) coverage_start/coverage_end ์ฐ๋ฆฌ๊ฐ ๋ณธ ์ฐํ์ ์ํ์ผ ๋ฒ์ versions_complete ์ฐํ ๋ชฉ๋ก์ ๋๊น์ง ์ฝ์๋๊ฐ (False๋ฉด ๊ทธ ์๋์ ๋ชป ๋ณธ ํ์ด ์๋ค) **๋ฎ์ง ๋ชปํ๋ ๊ธฐ์ค์ผ์๋ ๊ทผ์ฌํ์ ์ฃผ์ง ์๋๋ค.** ๊ธฐ์ค์ผ์ด ๊ทธ ๋ฒ๋ น์ ์ต์ด ์ํ์ผ๋ณด๋ค ์์๋ฉด `error: "asof_not_covered"` + `covered: false` + coverage_start/end๊ฐ ์จ๋ค โ ๊ทธ๋์ ์ ์ฉ๋ฒ๋ น์ ์ง์ด๋ด์ง ๋ง๊ณ , ์ฐ๋ฆฌ ์ฐํ์ด ์ด๋์๋ถํฐ์ธ์ง๋ฅผ ์ฌ์ฉ์์๊ฒ ๊ทธ๋๋ก ์ ํ๋ผ. **๋ฏธ๋ ๋ ์ง๋ ๋ตํ ์ ์๋ ์ง๋ฌธ์ด๋ค.** ์์ง ๊ณตํฌ๋์ง ์์ ๊ฐ์ ์ ์ด ์ฐํ์ ์์ผ๋ฏ๋ก ๊ทธ ์์ ์ ๋ฌด์์ด ์ํ ์ค์ผ์ง ์ฐ๋ฆฌ๋ ๋ชจ๋ฅธ๋ค. date๊ฐ ๋ฏธ๋๋ฉด ์ค๋ ๊ธฐ์ค ํ์ ์ฃผ๋ฉด์ `as_of_in_future=true`๋ก ๊ทธ ์ฌ์ค์ ๋ฐํ๋ค โ ๊ทธ ์๋ต์ ๊ทธ ์์ ์ ์ ์ฉ๋ฒ๋ น์ผ๋ก ์ฐ์ง ๋ง๋ผ. Args: ref: ์กฐ๋ฌธ ์ฐธ์กฐ (์: "๊ตญ๊ฐ๊ณ์ฝ๋ฒ ์ 27์กฐ", "๊ตญ๊ฐ๊ณ์ฝ๋ฒ ์ํ๋ น ์ 26์กฐ") date: ๊ธฐ์ค์ผ "YYYY-MM-DD" ๋๋ "YYYYMMDD" (์: ๊ณ์ฝ ์ฒด๊ฒฐ์ผ)
Input Schema
{
"type": "object",
"properties": {
"ref": {
"title": "Ref",
"type": "string"
},
"date": {
"title": "Date",
"type": "string"
}
},
"required": [
"ref",
"date"
],
"title": "get_law_article_asofArguments"
}๐ขestimate_delay_penalty(contract_kind, org_type, contract_amount, delay_days, excluded_days, ...)
์ง์ฒด์๊ธ(๊ตญ๊ฐยท๊ณต๊ธฐ์ )ยท์ง์ฐ๋ฐฐ์๊ธ(์ง๋ฐฉ) ์ฐ์ โ ๋ฒ์ ์์จยท๊ธฐ์ค๊ธ์กยท30% ํ๋๋ฅผ ๊ฒฐ์ ๋ก ์ ์ฉ. **๊ตญ๊ฐ์ ์ง๋ฐฉ์ ์์จ์ด ๋ค๋ฅด๋ค**(๋ฌผํ 0.75/1000 โ 0.8/1000, ์ฉ์ญ 1.25/1000 โ 1.3/1000) โ org_type์ ๋ฐ๋์ ์ฌ์ฉ์์๊ฒ ํ์ธํด์ ๋ฃ์ด๋ผ. ๋ฒ์ ์ฉ์ด๋ ๋ค๋ฅด๋ค(๊ตญ๊ฐ=์ง์ฒด์๊ธ, ์ง๋ฐฉ=์ง์ฐ๋ฐฐ์๊ธ). **์ด ๋๊ตฌ๋ ์ง์ฒด์ผ์๋ฅผ ์ ํ์ง ์๋๋ค.** ์ค๊ณต๊ฒ์ฌ ์์๊ธฐ๊ฐยท๊ฒ์ฌ ๋ถํฉ๊ฒฉ ์ฌ๊ฒ์ฌ ๊ธฐ๊ฐยท ๋ฐ์ฃผ๊ธฐ๊ด ๊ท์ฑ ์ผ์ ๊ฐ์ ๊ฒ์ ์ฌ์ค ํ๋จ์ด๋ค โ delay_days/excluded_days๋ ์ฌ์ฉ์๊ฐ ์ ์ธํ ๊ฐ์ผ๋ก ๊ณ์ฐ์ ๊ทธ๋๋ก ์ฐ์ด๊ณ , ์๋ต์ counted_days.disclaimer๊ฐ ์ด ์ฌ์ค์ ๋ฐํ๋ค. ๋ฉด์ฑ ์ฌ์ ํด๋น ์ฌ๋ถ๊ฐ ์์ ์ด๋ฉด search_references๋ก ์๊ทยท๊ฐ์ฌ์ ์ค๋ฌด๊ฐ์ด๋๋ฅผ ์ฐพ์๋ผ. ์๋ต ํ๋: term/counterpart_term ๊ธฐ๊ด์ ํ์ ๋ฐ๋ฅธ ๋ฒ์ ์ฉ์ด(+๋ฐ๋ํธ ์ฉ์ด) rate ์ ์ฉ ์์จยท๊ทผ๊ฑฐ ์กฐ๋ฌธ(ํธ๊น์ง). inferred=true๋ฉด ๋ฒ๋ฌธ์ด ์๋๋ผ ์ฐ๋ฆฌ ํด์ base_amount ๊ณ์ฝ๊ธ์ก โ ์ธ์๋ถ ์ฐ์ถ ๋ด์ญ counted_days ์ ์ธ ์ง์ฒด์ผ์ โ ์ ์ธ ๋ฉด์ฑ ์ผ์ amount_raw / cap / amount ํ๋ ์ ์ฉ ์ ๊ธ์ก / 30% ํ๋ / ์ต์ข (ํ๋ ์ ์ฉ ํ) warnings ๋ฏธ์ ์ธ ํญ๋ชฉยทํ๋ ์ ์ฉยท์ฉ์ด ๋น๋์นญ ๋ฑ ์คํ legal_basis ๊ทผ๊ฑฐ ์กฐ๋ฌธ โ get_law_article๋ก ์๋ฌธ ํ์ธ ๊ฐ๋ฅ Args: contract_kind: ์์จ ํธ์ 1:1. "construction"(๊ณต์ฌ) | "product_manufacture"(๋ฌผํ ์ ์กฐยท๊ตฌ๋งค) | "product_repair"(๋ฌผํ ์๋ฆฌยท๊ฐ๊ณตยท๋์ฌ) | "service"(์ฉ์ญยท๊ธฐํ) | "military_food"(๊ตฐ์ฉ ์ยท์๋ฃํ) | "transport_storage"(์ด์กยท๋ณด๊ดยท์๊ณก๊ฐ๊ณต) org_type: "national"(๊ตญ๊ฐ๊ธฐ๊ด) | "local"(์ง์์ฒด) | "public_corp"(๊ณต๊ธฐ์ ยท์ค์ ๋ถ). **์ถ์ธก ๊ธ์ง** โ ์์จ์ด ๋ฌ๋ผ ํ๋ฆฐ ๊ธ์ก์ด ๋๋ค contract_amount: ๊ณ์ฝ๊ธ์ก(์). **์ฅ๊ธฐ๊ณ์๊ณ์ฝ์ด๋ฉด ์ด์ก์ด ์๋๋ผ ์ฐ์ฐจ๋ณ ๊ณ์ฝ๊ธ์ก** delay_days: ์ง์ฒด์ผ์(์ด ์ง์ฒด์ผ์ โ ๋ฉด์ฑ ์ผ์๋ฅผ ํฌํจํด์ ๋ฃ๊ณ , ๋ฉด์ฑ ๋ถ์ ์๋์ ๋ฐ๋ก) excluded_days: ๊ณ์ฝ์๋์ ์ฑ ์ ์๋ ์ฌ์ ์ผ์(๋ชจ๋ฅด๋ฉด 0์ผ๋ก ๋๋ ์๋ต ๊ฒฝ๊ณ ๋ฅผ ์ ๋ฌํ๋ผ) accepted_portion_amount: ๊ฒ์ฌ๋ฅผ ๊ฑฐ์ณ ์ธ์ํ ๊ธฐ์ฑยท๊ธฐ๋ฉ ๋ถ๋ถ ๊ธ์ก(์) design_build_approved: ์ค๊ณยท์ ์กฐ ์ผ๊ด + ๋ฐ์ฃผ๊ธฐ๊ด ์น์ธ์ด ํ์ํ ๋ฌผํ์ธ์ง(์์จ ์์ธ)
Input Schema
{
"type": "object",
"properties": {
"contract_kind": {
"enum": [
"construction",
"product_manufacture",
"product_repair",
"service",
"military_food",
"transport_storage"
],
"title": "Contract Kind",
"type": "string"
},
"org_type": {
"enum": [
"national",
"local",
"public_corp"
],
"title": "Org Type",
"type": "string"
},
"contract_amount": {
"title": "Contract Amount",
"type": "integer"
},
"delay_days": {
"title": "Delay Days",
"type": "integer"
},
"excluded_days": {
"default": 0,
"title": "Excluded Days",
"type": "integer"
},
"accepted_portion_amount": {
"default": 0,
"title": "Accepted Portion Amount",
"type": "integer"
},
"design_build_approved": {
"default": false,
"title": "Design Build Approved",
"type": "boolean"
}
},
"required": [
"contract_kind",
"org_type",
"contract_amount",
"delay_days"
],
"title": "estimate_delay_penaltyArguments"
}๐ขdelay_exemption_guide(contract_kind, ground)
์ง์ฒด์ผ์์์ **๋นผ๋(๋ถ์ฐ์ ) ์ฌ์ ** ์ง๋ โ estimate_delay_penalty๊ฐ ์ ํ์ง ์๋ ๋ถ๋ถ. "์ด ์ง์ฐ์ ์ฐ๋ฆฌ ์ฑ ์์ด ์๋๋ฐ ์ง์ฒด์๊ธ์ ๋ฌผ์ด์ผ ํ๋", "๋์ ๊ธฐ ๊ณต์ฌ์ค์ง ๊ธฐ๊ฐ๋ ์ง์ฒด์ผ์์ธ๊ฐ", "๊ด๊ธ์์ฌ๊ฐ ๋ฆ๊ฒ ์์ ๋ฆ์ด์ก๋ค" ๊ฐ์ ์ง๋ฌธ์ ์ฐ๋ผ. **์ด ๋๊ตฌ๋ ํด๋น ์ฌ๋ถ๋ฅผ ํ์ ํ์ง ์๋๋ค.** ์ผ๋ฐ์กฐ๊ฑด ๋ฌธ์ธ ์์ฒด๊ฐ "๊ณ์ฝ๋ด๋น๊ณต๋ฌด์์ด ์ธ์ ํ ๋"๋ฅผ ์๊ฑด์ผ๋ก ๋๋ฏ๋ก ํ๋จ์ ๋ฐ์ฃผ๊ธฐ๊ด ๋ชซ์ด๋ค. ๋๊ตฌ๊ฐ ์ฃผ๋ ๊ฒ์ ์ ์ด๋ค โ โ ์๊ท์ ์๋ ์ฌ์ ๋ชฉ๋ก๊ณผ ์๋ฌธ ์ธ์ฉ โก๊ฐ ์ฌ์ ๊ฐ ์ธ์ ๋๋ ค๋ฉด **ํ์ ๋ผ์ผ ํ ์ฌ์ค** (must_establish โ ์ฌ์ฉ์์ ํ๋์ฉ ํ์ธํ๋ผ) โข๊ธฐ์ฌ๋ถยทํ์๋ถ ํ์ ์ ๋ก. ์ฐ๋ ์์: ์ด ๋๊ตฌ๋ก ์ฌ์ ๋ฅผ ์ขํ๋ค โ must_establish๋ฅผ ์ฌ์ฉ์์ ํ์ธํ๋ค โ ๋ถ์ฐ์ ์ผ์๊ฐ ์ ํด์ง๋ฉด estimate_delay_penalty์ excluded_days์ ๋ฃ์ด ๋ค์ ๊ณ์ฐํ๋ค. (sw_requirement_change๋ ํด๋น ์ผ์์ **1/2**๋ง ๋ฃ๋๋ค โ ์๊ท๊ฐ ์ ๋ฐ๋ง ๋นผ์ค๋ค.) **ground ๋ชฉ๋ก์ ๊ณ์ฝ์ ํ๊ณผ ๋ฌด๊ดํ ์ ์ฒด ์ด๊ฑฐ๋ค** โ ์ด๋ค ์ฌ์ ๋ ์ผ๋ฐ์กฐ๊ฑด ๊ณ์ด(๊ณต์ฌ/๋ฌผํ/ ์ฉ์ญ)๋ฟ ์๋๋ผ ๊ณ์ฝ์ ํ๊น์ง ์ขํ์ผ ํ๋ค(์: sw_requirement_change๋ ๊ฐ์ ์กฐ๊ฑด ์ 49์กฐ์ ์ํํธ์จ์ด์ฌ์ ์ ์ฉ์ด๋ผ ์ฉ์ญ ๊ณ์ด์ด์ด๋ ์ด์กยท๋ณด๊ด ๊ณ์ฝ์๋ ํด๋นํ ์ ์๋ค). ํด๋นํ์ง ์๋ ์กฐํฉ์ `ground_not_applicable`๋ก ๊ฑฐ๋ถํ๊ณ ๊ฐ๋ฅํ ์ฌ์ ๋ฅผ ์๋ ค์ค๋ค. ๋ชฉ๋ก ์กฐํ์์ ์ด๋ ๊ฒ ๋น ์ง ์ฌ์ ๋ `grounds_excluded_by_contract_kind`์ ์ฌ์ ์ ํจ๊ป ์ค๋ฆฐ๋ค โ ์กฐ์ฉํ ์ฌ๋ผ์ง์ง ์๋๋ค. **`day_count_rules`๋ ๊ณ์ฝ ๊ณ์ด๋ก ๊ฑธ๋ฌ ๋๊ฐ๋ค**(2026-09-10). ๊ณต์ฌ ์ ์ฉ ์ค๊ณต์ ๊ณ ยท์ค๊ณต๊ฒ์ฌ ๊ท์น๊ณผ ๋ฌผํ ์ ์ฉ ๋ถํ ๋ฉํ ๊ท์น์ ํด๋น ๊ณ์ด์๋ง ์ค๋ฆฐ๋ค โ ๋น ์ง ๊ฒ์ `day_count_rules_excluded`์ ์ด์ ์ ์ ์ฉ ๊ณ์ด์ด ํจ๊ป ๋จ์ผ๋ฏ๋ก "๊ทธ๋ฐ ๊ท์น์ด ์๋ค"๋ก ์ฝ์ง ๋ง๋ผ. ์ฐ๋ฆฌ๊ฐ ์ด ์ง๋์ ์ ๋ด์๋ค๋ ๋ป์ด์ง ๊ท์น์ด ์๋ค๋ ๋ป์ด ์๋๋ค. **`verification`์ ์ด ์ธ์ฉ์ ๋์ง๋ ๊ธธ๊ณผ ์ฐ๋ฆฌ๊ฐ ๋ชป ๊ฐ์ง ๊ฒ์ ํจ๊ป ๋งํ๋ค**(2026-09-10). `general_conditions_article_ref`๋ฅผ get_law_article์ ๊ทธ๋๋ก ๋ฃ์ผ๋ฉด ์กฐ๋ฌธ ์๋ฌธ์ด ๋์จ๋ค (`general_conditions_in_corpus: false`๋ฉด ์๋ฌธ์ ์ฐ๋ฆฌ๊ฐ ๋ชป ๋ณธ๋ค โ **๊ณต์ฌ๊ณ์ฝ์ผ๋ฐ์กฐ๊ฑด์ด ๊ทธ๋ ๋ค**. ๊ทธ ๊ณ์ด ์ธ์ฉ์ ๊ฐ์ฌ์ ์ค๋ฌด๊ฐ์ด๋ ์ ๋ฆฌ๋ฅผ ์ฎ๊ธด ๊ฒ์ด๋ ์๋ฌธ ์ธ์ฉ์ฒ๋ผ ์ฎ๊ธฐ์ง ๋ง๊ณ ๊ทธ ์ฌ์ค์ ๋ฐํ๋ผ). `admin_rule_version_in_corpus: false`๋ **์๊ท ๋ฐ๋ น๋ฒํธยท์ํ์ผ์ ์ฐ๋ฆฌ๊ฐ ๋ด์ง ์๋๋ค**๋ ๋ป์ด๋ค โ ์ต์ ์ด๋ผ๋ ๋ป์ด ์๋๋ผ ๋ชจ๋ฅธ๋ค๋ ๋ป์ด๋, ์ ์ฉ ์์ ์ด ์์ ์ด๋ฉด ๊ณ์ฝ์ฒด๊ฒฐ์ผ ๋น์ ์ํ๋ณธ์ law.go.kr์์ ํ์ธํ๊ณ ๋ต๋ณ์ '๋ฒ์ ๋ฏธํ์ธ'์ ๋ฐํ๋ผ. ํ์ ํ์ ์ ์๋ฌธ URL์ด ์ฐ๋ฆฌ์๊ฒ ์๋ค(๋ฌธ์๋ฒํธ+์ผ์๊ฐ ์ธ์ฉ ํค๋ค) โ **๋งํฌ๋ฅผ ์ง์ด๋ด์ง ๋ง๋ผ.** ์ฃผ์: `quote_truncated: true`์ธ ํญ๋ชฉ์ ์ฐ๋ฆฌ๊ฐ ํ์ํ ์กฐ๋ฌธ ์ธ์ฉ์ด ์ค๊ฐ์์ ๋๊ธด ๊ฒ์ด๋ค โ ๊ทธ๋๋ก ์ธ์ฉํ์ง ๋ง๊ณ search_references๋ก ์ ๋ฌธ์ ํ์ธํ๋ผ. ๋๊ธด ๋ฌธ์ฅ์ ์ด์ด์ ์ง์ด๋ด๋ฉด ๊ทธ๊ฒ์ด ์ด ์๋ฒ๊ฐ ๋ง์ผ๋ ค๋ ์ค๋ต์ด๋ค. Args: contract_kind: estimate_delay_penalty์ ๊ฐ์ ๊ฐ. ์ผ๋ฐ์กฐ๊ฑด ๊ณ์ด(๊ณต์ฌ/๋ฌผํ/์ฉ์ญ)๋ก ๋งคํ๋๋ฉฐ, ์ค์ ๋ก ๊ณ์ฝ์์ ํธ์ ๋ ์ผ๋ฐ์กฐ๊ฑด์ด ์ง์ค์์์ ์๋ต์ด ๊ฒฝ๊ณ ํ๋ค ground: ํน์ ์ฌ์ ํ๋๋ง ์์ธํ ๋ณผ ๋. ์๋ตํ๋ฉด ๊ทธ ๊ณ์ฝ์ ํ์ ์ ์ฒด ๋ชฉ๋ก
Input Schema
{
"type": "object",
"properties": {
"contract_kind": {
"enum": [
"construction",
"product_manufacture",
"product_repair",
"service",
"military_food",
"transport_storage"
],
"title": "Contract Kind",
"type": "string"
},
"ground": {
"anyOf": [
{
"enum": [
"force_majeure",
"gov_supplied_material_delay",
"owner_caused_delay",
"contractor_default_surety",
"design_change",
"innovative_product_defect",
"raw_material_shortage",
"sw_requirement_change",
"product_owner_side_delay"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Ground"
}
},
"required": [
"contract_kind"
],
"title": "delay_exemption_guideArguments"
}๐ขcheck_price_adjustment(org_type, contract_date, check_date, last_adjustment_date, adjustment_rate_pct, ...)
๋ฌผ๊ฐ๋ณ๋ ๊ณ์ฝ๊ธ์ก ์กฐ์ (์์ค์ปฌ๋ ์ด์ ) ์๊ฑด ํ์ + ์ฐ์ ์ ์ฉ โ ์ดํ๋จ๊ณ Phase 3. "์์ฌ๊ฐ์ด ์ฌ๋๋๋ฐ ๊ณ์ฝ๊ธ์ก์ ์ฌ๋ ค๋ฐ์ ์ ์๋", "90์ผ ์ง๋ฌ๋", "๋จํ ์กฐ์ ๋๋"์ ์ฐ๋ผ. **์ด ๋๊ตฌ๋ ์กฐ์ ๋ฅ ์ ์ฐ์ ํ์ง ๋ชปํ๋ค.** ํ๋ชฉ์กฐ์ ๋ฅ ยท์ง์์กฐ์ ๋ฅ ์ ์ฐ์ถ๋ด์ญ์์ ์ง์ยท๋จ๊ฐ ์์ฒ(ํ๊ตญ์ํ ์์ฐ์๋ฌผ๊ฐ์ง์ ๋ฑ)์ผ๋ก ๊ณ์ฐํ๋ ๊ฐ์ธ๋ฐ ์ด ์๋ฒ๋ ๊ทธ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ณ ์์ง ์๋ค โ ๊ทธ๋ฌ๋ `adjustment_rate_pct`๋ **์ฌ์ฉ์ยท๋ฐ์ฃผ๊ธฐ๊ด์ด ์ฐ์ ํ ๊ฐ**์ ๋ฐ์ ์ฐ๊ณ , ์ ์ฃผ๋ฉด ์๊ฑด โก๋ฅผ `met: null`๋ก ๋๊ณ ํ์ ์ ๋ณด๋ฅํ๋ค. ์๋ ๊ฐ์ ์ง์ด๋ด์ง ๋ง๋ผ. ํ์ ํ๋ ๊ฒ(๊ฒฐ์ ๋ก ): โ ๊ธฐ๊ฐ ์๊ฑด(๊ณ์ฝ์ฒด๊ฒฐ์ผ ๋๋ ์ง์ ์กฐ์ ๊ธฐ์ค์ผ๋ถํฐ 90์ผ ์ด์) โก๋ฑ๋ฝ๋ฅ 3% ๋ฌธํฑ โข**๋จํ ์กฐ์ ๋ฌธํฑ โ ๊ตญ๊ฐยท๊ณต๊ธฐ์ 15%, ์ง๋ฐฉ 10%(2024 ๊ฐ์ ์ผ๋ก ๊ฐ๋ ธ๋ค)** โฃ์กฐ์ ๋ฐฉ์ ๊ฒฐ์ ๊ท์น(๊ณ์ฝ์์ ์ง์์กฐ์ ๋ฅ ๋ช ์๊ฐ ์์ผ๋ฉด ํ๋ชฉ์กฐ์ ๋ฅ ) โค์กฐ์ ๊ธ์ก = ๋ฌผ๊ฐ๋ณ๋์ ์ฉ๋๊ฐ ร ์กฐ์ ๋ฅ , ์ ๊ธ ๊ณต์ = ์ ๊ฐ ร ์ ๊ธ๊ธ๋ฅ . ์๋ต์ verdict: requirements_met / **single_item_only**(์ด์ก ์กฐ์ ์ ๋ฏธ์ถฉ์กฑ์ด๋ ๋จํ ์กฐ์ ์ ์ถฉ์กฑ โ **๊ทธ ์์ฌ์ ํํ์ฌ** ์กฐ์ ๋๋ค. ๊ณ์ฝ๊ธ์ก ์ ์ฒด๊ฐ ์๋๋ค) / requirements_not_met / exception_path(์ฒ์ฌ์ง๋ณยท์์์ฌ ๊ธ๋ฑ ์์ธ ๊ฒํ ๋์ โ ์ธ์ ์ฃผ์ฒด๋ ๋ฐ์ฃผ๊ธฐ๊ด) / undetermined(์กฐ์ ๋ฅ ๋ฏธ์ ๊ณต). **๋ ํธ๋์ ๋ ๋ฆฝ์ด๋ค**(2026-08-29 ์๋ฆฌ). ๋จํ ์กฐ์ ์ ์ ์ 64์กฐโฅ "์ 1ํญ ๊ฐ ํธ์๋ ๋ถ๊ตฌํ๊ณ "๋ผ 3% ๋ฌธํฑ๊ณผ ๋ฌด๊ดํ๊ฒ ์ฑ๋ฆฝํ๋ฏ๋ก, ๋ฑ๋ฝ๋ฅ ์ด 3% ๋ฏธ๋ง์ด์ด๋ verdict๊ฐ single_item_only์ผ ์ ์๋ค โ ๊ทธ๋ "์กฐ์ ๋ถ๊ฐ"๋ผ๊ณ ๋ตํ๋ฉด ์ค๋ต์ด๋ค. ๋ฐ๋๋ก ์ 5ํญ ์์ธ๊ฐ ํธ๋ ๊ฒ์ **์กฐ์ ์ ํ๊ธฐ๊ฐ(90์ผ)๋ฟ**์ด๊ณ 3% ๋ฌธํฑ์ ๊ทธ๋๋ก๋ค. Args: org_type: "national"|"local"|"public_corp" โ **์ถ์ธก ๊ธ์ง**(๋จํ ๋ฌธํฑ์ด ๋ค๋ฅด๋ค) contract_date: ๊ณ์ฝ์ฒด๊ฒฐ์ผ "YYYY-MM-DD". ์ฅ๊ธฐ๊ณ์๊ณ์ฝ์ **์ 1์ฐจ๊ณ์ฝ ์ฒด๊ฒฐ์ผ** check_date: ์กฐ์ ๊ฒํ ยท์ฒญ๊ตฌ ์์ "YYYY-MM-DD" last_adjustment_date: ์ง์ ์กฐ์ ๊ธฐ์ค์ผ(์์ผ๋ฉด ๊ธฐ๊ฐ ๊ธฐ์ฐ์ ์ด ์ด์ชฝ์ผ๋ก ๋ฐ๋๋ค) adjustment_rate_pct: ์ฐ์ ๋ ํ๋ชฉยท์ง์ ์กฐ์ ๋ฅ (%). ๊ฐ์ก๋ ๊ทธ๋๋ก(์์) ๋ฃ์ด๋ผ method_specified_in_contract: ๊ณ์ฝ์์ ์ง์์กฐ์ ๋ฅ ์ด ๋ช ์๋์ผ๋ฉด "index", ํ๋ชฉ์ด๋ฉด "item". ๋ชจ๋ฅด๋ฉด ์๋ต โ ๊ธฐ๋ณธ๊ฐ(ํ๋ชฉ์กฐ์ ๋ฅ )์ผ๋ก ์๋ดํ๋ ๊ทธ ์ฌ์ค์ ์๋ต์ ๋ฐํ๋ค urgent_exception: ์ฒ์ฌ์ง๋ณยท์์์ฌ ๊ธ๋ฑ์ผ๋ก 90์ผ ์ด๋ด ์กฐ์ ์ ๊ฒํ ํ๋๊ฐ single_item_rate_pct: ๋จํ ์กฐ์ ๊ฒํ ์ ํด๋น ์์ฌ ๊ฐ๊ฒฉ์ฆ๊ฐ๋ฅ (%) single_item_share_over_5permille: ๊ทธ ์์ฌ๊ฐ ์ฌ๋ฃ๋นยท๋ ธ๋ฌด๋นยท๊ฒฝ๋น ํฉ๊ณ์ก์ 1์ฒ๋ถ์ 5๋ฅผ ์ด๊ณผํ๋๊ฐ(์ฐ์ถ๋ด์ญ์๋ก ํ์ธ โ ์ฐ๋ฆฌ๊ฐ ๊ณ์ฐํ์ง ๋ชปํ๋ค) is_construction: ๊ณต์ฌ๊ณ์ฝ์ธ๊ฐ(๋จํ ์กฐ์ ์ ๊ณต์ฌ ์ ์ฉ ์ ๋) adjustment_base_amount: ๋ฌผ๊ฐ๋ณ๋์ ์ฉ๋๊ฐ(์) โ ์กฐ์ ๊ธฐ์ค์ผ **์ดํ** ์ดํ๋ถ์ ๋๊ฐ advance_payment_ratio: ์ ๊ธ๊ธ๋ฅ (๋น์จ, 30%๋ฉด 0.3)
Input Schema
{
"type": "object",
"properties": {
"org_type": {
"enum": [
"national",
"local",
"public_corp"
],
"title": "Org Type",
"type": "string"
},
"contract_date": {
"title": "Contract Date",
"type": "string"
},
"check_date": {
"title": "Check Date",
"type": "string"
},
"last_adjustment_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Last Adjustment Date"
},
"adjustment_rate_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Adjustment Rate Pct"
},
"method_specified_in_contract": {
"anyOf": [
{
"enum": [
"item",
"index"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Method Specified In Contract"
},
"urgent_exception": {
"default": false,
"title": "Urgent Exception",
"type": "boolean"
},
"single_item_rate_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Single Item Rate Pct"
},
"single_item_share_over_5permille": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Single Item Share Over 5Permille"
},
"is_construction": {
"default": false,
"title": "Is Construction",
"type": "boolean"
},
"adjustment_base_amount": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Adjustment Base Amount"
},
"advance_payment_ratio": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Advance Payment Ratio"
}
},
"required": [
"org_type",
"contract_date",
"check_date"
],
"title": "check_price_adjustmentArguments"
}โชreport_issue(category, message, related_tool, related_query, expected)
์ค๋ฅยท๊ฐ์ ์ ๋ณด, ๊ทธ๋ฆฌ๊ณ **์๋ฌธ ์ง๋ฌธ ๊ธฐ๋ก**(category="question_log"). **์ ๋ณด**: ์ฌ์ฉ์๊ฐ "ํ๋ ธ๋ค"๊ณ ์ง์ ํ๋ฉด **๋จผ์ ์ด ๋๊ตฌ๋ก ์ ๋ณดํ ๋ค** ์ ์ ๋ต์ ์ ์ํ๋ผ. ๋๊ตฌ ๊ฒฐ๊ณผ๊ฐ ์กฐ๋ฌธยท์์นยทํ๋ก์ ๋ช ๋ฐฑํ ๋ถ์ผ์นํ ๋๋ ์ ๋ณดํ๋ผ. ์ถ์ธก์ผ๋ก ๋ถ๋ฅด์ง ๋ง ๊ฒ. ์๋ฒ๊ฐ ์ง์ ๋๊ตฌ ํธ์ถ ๊ธฐ๋ก์ ์๋ ์ฒจ๋ถํ๋ฏ๋ก ๋๊ตฌ๋ช ยท์ธ์๋ฅผ ๊ธฐ์ต์ผ๋ก ์ ์ ํ์ ์๋ค. **์๋ฌธ ์ง๋ฌธ ๊ธฐ๋ก**(`category="question_log"`): ์ด ์๋ฒ๋ ๋ค๊ฐ ์ด๋ฏธ ๋๊ตฌ ํธ์ถ๋ก ๋ฒ์ญํ ๋ค๋ฅผ ๋ณธ๋ค โ **์ฌ์ฉ์๊ฐ ์ค์ ๋ก ๋ฌด์์ ๋ฌผ์๋์ง ๋ณผ ์ ์๋ค.** "๊ด๊ณต์ ๋ฌผํ ์ด ๋ ์์๊ณ์ฝ ์ผ๋ง๊น์ง ๋๋์?"๊ฐ `search_law(query="์์๊ณ์ฝ")`๋ก ๋์ฐฉํ๋ฉด, ์ง๋ฌธ์ ์๋ '๊ด๊ณต์'ยท '๋ฌผํ ๊ตฌ๋งค'๋ผ๋ ๋งฅ๋ฝ์ ์ฐ๋ฆฌ์๊ฒ ์์ ์ ๋จ๋๋ค. ๊ทธ ์๋ฌธ์ด ์ง๋ฌธ์ํยทํ๊ฐ์ ยท๋ก๋๋งต์ ์ ์ผํ ์์ฒ์ด๋ค. **์๋ต์ด `hint`๋ก ๊ธฐ๋ก์ ์์ฒญํ๋ฉด ๊ทธ๋ ๋จ๊ฒจ๋ผ** โ 0๊ฑดยท๋ฒ์ ๋ฐยท๋ถ๋ถ ๋ต๋ณ์ด ๊ทธ๋ฐ ์๋ฆฌ๋ค. ๋ค๊ฐ ์ค์ค๋ก "์ ๋ตํ๋ค"๊ณ ๋๋ ๊ฒฝ์ฐ๊น์ง ๋จ๊ธธ ํ์๋ ์๋ค. `message`์ ์๋ฌธ์ ๋ฃ๋ **๊ฐ์ธ ์๋ณ ์กฐํฉ์ ์ผ๋ฐํ์ผ๋ก ๋ฐ๊ฟ์** ๋ฃ๋๋ค(๊ธฐ๊ด๋ช ยท์ฌ๊ฑด๋ฒํธยท๊ธ์ก ์กฐํฉ ๋ฑ). Args: category: "wrong_citation"(์ค์ธ์ฉ) | "outdated_law"(๊ฐ์ ๋ฏธ๋ฐ์) | "wrong_ruling"(๋ฃฐ์์ง ์คํ์ ) | "tool_error"(๋๊ตฌ ์ค๋ฅ) | "feature_request"(๊ธฐ๋ฅ ์์ฒญ) | "question_log"(์๋ฌธ ์ง๋ฌธ ๊ธฐ๋ก) | "other" message: ๋ฌด์์ด ์ด๋ป๊ฒ ์๋ชป๋๋์ง ๊ตฌ์ฒด์ ์ผ๋ก. **question_log์ด๋ฉด ์ฌ์ฉ์์ ์๋ฌธ ์ง๋ฌธ** related_tool: ๋ฌธ์ ๊ฐ ๋ ๋๊ตฌ๋ช (์: "search_references") related_query: ๋ฌธ์ ๋ฅผ ์ฌํํ๋ ์ง์ยท์ ๋ ฅ expected: ์ฌ๋ฐ๋ฅด๋ค๊ณ ์๊ฐํ๋ ๊ฐยท์กฐ๋ฌธ (์๊ณ ์๋ค๋ฉด)
Input Schema
{
"type": "object",
"properties": {
"category": {
"enum": [
"wrong_citation",
"outdated_law",
"wrong_ruling",
"tool_error",
"feature_request",
"question_log",
"other"
],
"title": "Category",
"type": "string"
},
"message": {
"title": "Message",
"type": "string"
},
"related_tool": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Related Tool"
},
"related_query": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Related Query"
},
"expected": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Expected"
}
},
"required": [
"category",
"message"
],
"title": "report_issueArguments"
}Community
Evidence