Foresee
ทางการForesee ช่วยให้ผู้ช่วย AI เปรียบเทียบประกันบ้านและรถยนต์ในทุกบริษัทประกันและตัวเลือกความคุ้มครอง โดยให้ประมาณการเบี้ยประกันที่รวดเร็ว แม่นยำ และละเอียดทันที
คุณทำอะไรได้บ้างด้วย Foresee MCP?
-
เปรียบเทียบราคาประกันบ้านและประกันรถยนต์ — ขอใบเสนอราคาโดยประมาณแบบแยกรายการได้ทันที ครอบคลุมหลายบริษัทประกันและตัวเลือกความคุ้มครองในการโทรครั้งเดียวผ่าน
quote_insurance -
รับการยืนยันจากบริษัทประกันแบบสด — ขอการตรวจสอบราคาแบบเรียลไทม์จากเว็บไซต์ของบริษัทประกันโดยตรง โดยได้รับความยินยอม ผ่าน
live_carrier_quotes -
กำหนดราคาความคุ้มครองรถยนต์ตามวงเงินเฉพาะ — ระบุวงเงินคุ้มครองการบาดเจ็บทางร่างกาย ความเสียหายต่อทรัพย์สิน และค่าเสียหายส่วนแรก (เช่น
bi,coll_deductible) เพื่อดูค่าใช้จ่ายรายเดือนแบบแยกรายการต่อบริษัทประกัน -
ประเมินกรมธรรม์บ้านหรือผู้เช่า — ระบุรายละเอียดทรัพย์สินและวงเงินคุ้มครอง (เช่น
coverage_a,deductible) เพื่อรับราคาคุ้มครองตัวบ้าน ความรับผิดต่อบุคคลภายนอก และทรัพย์สินส่วนบุคคล -
ระบุข้อมูลที่ขาดหายไปซึ่งส่งผลต่อราคา — สอบถามว่าช่องข้อมูลโปรไฟล์ใดที่ละเว้นไว้ (เช่น
annual_mileage,prior_insurance) ส่งผลต่อใบเสนอราคามากที่สุด ผ่านtighten_byและassumptionsในคำตอบ
เซิร์ฟเวอร์ MCP แบบโฮสต์
npx add-mcp 'https://agents.go-foresee.com/mcp'ติดตั้งลง Claude Code, Codex, Cursor และอื่นๆ
เอกสาร
เอกสาร
สำหรับเอเจนต์ AI: ดัชนีเว็บไซต์อยู่ที่ /llms.txt และข้อความเต็มอยู่ที่ /llms-full.txt
Foresee ช่วยให้ผู้ช่วย AI เปรียบเทียบประกันบ้านและรถยนต์ในทุกบริษัทประกันและตัวเลือกความคุ้มครอง โดยให้ประมาณการใบเสนอราคาที่รวดเร็ว แม่นยำ และละเอียดทันที
การใช้ Foresee
Foresee โฮสต์เซิร์ฟเวอร์ MCP สองตัว:
ผู้ใช้ที่ต้องการประมาณการใบเสนอราคาที่ง่ายและไม่ยุ่งยากโดยไม่ต้องเปิดเผยข้อมูลส่วนบุคคล (PII) ใช้:
https://mcp.go-foresee.com/mcp
ผู้ใช้ที่ต้องการยืนยันประมาณการใบเสนอราคากับบริษัทประกันโดยตรงสามารถส่งเอเจนต์การใช้คอมพิวเตอร์ของ Foresee ผ่าน:
https://agents.go-foresee.com/mcp
เซิร์ฟเวอร์ทั้งสองไม่ต้องมีการรับรองความถูกต้อง
เครื่องมือ
Foresee เผยแพร่เครื่องมือสองรายการบนเซิร์ฟเวอร์ MCP:
| เครื่องมือ | วัตถุประสงค์ | agents. | mcp. |
|---|---|---|---|
quote_insurance | สร้างประมาณการใบเสนอราคาที่รวดเร็ว แม่นยำ และละเอียดทันที | ✅ | ✅ |
live_carrier_quotes | ยืนยันประมาณการใบเสนอราคากับบริษัทประกัน | ✅ | ❌ |
เครื่องมือ 1: quote_insurance
วัตถุประสงค์: สร้างประมาณการใบเสนอราคาแบบแยกรายการทันทีจากบริษัทประกันที่ Foresee รองรับ ครอบคลุมประเภทประกันและรัฐที่ Foresee ให้บริการอยู่ในปัจจุบัน ในการเรียกครั้งเดียว
พารามิเตอร์อินพุต
| พารามิเตอร์ | ชนิด | จำเป็น | รายละเอียด |
|---|---|---|---|
profile | object | ใช่ | ดูโปรไฟล์ |
lines | object | ใช่ | คีย์คือประเภทประกันที่จะคิดราคา (auto, home, renters); ค่าคือตัวเลือกความคุ้มครองของประเภทประกันนั้น (ดูตัวเลือกความคุ้มครอง) |
carriers | string[] | ไม่ | ค่าเริ่มต้นคือ "ทุกบริษัทประกัน" |
include_failures | boolean | ไม่ | true |
โปรไฟล์
โปรไฟล์หลัก
มีอินพุตหลัก profile พร้อมด้วยบล็อกเพิ่มเติมสำหรับประกันรถยนต์และบ้าน/ผู้เช่า
ฟิลด์ที่จำเป็นเท่านั้นคืออายุ (หรือ dob), รหัสไปรษณีย์ และ (สำหรับประกันรถยนต์) รายละเอียดยานพาหนะ
ฟิลด์เสริมที่ละเว้นจะกลายเป็น สมมติฐานที่ประกาศไว้: เราเลือกค่าทดแทนแบบอนุรักษ์นิยม ซึ่งรายงานกลับมาเป็น assumptions — เช่น auto.vehicles[].annual_mileage = 12000 พร้อมรายการ tighten_by ที่ระบุสมมติฐานที่จะเปลี่ยนแปลงราคามากที่สุด prior_insurance หมายถึงประกันสำหรับประเภทประกันเดียวกัน; companion_policies หมายถึงประกันสำหรับประเภทประกันที่แตกต่างกัน
| ฟิลด์ | ชนิด | จำเป็น |
|---|---|---|
zip_code | string | ใช่ |
age | integer | ใช่ |
dob | string, YYYY-MM-DD | ทางเลือกที่ยอมรับแทน age |
city | string | ไม่ |
gender | string | ไม่ |
marital_status | string | ไม่ |
education | string | ไม่ |
employment_status | string | ไม่ |
occupation | string | ไม่ |
credit_range | string | ไม่ |
home_ownership_status | string | ไม่ |
residence_type | string | ไม่ |
military_affiliation | string | ไม่ |
memberships | string[] | ไม่ |
effective_date | string | ไม่ |
prior_insurance | object | ไม่ |
companion_policies | object[] — {line, carrier} | ไม่ |
companion_policies ระบุนโยบายที่ครัวเรือนถืออยู่แล้ว โดยแต่ละรายการระบุบริษัทประกันที่ออกนโยบาย — {"line": "home", "carrier": "State Farm"} ส่วนลดหลายนโยบายของบริษัทประกันจะใช้กับนโยบายที่บริษัทนั้นออกเท่านั้น ดังนั้นนโยบายที่ถืออยู่โดยไม่มีบริษัทประกันจะไม่ได้รับส่วนลด และใบเสนอราคาจะถามหาบริษัทประกันภายใต้ tighten_by
โปรไฟล์ประกันรถยนต์
| ฟิลด์ | ชนิด | จำเป็น |
|---|---|---|
auto.vehicles[].year | integer | ใช่ |
auto.vehicles[].make | string | ใช่ |
auto.vehicles[].model | string | ใช่ |
auto.vehicles[].ownership | string | ไม่ |
auto.vehicles[].annual_mileage | integer | ไม่ |
auto.vehicles[].primary_use | string | ไม่ |
auto.vehicles[].garaging_zip | string | ไม่ |
auto.drivers[].relation | string | ไม่ (self สำหรับรายการแรก) |
auto.drivers[].dob | string | ไม่ |
auto.drivers[].years_licensed | integer | ไม่ |
auto.drivers[].accidents | object[] | ไม่ |
auto.drivers[].violations | object[] | ไม่ |
auto.drivers[].sr22_required | boolean | ไม่ |
accidents และ violations เป็นรายการของรายการที่ระบุวันที่ — {"on": "2025-01", "kind": "speeding"}, {"on": "2023-06-15", "at_fault": true} — โดยรายการว่างหมายถึงประวัติที่สะอาด รายการที่ขาด on (หรือการละเมิดที่ขาด kind) จะถูกปฏิเสธ พร้อมระบุเส้นทางของรายการนั้น
โปรไฟล์ประกันบ้านและผู้เช่า
| ฟิลด์ | ชนิด | จำเป็น |
|---|---|---|
property.year_built | integer | ไม่ |
property.construction_type | string | ไม่ |
property.roof_type | string | ไม่ |
property.square_feet | integer | ไม่ |
property.protection_class | string | ไม่ |
property.replacement_cost | integer | ไม่ |
property.devices | string[] | ไม่ |
property.losses | object[] | ไม่ |
ตัวเลือกความคุ้มครอง
แต่ละคีย์ใน lines รับตัวเลือกความคุ้มครองของประเภทประกันนั้น ไม่มีอะไรถูกคิดราคาที่ค่าเริ่มต้นของเซิร์ฟเวอร์: ตัวเลือกที่คุณส่งคือสิ่งที่ถูกคิดราคา
รถยนต์
| ตัวเลือก | ชนิด | จำเป็น | สิ่งที่ครอบคลุม |
|---|---|---|---|
bi | string | ใช่ | ความรับผิดต่อร่างกาย: การบาดเจ็บที่คุณก่อให้เกิดกับผู้อื่น วงเงินต่อคน/ต่ออุบัติเหตุในหน่วยพันดอลลาร์ เช่น "100/300" |
pd | integer | ใช่ | ความรับผิดต่อทรัพย์สิน: ความเสียหายที่คุณก่อให้เกิดกับรถยนต์และทรัพย์สินของผู้อื่น วงเงินในหน่วยพันดอลลาร์ เช่น 100 |
coll_deductible | integer | ใช่ | การชน: ความเสียหายต่อรถของคุณเองจากการชน ไม่ว่าใครเป็นฝ่ายผิด ค่าเสียหายส่วนแรกที่คุณจ่ายต่อการเคลม เป็นดอลลาร์ |
comp_deductible | integer | ใช่ | ความคุ้มครองรอบด้าน: ความเสียหายต่อรถของคุณเองจากสิ่งอื่นที่ไม่ใช่การชน — การโจรกรรม ไฟไหม้ ลูกเห็บ การทำลายทรัพย์สิน การชนสัตว์ ค่าเสียหายส่วนแรกที่คุณจ่ายต่อการเคลม เป็นดอลลาร์ |
um | string | ไม่ | ผู้ขับขี่ที่ไม่มี/มีประกันไม่เพียงพอ: การบาดเจ็บของคุณเมื่อผู้ที่ผิดไม่มีหรือมีประกันน้อยเกินไป วงเงินต่อคน/ต่ออุบัติเหตุในหน่วยพันดอลลาร์ เช่น "100/300" |
medpay | integer | ไม่ | ค่ารักษาพยาบาล: ค่าใช้จ่ายทางการแพทย์สำหรับคุณและผู้โดยสาร ไม่ว่าใครเป็นฝ่ายผิด วงเงินเป็นดอลลาร์ เช่น 5000 |
บ้าน
| ตัวเลือก | ชนิด | จำเป็น | สิ่งที่ครอบคลุม |
|---|---|---|---|
coverage_a | integer | ใช่ | ตัวบ้าน: การสร้างบ้านใหม่ วงเงินเป็นดอลลาร์ โดยปกติคือต้นทุนการทดแทน |
coverage_e | integer | ใช่ | ความรับผิดส่วนบุคคล: การบาดเจ็บหรือความเสียหายที่คุณต้องรับผิดชอบตามกฎหมาย ไม่ว่าภายในหรือภายนอกทรัพย์สิน วงเงินเป็นดอลลาร์ |
coverage_f | integer | ใช่ | ค่ารักษาพยาบาลสำหรับผู้อื่น: ค่าใช้จ่ายทางการแพทย์ของแขกหลังการบาดเจ็บในทรัพย์สินของคุณ ไม่ว่าใครเป็นฝ่ายผิด วงเงินเป็นดอลลาร์ |
aop_deductible | integer | ใช่ | ค่าเสียหายส่วนแรกสำหรับภัยอื่นๆ ทั้งหมด: สิ่งที่คุณจ่ายต่อการเคลมสำหรับทุกอย่างยกเว้นภัยที่มีค่าเสียหายส่วนแรกของตัวเอง (เช่น แผ่นดินไหว) เป็นดอลลาร์ |
ความคุ้มครอง B (โครงสร้างอื่นๆ เช่น โรงรถแยกหรือรั้ว), C (ทรัพย์สินส่วนบุคคล — สิ่งของของคุณ) และ D (การสูญเสียการใช้ประโยชน์ — ค่าครองชีพระหว่างที่บ้านไม่สามารถอยู่อาศัยได้) ไม่ถูกถามเป็นดอลลาร์ — จะกลับมาใน sel เป็นอัตราส่วนของความคุ้มครอง A ที่ถูกคิดราคา
ผู้เช่า
| ตัวเลือก | ชนิด | จำเป็น | สิ่งที่ครอบคลุม |
|---|---|---|---|
coverage_c | integer | ใช่ | ทรัพย์สินส่วนบุคคล: สิ่งของของคุณ วงเงินเป็นดอลลาร์ |
coverage_e | integer | ใช่ | ความรับผิดส่วนบุคคล: การบาดเจ็บหรือความเสียหายที่คุณต้องรับผิดชอบตามกฎหมาย วงเงินเป็นดอลลาร์ |
coverage_f | integer | ใช่ | ค่ารักษาพยาบาลสำหรับผู้อื่น: ค่าใช้จ่ายทางการแพทย์ของแขกหลังการบาดเจ็บในบ้านของคุณ ไม่ว่าใครเป็นฝ่ายผิด วงเงินเป็นดอลลาร์ |
deductible | integer | ใช่ | สิ่งที่คุณจ่ายต่อการเคลมก่อนที่ความคุ้มครองจะเริ่มต้น เป็นดอลลาร์ |
coverage_d | integer | ไม่ | การสูญเสียการใช้ประโยชน์: ค่าครองชีพเพิ่มเติมหากคุณต้องย้ายออกระหว่างที่สถานที่ได้รับการซ่อมแซม วงเงินเป็นดอลลาร์ |
รูปแบบการตอบกลับ
ผลลัพธ์ที่คิดราคาแล้วมาทั้งหมดใน structuredContent; content ว่างเปล่า รายละเอียดการจัดอันดับคือฟิลด์ dense: ข้อความเครื่องจักรที่กระชับ หนึ่งส่วนต่อบรรทัด แสดงในบล็อก response ด้านล่าง ถัดจากนั้นคือฟิลด์หัวข้อต่อประเภทประกันภายใต้ by_line (บริษัทประกันที่มี monthly, confidence_interval, carrier_quote_url, warnings, rated_vs_asked; รวมถึง assumptions, tighten_by, failures) และ presentation (วิธีนำเสนอราคา), bundle และ skipped ที่ด้านบน การปฏิเสธ (profile_required, coverage_required) เป็น JSON ธรรมดาที่ไม่มี dense
| คำนำหน้า | ความถี่ | ความหมาย |
|---|---|---|
Q | ครั้งเดียวต่อบรรทัด | สิ่งที่ถูกคิดราคา: รัฐ ประเภทธุรกิจ การเลือกความคุ้มครอง |
assumptions: | ครั้งเดียวต่อบรรทัด | สมมติฐานที่ Foresee ตั้ง; high_impact: true หมายความว่าฟิลด์นี้เปลี่ยนแปลงประมาณการใบเสนอราคาอย่างมีนัยสำคัญ |
tighten_by: | ครั้งเดียวต่อบรรทัด | เส้นทางโปรไฟล์ของข้อเท็จจริงที่ขาดหายไปซึ่งจะเปลี่ยนแปลงราคามากที่สุด |
not_priced: | เมื่อเกี่ยวข้อง | บริษัทประกันที่ถูกแยกออก พร้อมเหตุผล |
C | ครั้งเดียวต่อบริษัทประกัน | บริษัทประกัน หน่วยงานที่ออกนโยบาย เบี้ยประกันรายเดือน (ค่าประมาณจุดและช่วงความเชื่อมั่น) |
W | ตามความจำเป็น | หมายเหตุเกี่ยวกับบริษัทประกันข้างต้น เช่น ไม่มีหน้าขอใบเสนอราคาออนไลน์ |
L | ครั้งเดียวต่อบริษัทประกัน | ต้นทุนรายเดือนต่อความคุ้มครอง ภายใต้รหัสที่หมายถึงความคุ้มครองเดียวกันที่ทุกบริษัทประกัน (BI, PD, UMBI, MEDPAY, COMP, COLL…); A+B คือเบี้ยประกันเดียวที่ครอบคลุมทั้งสอง, FEE คือค่าธรรมเนียมคงที่ |
D | ต่อบริษัทประกัน | บันไดราคา: สำหรับแต่ละคันโยกความคุ้มครอง ทุกระดับที่เสนอเป็น ±$/เดือนเทียบกับรายเดือนที่อ้างอิง สิ่งอื่นทั้งหมดคงที่ที่การเลือก +0.00 ทำเครื่องหมายระดับที่เลือก; (asked X) = X ไม่ถูกเสนอและราคาอยู่ที่ระดับที่เสนอใกล้ที่สุด คิดราคาใหม่จาก D; อย่าเรียกใหม่ |
ตัวอย่าง: รถยนต์
บุคคลอายุ 41 ปีในรหัสไปรษณีย์ 90066 พร้อม Honda Civic ปี 2021
Mercury แสดงเซลล์บริษัทประกันธรรมดา; Travelers คิดราคาผ่านหน่วยงานออกนโยบายที่เป็นไปได้สองแห่ง ดังนั้นเซลล์ของบริษัทจึงมีส่วน ci (ช่วงการจัดวาง) USAA อยู่ใน not_priced พร้อมเหตุผลของบริษัทเอง
{
"profile": {
"zip_code": "90066",
"age": 41,
"auto": {"vehicles": [{"year": 2021, "make": "Honda", "model": "Civic"}]}
},
"lines": {"auto": {"bi": "100/300", "pd": 100, "coll_deductible": 500, "comp_deductible": 500}},
"carriers": ["mercury", "travelers", "usaa"]
}
ทุกฟิลด์โปรไฟล์ที่ละเว้นจะกลับมาเป็นสมมติฐานที่ประกาศไว้ — บล็อก assumptions: ขนาดใหญ่ด้านล่างเกิดจากคำขอที่บางเบาด้านบน และ tighten_by: ระบุคำตอบเก้าข้อที่จะเปลี่ยนแปลงราคามากที่สุด Mercury แสดงเซลล์บริษัทประกันธรรมดา; Travelers คิดราคาผ่านหน่วยงานออกนโยบายที่เป็นไปได้สองแห่ง ดังนั้นเซลล์ของบริษัทจึงมีส่วน ci (ช่วงการจัดวาง) USAA อยู่ใน not_priced พร้อมเหตุผลของบริษัทเอง
Q CA auto sel={"bi":"100/300","coll_deductible":500,"comp_deductible":500,"pd":100}
assumptions: [{"assumed":"Single","field":"marital_status","high_impact":false},{"assumed":12000,"field":"auto.vehicles[].annual_mileage","high_impact":true},{"assumed":"Commute","field":"auto.vehicles[].primary_use","high_impact":true},{"assumed":15,"field":"auto.vehicles[].one_way_miles","high_impact":true},{"assumed":5,"field":"auto.vehicles[].commute_days","high_impact":false},{"assumed":16,"field":"auto.drivers[].age_first_licensed","high_impact":true,"note":"CA Good Driver discount (at least 20% off every CA price here, INS §1861.025) is granted on this assumption: it rates the applicant as licensed 3+ years. If they were first licensed less than 3 years ago, these prices are understated — send auto.drivers[].age_first_licensed (or date_first_licensed / years_licensed on the same driver) and re-quote."},{"assumed":[],"field":"auto.drivers[].accidents","high_impact":true},{"assumed":[],"field":"auto.drivers[].violations","high_impact":true},{"assumed":false,"field":"prior_insurance.insured","high_impact":true},{"assumed":null,"field":"home_ownership_status","high_impact":false},{"assumed":null,"field":"occupation","high_impact":true},{"assumed":null,"field":"memberships","high_impact":true}]
tighten_by: auto.vehicles[].annual_mileage,auto.vehicles[].primary_use,auto.vehicles[].one_way_miles,auto.drivers[].age_first_licensed,auto.drivers[].accidents,auto.drivers[].violations,prior_insurance.insured,occupation,memberships
not_priced: usaa:USAA: military families only — set military_affiliation to quote.
C mercury|Mercury Insurance Company|235.11
L BI:56.33,PD:44.10,UMBI:16.85,MEDPAY:0.97,COMP:17.49,COLL:99.38
D bi 100/300=30/60:-9.70,50/100:-6.72,100/300:+0.00,250/500:+12.31,300/300:+12.68,500/500:+23.13
D pd 100=15:-7.99,25:-6.39,50:-2.88,100:+0.00,250:+2.56,300:+3.83
D coll_deductible 500=100:+19.87,200:+14.91,250:+12.42,500:+0.00,1000:-9.94,2000:-29.81,2500:-39.75
D comp_deductible 500=25:+25.74,50:+17.88,100:+11.00,200:+6.09,250:+2.75,500:+0.00,1000:-2.75,2000:-5.70,2500:-8.06
C travelers|Travelers Commercial Insurance Company|368.50|ci 327.21-415.00
L BI:149.00,PD:70.17,COMP:15.50,COLL:114.33,UMBI:19.50
D bi 100/300=15/30:-61.67,25/50:-39.33,30/60:-32.83,50/100:-13.50,100/300:+0.00,250/500:+12.50,500/500:+16.67,1000/1000:+52.67
D pd 100=5:-21.50,10:-10.50,15:-6.67,25:-2.83,50:-0.67,100:+0.00,250:+0.50,300:+0.83,500:+1.17
D coll_deductible 500=100:+22.17,250:+13.17,500:+0.00,1000:-19.33,1500:-34.50,2500:-56.50,5000:-86.00
D comp_deductible 500=0:+11.17,50:+9.67,100:+8.00,250:+2.17,500:+0.00,1000:-1.67,1500:-3.67,2500:-6.50,5000:-10.50
ตัวอย่าง: บ้าน
บุคคลอายุ 41 ปีคนเดียวกัน ทำประกันบ้านโครงไม้ที่สร้างในปี 1998 ด้วยต้นทุนการทดแทน 450,000 ดอลลาร์:
{
"profile": {
"zip_code": "90066",
"age": 41,
"property": {"year_built": 1998, "construction_type": "frame", "replacement_cost": 450000}
},
"lines": {"home": {"coverage_a": 450000, "coverage_e": 300000, "coverage_f": 1000, "aop_deductible": 1000}},
"carriers": ["mercury", "autoclub"]
}
sel สะท้อน B/C/D เป็นอัตราส่วนของความคุ้มครอง A ที่ถูกคิดราคา L ของแต่ละบริษัทประกันคือเบี้ยประกันพื้นฐาน (HO_BASE) บวกค่าธรรมเนียม ข้อเท็จจริงเกี่ยวกับตัวบ้านอยู่ใน assumptions:/tighten_by: — ที่นี่คือประเภทหลังคา ระดับการป้องกัน และประวัติการเคลมที่สะอาด
Q CA home sel={"aop_deductible":1000,"coverage_a":450000,"coverage_b_pct":0.1,"coverage_c_pct":0.5,"coverage_d_pct":0.2,"coverage_e":300000,"coverage_f":1000}
assumptions: [{"assumed":"Asphalt Shingle","field":"property.roof_type","high_impact":false},{"assumed":1,"field":"property.stories","high_impact":false},{"assumed":2,"field":"property.bathrooms","high_impact":false},{"assumed":1,"field":"property.units","high_impact":false},{"assumed":"owner occupied","field":"property.occupancy","high_impact":false},{"assumed":5,"field":"property.protection_class","high_impact":true},{"assumed":"Attached","field":"property.garage","high_impact":false},{"assumed":"Single","field":"marital_status","high_impact":false},{"assumed":[],"field":"property.losses","high_impact":true}]
tighten_by: property.protection_class,property.losses
C mercury|CALIFORNIA AUTOMOBILE INS CO|123.67
L HO_BASE:118.76,FEE:3.75,FEE:1.16,FEE:0.01
D aop_deductible 1000=500:+13.38,1000:+0.00,1500:-5.38,2500:-21.45,3500:-26.58,5000:-37.01,10000:-48.28,25000:-63.01,50000:-72.51
D coverage_a 450000=30000:-90.60,65000:-82.94,95000:-76.38,130000:-68.81,165000:-61.24,195000:-54.76,230000:-47.27,265000:-39.79,295000:-33.39,330000:-25.82,365000:-18.34,395000:-11.94,430000:-4.37,445000:-1.17,450000:+0.00,455000:+1.01,465000:+3.20,500000:+10.86,570000:+26.34,630000:+39.88,700000:+56.03,770000:+72.77,830000:+87.49,900000:+105.41,970000:+124.09,2500000:+523.01,6000000:+1464.79
D coverage_e 300000=100000:-1.34,200000:-0.58,300000:+0.00,500000:+0.68,1000000:+4.04
D coverage_f 1000=1000:+0.00,2000:+0.17,5000:+0.42
C autoclub|Interinsurance Exchange of the Automobile Club|146.10
L HO_BASE:144.50,FEE:1.60
D aop_deductible 1000=500:+20.98,750:+7.59,1000:+0.00,1500:-11.45,2000:-16.93,3000:-21.06,5000:-25.36,10000:-28.73,15000:-51.90,20000:-63.44,25000:-71.53,30000:-77.34,50000:-90.49
D coverage_a 450000=60000:-120.65,90000:-115.51,110000:-110.96,130000:-105.66,150000:-99.59,170000:-92.85,190000:-86.53,220000:-76.17,250000:-64.54,280000:-54.09,320000:-40.02,350000:-29.15,360000:-26.54,400000:-16.00,440000:-3.62,450000:+0.00,460000:+2.45,480000:+9.44,550000:+32.95,650000:+77.19,750000:+98.00,850000:+116.62,950000:+147.71,2000000:+475.47,4000000:+1099.41,10000000:+2982.24
ตัวอย่าง: ผู้เช่า
ครัวเรือนที่แตกต่างกันที่รหัสไปรษณีย์เดียวกัน: ผู้เช่าอายุ 27 ปี:
{
"profile": {"zip_code": "90066", "dob": "1998-11-11"},
"lines": {"renters": {"coverage_c": 30000, "coverage_e": 100000, "coverage_f": 1000, "deductible": 500}},
"carriers": ["farmers", "usaa"]
}
Q CA renters sel={"coverage_c":30000,"coverage_e":100000,"coverage_f":1000,"deductible":500}
assumptions: [{"assumed":2000,"field":"property.year_built","high_impact":false},{"assumed":5,"field":"property.protection_class","high_impact":false},{"assumed":"Single","field":"marital_status","high_impact":false},{"assumed":[],"field":"property.losses","high_impact":true}]
tighten_by: property.losses
not_priced: usaa:USAA: military families only — set military_affiliation to quote.
C farmers|Fire Insurance Exchange|29.88
L RENTERS_BASE:29.17,FEE:0.42,FEE:0.30
D deductible 500=100:+5.89,250:+1.85,500:+0.00,1000:-2.61,1500:-4.29,2500:-6.73
D coverage_c 30000=4000:-16.33,10000:-11.95,17000:-7.15,23000:-3.87,29000:-0.59,30000:+0.00,31000:+0.51,37000:+3.79,43000:+7.07,49000:+10.36,55000:+13.64,62000:+17.43,68000:+20.71,74000:+23.99,81000:+27.78,87000:+31.06,93000:+34.35,100000:+38.14,106000:+41.42,112000:+44.70,118000:+47.99,125000:+51.77,131000:+55.06,137000:+58.34,144000:+62.13,150000:+65.41
D coverage_e 100000=100000:+0.00,300000:+3.28,500000:+5.56,1000000:+10.69
ตัวอย่าง: รถยนต์ + ผู้เช่า
ผู้เช่าอายุ 27 ปีคนเดียวกัน ตอนนี้มีรถยนต์ รายการ violations และ accidents ว่างหมายถึงประวัติที่สะอาด ดังนั้นคำถามเกี่ยวกับประวัติการขับขี่จึงปล่อย assumptions: ทั้งหมด
{
"profile": {
"zip_code": "90066",
"age": 27,
"prior_insurance": {"insured": true, "carrier": "GEICO", "since": "2019"},
"auto": {"drivers": [{"violations": [], "accidents": []}],
"vehicles": [{"year": 2021, "make": "Honda", "model": "Civic", "annual_mileage": 9000}]},
"property": {"year_built": 1978, "square_feet": 850}
},
"lines": {
"auto": {"bi": "100/300", "pd": 100, "coll_deductible": 500, "comp_deductible": 500},
"renters": {"coverage_c": 30000, "coverage_e": 100000, "coverage_f": 1000, "deductible": 500}
},
"carriers": ["farmers", "mercury"]
}
เนื่องจากตอนนี้เรามีประวัติ ระยะทาง และประวัติประกัน รายการ assumptions: ของรถยนต์จึงลดเหลือแปดรายการ และ tighten_by: เหลือห้ารายการ ส่วนผู้เช่าประกาศค่าทดแทนตัวบ้านของตัวเอง Mercury คิดราคาเฉพาะประกันรถยนต์; Farmers คิดราคาทั้งสองประเภทประกัน
Q CA auto sel={"bi":"100/300","coll_deductible":500,"comp_deductible":500,"pd":100}
assumptions: [{"assumed":"Single","field":"marital_status","high_impact":false},{"assumed":"Commute","field":"auto.vehicles[].primary_use","high_impact":true},{"assumed":15,"field":"auto.vehicles[].one_way_miles","high_impact":true},{"assumed":5,"field":"auto.vehicles[].commute_days","high_impact":false},{"assumed":16,"field":"auto.drivers[].age_first_licensed","high_impact":true,"note":"CA Good Driver discount (at least 20% off every CA price here, INS §1861.025) is granted on this assumption: it rates the applicant as licensed 3+ years. If they were first licensed less than 3 years ago, these prices are understated — send auto.drivers[].age_first_licensed (or date_first_licensed / years_licensed on the same driver) and re-quote."},{"assumed":null,"field":"home_ownership_status","high_impact":false},{"assumed":null,"field":"occupation","high_impact":true},{"assumed":null,"field":"memberships","high_impact":true}]
tighten_by: auto.vehicles[].primary_use,auto.vehicles[].one_way_miles,auto.drivers[].age_first_licensed,occupation,memberships
C mercury|Mercury Insurance Company|289.94
L BI:66.80,PD:52.55,UMBI:17.38,MEDPAY:1.05,COMP:23.50,COLL:128.67
D bi 100/300=30/60:-11.50,50/100:-7.96,100/300:+0.00,250/500:+14.60,300/300:+15.04,500/500:+27.43
D pd 100=15:-9.52,25:-7.61,50:-3.43,100:+0.00,250:+3.05,300:+4.57
D coll_deductible 500=100:+25.74,200:+19.30,250:+16.09,500:+0.00,1000:-12.87,2000:-38.60,2500:-51.47
D comp_deductible 500=25:+34.59,50:+24.03,100:+14.79,200:+8.19,250:+3.70,500:+0.00,1000:-3.70,2000:-7.66,2500:-10.83
C farmers|Farmers Insurance Exchange|398.00
L BI:111.83,PD:73.33,UMBI:28.33,UMPD:1.50,MEDPAY:13.33,COMP:34.00,COLL:133.17,FEE:2.50
D bi 100/300=30/60:-23.83,50/100:-14.67,100/300:+0.00,250/500:+9.83,500/500:+23.83,500/1000:+29.83
D pd 100=15:-8.83,25:-5.00,50:-1.50,100:+0.00,250:+1.33,500:+3.17
D coll_deductible 500=250:+30.67,500:+0.00,750:-13.67,1000:-23.50,1500:-37.50,2500:-56.33,5000:-87.00
D comp_deductible 500=100:+23.67,250:+9.17,500:+0.00,750:-7.17,1000:-10.67,1500:-13.50,2500:-18.83,5000:-21.17
Q CA renters sel={"coverage_c":30000,"coverage_e":100000,"coverage_f":1000,"deductible":500}
assumptions: [{"assumed":5,"field":"property.protection_class","high_impact":false},{"assumed":"Single","field":"marital_status","high_impact":false},{"assumed":[],"field":"property.losses","high_impact":true}]
tighten_by: property.losses
not_priced: mercury:no filed-rate renters program served in CA yet
C farmers|Fire Insurance Exchange|29.88
L RENTERS_BASE:29.17,FEE:0.42,FEE:0.30
D deductible 500=100:+5.89,250:+1.85,500:+0.00,1000:-2.61,1500:-4.29,2500:-6.73
D coverage_c 30000=4000:-16.33,10000:-11.95,17000:-7.15,23000:-3.87,29000:-0.59,30000:+0.00,31000:+0.51,37000:+3.79,43000:+7.07,49000:+10.36,55000:+13.64,62000:+17.43,68000:+20.71,74000:+23.99,81000:+27.78,87000:+31.06,93000:+34.35,100000:+38.14,106000:+41.42,112000:+44.70,118000:+47.99,125000:+51.77,131000:+55.06,137000:+58.34,144000:+62.13,150000:+65.41
D coverage_e 100000=100000:+0.00,300000:+3.28,500000:+5.56,1000000:+10.69
เครื่องมือ 2: live_carrier_quotes
วัตถุประสงค์: ยืนยันประมาณการใบเสนอราคาบนเว็บไซต์ขอใบเสนอราคาของบริษัทประกันเอง
เครื่องมือนี้เป็นแบบ idempotent: การเรียกครั้งแรกจะส่งเอเจนต์การใช้คอมพิวเตอร์; การเรียกอีกครั้งด้วยอาร์กิวเมนต์เดียวกันจะรวบรวมความคืบหน้าและผลลัพธ์จากการเรียกครั้งแรก
การส่งข้อมูลสดจะส่งรายละเอียดจริงของผู้ใช้ไปยังบริษัทประกัน ซึ่งอาจทำการตรวจสอบเครดิตแบบนุ่มนวล ความยินยอมของผู้ใช้จะถูกรวบรวมก่อนเรียกเครื่องมือ
Foresee เก็บรวบรวมเฉพาะใบเสนอราคา; ไม่รับชำระเงินหรือผูกมัดประกัน
พารามิเตอร์อินพุต
| พารามิเตอร์ | ชนิด | จำเป็น | รายละเอียด |
|---|---|---|---|
profile | object | ใช่ | ฟิลด์เดียวกันกับ quote_insurance — ข้อเท็จจริงสำหรับการจัดอันดับ |
lines | object | ใช่ | หนึ่งคีย์ต่อบรรทัดที่จะเดิน (walk) แต่ละค่าคือคำขอ (ask) ของบรรทัดนั้น (ดูด้านล่าง); หลายคีย์สั่งให้เดินแบบรวมชุด |
user_authorization | string | ใช่ | คำยืนยันในแชทของผู้ใช้ ตามตัวอักษร (เช่น yes, go ahead) |
identity | object | ปกติ | รายละเอียดของผู้ใช้ |
carriers | string[] | ไม่ | จำกัดผู้ให้ประกัน; ค่าเริ่มต้นคือทุกผู้ให้ประกันที่มีการเดินที่ตรวจสอบแล้วสำหรับบรรทัด + รัฐ |
lines
| บรรทัด | คำขอ | เหตุผล |
|---|---|---|
auto | จำเป็น — แกนสี่แกนเดียวกันกับ quote_insurance (bi, pd, coll_deductible, comp_deductible) เป็นตัวเลขจริง | วงเงินและค่าเสียหายส่วนแรกที่ตัวแทนขอจากแบบฟอร์มของผู้ให้ประกัน |
home | ไม่มี — {"home": null} | แบบฟอร์มของผู้ให้ประกันเองกำหนดราคาแพ็กเกจ (จำนวนที่พักอาศัยจากประมาณการต้นทุนทดแทน); ตัวแทนรายงานสิ่งที่เลือก คำขอที่ส่งไปจะถูกปฏิเสธอย่างชัดเจน ไม่ใช่ถูกเพิกเฉยเงียบ ๆ |
renters | จำเป็น — coverage_c, coverage_e, coverage_f, deductible เป็นจำนวนเงินจริง | ตัวแทนพิมพ์ตัวเลขของผู้ใช้ลงในแบบฟอร์มแทนการยอมรับค่าเริ่มต้น; Foresee ไม่เคยสร้างขึ้นเอง |
หลายคีย์พร้อมกันสั่งให้เดินแบบรวมชุด: ผู้ให้ประกันแต่ละรายที่ครอบคลุมบรรทัดที่ระบุทั้งหมดจะถูกขับผ่านขั้นตอนการเสนอราคาหลายบรรทัดของตนเอง และรายงานเบี้ยประกันรายบรรทัดพร้อมยอดรวมชุดของตนเอง; ผู้ให้ประกันที่ครอบคลุมเพียงบางบรรทัดจะถูกเดินเฉพาะบรรทัดเหล่านั้น กฎคำขอรายบรรทัดไม่เปลี่ยนแปลงเมื่อรวมชุด
identity
| ฟิลด์ | ชนิด | จำเป็น | รายละเอียด |
|---|---|---|---|
first_name | string | ใช่ | ชื่อจริงตามกฎหมาย |
last_name | string | ใช่ | นามสกุลตามกฎหมาย |
dob | string, YYYY-MM-DD | ใช่ | |
street | string | ใช่ | ที่อยู่ถนน (บรรทัด 1) |
unit | string | ไม่ | อพาร์ตเมนต์/ห้องชุด (บรรทัด 2) |
city | string | ใช่ | |
zip_code | string | ไม่ | เฉพาะเมื่อแตกต่างจากในโปรไฟล์ |
email | string | ใช่ | ผู้ให้ประกันส่งใบเสนอราคามาที่นี่ |
phone | string | ไม่ |
การตอบกลับ
| ฟิลด์ | ความหมาย |
|---|---|
status | in_progress / partial / complete — เรียกใหม่ด้วยอาร์กิวเมนต์เดียวกันเพื่อเก็บผลลัพธ์ |
agents | หนึ่งรายการต่อผู้ให้ประกัน (ดูด้านล่าง) |
note | สิ่งที่ต้องทำต่อไป เช่น จังหวะการเรียกใหม่ หรือว่าผลลัพธ์จากการรันก่อนหน้าถูกส่งคืนแล้ว |
authorization_recorded | ในใบเสร็จ: บันทึกความยินยอมถูกจัดเก็บก่อนที่ผู้ให้ประกันรายใดจะเห็นความเสี่ยง |
skipped | ผู้ให้ประกันที่ไม่ได้ถูกส่งออก แต่ละรายพร้อมเหตุผล (no_deterministic_walk, missing_facts พร้อมข้อเท็จจริงที่ระบุชื่อ) |
not_dispatched | ผู้ให้ประกันที่ใช้เครื่องมือกำหนดราคา ซึ่งการส่งครั้งนี้จะไม่เดิน พร้อมเหตุผล (held: …, no_walk, not_walked, offline, not_sold) — คำแนะนำที่ช่องทางการเดินไม่สามารถยืนยันได้จะไม่หายไปเงียบ ๆ |
needs | เมื่อถูกปฏิเสธแบบ missing_facts: ข้อเท็จจริงรายผู้ให้ประกันที่ต้องเก็บจากผู้ใช้ พร้อมเส้นทาง schema ที่แน่นอน — และสำหรับฟิลด์คำศัพท์ปิด ค่า values ที่ยอมรับ |
assumptions | ข้อเท็จจริงแบบฟอร์มย่อยที่ไม่ถูกยืนยัน ซึ่งการเดินแก้ไขเป็นคำตอบ "ไม่มีเคลม" ที่ประกาศ: เส้นทางโปรไฟล์ (field) และค่าที่ส่ง (assumed) — ส่งต่อทุกอันพร้อมผลลัพธ์ |
error / detail | ทุกการปฏิเสธคือ dict แบบ {"error", "detail"} ที่มีโครงสร้าง |
แต่ละรายการ agents:
| ฟิลด์ | เมื่อใด | ความหมาย |
|---|---|---|
carrier_key, carrier | เสมอ | คีย์รายชื่อ + ชื่อที่แสดง |
status | เสมอ | in_progress / complete / failed |
lines | เสมอ | บรรทัดที่การเดินนี้ครอบคลุม — หลายบรรทัดในการเดินแบบรวมชุด |
stage, eta_seconds_remaining | กำลังดำเนินการ | ตำแหน่งของการเดิน; เวลาที่เหลือเทียบกับขั้นตอนทั่วไปของผู้ให้ประกัน |
quote.premium | มีราคา | ตามตัวอักษรที่หน้าของผู้ให้ประกันพิมพ์ ("$857.80") — ไม่ถูกแยกวิเคราะห์ ปัดเศษ หรือคำนวณต่อ |
quote.term_months | มีราคา | ระยะเวลาที่เบี้ยประกันที่พิมพ์ครอบคลุม |
quote.premium_by_line | มีราคา, เดินแบบรวมชุด | เบี้ยประกันรายบรรทัดตามที่หน้าพิมพ์ ถัดจากยอดรวมชุดใน quote.premium |
quote.breakdown | มีราคา | รายการบรรทัดของหน้าเอง ป้ายกำกับของหน้าเอง |
quote.bound | มีราคา, การเดินใหม่กว่า | ความคุ้มครองที่อ่านจากหน้าที่มีราคา — สิ่งที่แบบฟอร์มผูกจริง เทียบกับสิ่งที่ถูกขอ |
quote.variants | มีราคา | แพ็กเกจเพิ่มเติมที่มีราคาที่หน้าเสนอ |
quote.quote_number | มีราคา | หมายเลขการเรียกค้นของผู้ให้ประกัน เมื่อหน้าแสดงหนึ่ง |
quote.evidence_recorded | มีราคา | หลักฐานภาพหน้าจอมีอยู่ฝั่งเซิร์ฟเวอร์ (URI ภายในไม่เคยถูกส่งผ่านสาย) |
declined: true + detail | ถูกปฏิเสธ | ผู้ให้ประกันตรวจสอบรายละเอียดและปฏิเสธที่จะเสนอราคา เป็นคำตอบ ไม่ใช่ข้อผิดพลาด — ส่งต่อมัน |
detail | ล้มเหลว | คำพูดของการเดินเองสำหรับจุดที่หยุดและเหตุผล |
การปฏิเสธ
ทุกการปฏิเสธคือ object แบบ {"error", "detail"} ที่มีโครงสร้าง — ไม่มีอะไรถูกส่งไปยังผู้ให้ประกันรายใด เว้นแต่แถวด้านล่างจะบอกเป็นอย่างอื่น
| รหัส | เมื่อใด | สิ่งที่ต้องทำ |
|---|---|---|
profile_required | ข้อเท็จจริงครัวเรือนถูกส่งที่ระดับบนสุด ไม่มี wrapper แบบ profile | เรียกใหม่โดยห่อข้อเท็จจริงตามที่แสดงใน example_arguments ของการปฏิเสธ |
authorization_required | ถูกเรียกโดยไม่มีการยินยอมจากผู้ใช้ | อธิบายข้อเท็จจริงความยินยอม รับคำว่าใช่ ส่งต่อตามตัวอักษรใน user_authorization |
bad_identity | drivers_license_number ที่มีลักษณะเหมือน SSN | ไม่เคยเก็บ SSN; ส่งหมายเลขใบอนุญาตตามที่พิมพ์บนใบอนุญาต |
bad_profile | ฟิลด์โปรไฟล์ไม่ผ่านการตรวจสอบ | detail ระบุชื่อฟิลด์ |
one_line_per_dispatch | แผนที่ lines ว่างเปล่า | ระบุอย่างน้อยหนึ่งบรรทัดที่จะเดิน |
unknown_line | บรรทัดที่ไม่มีการเดิน (เช่น umbrella) | detail แสดงรายการบรรทัดที่การส่งสดรู้จัก |
coverage_selection_required | การเดินแบบอัตโนมัติหรือผู้เช่าโดยไม่มีวงเงินและค่าเสียหายส่วนแรกครบ | เรียกใหม่พร้อมตัวเลข — การเดินพิมพ์ค่าจริง ไม่เคยใช้ค่าเริ่มต้น |
bad_ask | การเดินแบบบ้านที่ได้รับคำขอความคุ้มครอง | ส่ง {"home": null} — แบบฟอร์มของผู้ให้ประกันเองกำหนดราคาแพ็กเกจ |
missing_facts | ไม่มีแบบฟอร์มของผู้ให้ประกันที่ขอใดที่กรอกจากโปรไฟล์ได้ | ถามผู้ใช้สำหรับข้อเท็จจริง needs[].fields[] (ใช้ values ของพวกเขาที่ให้บริการ) และเรียกใหม่ — ดูด้านล่าง |
no_carriers | ไม่มีผู้ให้ประกันที่มีการเดินที่ตรวจสอบแล้วสำหรับบรรทัด + รัฐนั้น | ถอยไปใช้ quote_insurance |
launch_failed | ตัวแทนไม่สามารถเริ่มได้ | ไม่มีอะไรถึงผู้ให้ประกันรายใด — การลองใหม่ปลอดภัย |
ตัวอย่าง: รถยนต์
ครัวเรือนในเฟรสโนยืนยันหมายเลขของ GEICO เอง โปรไฟล์มีข้อเท็จจริงที่แบบฟอร์มของ GEICO ยืนยัน (ความเป็นเจ้าของ, จังหวะการซื้อ, ประกันก่อนหน้า, อายุที่ได้รับใบอนุญาตครั้งแรก…); identity คือผู้สมัครจริง; คำขอคือแกนสี่แกนเดียวกันกับ quote_insurance
{
"profile": {
"zip_code": "93722",
"dob": "1954-07-02",
"gender": "Male",
"marital_status": "Married",
"education": "Bachelors",
"employment_status": "Employed",
"occupation": "Accountant or CPA",
"home_ownership_status": "Own",
"prior_insurance": {"insured": true, "limits": "not sure"},
"auto": {
"vehicles": [{
"year": 2024, "make": "Ford", "model": "Maverick",
"ownership": "Financed", "annual_mileage": 11000,
"primary_use": "pleasure", "purchase_date": "2026-08"
}],
"drivers": [{
"relation": "self", "age_first_licensed": 16,
"years_licensed_outside_us": 0, "defensive_driving_course": true,
"accidents": [], "violations": []
}]
}
},
"identity": {
"first_name": "Cornelius", "last_name": "Beaumont", "dob": "1954-07-02",
"street": "4381 W Spruce Ave", "city": "Fresno", "zip_code": "93722",
"email": "cornelius.beaumont@example.com", "phone": "559-555-0164"
},
"lines": {"auto": {"bi": "100/300", "pd": 100, "coll_deductible": 500, "comp_deductible": 500}},
"carriers": ["geico"],
"user_authorization": "yes, go ahead and get me GEICO's real quote"
}
{
"status": "in_progress",
"authorization_recorded": true,
"agents": [
{
"carrier_key": "geico",
"carrier": "GEICO",
"method": "browser_agent",
"detail": "deterministic Foresee agent completing the carrier's own quote flow with the user's details",
"eta_seconds": 480
}
],
"skipped": [],
"note": "1 carrier(s) are being quoted live. Collect results by calling this tool again with the same arguments after a few minutes."
}
การเรียกใหม่ด้วยอาร์กิวเมนต์เดียวกันในภายหลังเก็บการเดินที่เสร็จสิ้น
เบี้ยประกันคือสตริงของหน้าเอง; breakdown คือป้ายกำกับของหน้าเอง (GEICO พิมพ์สองแพ็กเกจเคียงข้างกัน); term_months บอกว่าหมายเลขครอบคลุมอะไร — $857.80 ต่อ 6 เดือน ไม่ใช่ต่อเดือน
{
"status": "complete",
"agents": [
{
"carrier_key": "geico",
"carrier": "GEICO",
"method": "browser_agent",
"status": "complete",
"quote": {
"premium": "$857.80",
"currency": "USD",
"term_months": 6,
"quote_number": null,
"breakdown": {
"Less Coverage": "$857.80",
"More Coverage": "$870.70"
},
"evidence_recorded": true
}
}
]
}