Foresee
官方Foresee 讓 AI 助手能夠比較所有保險公司和保障選項的房屋及汽車保險,提供即時、準確、詳細的報價估算。
你可以用 Foresee MCP 做什麼?
- 比較汽車保險報價 — 使用
quote_insurance並提供您的車輛與保障細節,即可即時取得多家保險公司的分項估價。 - 為房屋或租屋保險定價 — 透過指定房產細節與保障上限(如
coverage_a或coverage_c),取得詳細的房屋或租屋報價。 - 探索保障取捨 — 在回應中的價格階梯中,查看調整自負額或上限如何影響每月保費。
- 找出遺漏因素 — 根據
tighten_by建議,詢問哪些遺漏的細節(如annual_mileage或駕駛紀錄)最能影響您的報價。 - 與保險公司確認估價 — 使用 agents 伺服器上的
live_carrier_quotes,直接與保險公司核實報價估算。
託管 MCP 伺服器
npx add-mcp 'https://agents.go-foresee.com/mcp'可安裝到 Claude Code、Codex、Cursor 等客戶端
文件
文件
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_partial | boolean | 否 | false |
include_failures | boolean | 否 | true |
個人資料
核心個人資料
有一個核心輸入 profile,加上汽車與房屋/租戶保險的額外區塊。
唯一必填欄位為年齡(或 dob)、郵遞區號,以及(汽車保險)車輛詳細資料。
省略的選填欄位會成為已聲明的假設:我們選擇保守的替代值,並回報為 assumptions — 例如 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 | string[] | 否 |
汽車保險個人資料
| 欄位 | 型別 | 必填 |
|---|---|---|
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 是結構化物件的清單,空清單表示紀錄乾淨。
房屋與租戶保險個人資料
| 欄位 | 型別 | 必填 |
|---|---|---|
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 | 否 | 額外生活費用:若您必須在房屋修繕期間搬出,所需的額外生活開銷。限額(美元) |
回應格式
| 前綴 | 頻率 | 意義 |
|---|---|---|
Q | 每個險種一次 | 已定價的內容:州別、險種、保障選擇 |
format: factors: | 每個險種一次 | 下方所有內容的自述圖例 |
assumptions: | 每個險種一次 | Foresee 所做的假設;high_impact: true 表示該欄位會大幅影響報價估算 |
tighten_by: | 每個險種一次 | 對價格影響最大的假設/遺漏事實 |
not_priced: | 適用時 | 被排除的保險公司及原因 |
C | 每家保險公司一次 | 保險公司、簽單實體、每月保費(點估計與信賴區間) |
W | 視需要 | 附加於上方保險公司的警告 — 例如「不承保州最低體傷/財損責任險」 |
L | 每家保險公司一次 | 每個保障或危險事故的每月成本 |
F | 每家保險公司多個 | 每個險種一個評級因子,名稱見 factors: 圖例。數值與 L 代碼一對一對應:空白 = 不影響該保障,單一數值 = 適用於所有保障。括號內為個人資料所在的列(如 100/300 的階梯、90066 的事實,或 applied / not applied)。數值後綴:無 = 精確,~ = 衍生,? = 估算 |
D | 每家保險公司 | 價格階梯:針對每個保障槓桿,每個提供的階梯以 ±美元/月 相對於報價月保費呈現,其他條件維持在選擇值。+0.00 標記所選階梯;(asked X) = X 未提供,價格位於最接近的提供階梯。從 D 重新定價;不要重新呼叫 |
範例:汽車
一位 41 歲、郵遞區號 90066、擁有 2021 年 Honda Civic 的車主。
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}
format: Q state [line] sel=<coverage_selection priced, JSON> ; C=carrier|entity|monthly|ci lo-hi ; tighten_by=missing facts that most move the price — offer to re-quote with the user's answers ; L COV:$,.. = monthly $ per coverage ; F fid(selected)=v,v,.. = rating factor, one value per coverage in the L order, blank=not applied, single value=all coverages, suffix ?=estimated ~=derived none=exact ; D lever selected=option:±$/mo vs the carrier's monthly, others held at the selection (selected(asked X) = X is not an option; the price is at the selected rung shown) ; W = warning — e.g. an asked limit is not offered and the price covers the nearest offered rung instead
factors: f0=BI Limit f1=Good Driver f2=Group Placement (Rule G) f3=PD Limit f4=UMBI Limit f5=Medical Payments Limit f6=Comprehensive Deductible f7=Collision Deductible f8=Vehicle Symbol f9=ca_good_driver_pri f10=group f11=UM Limit
assumptions: [{"assumed":"Male","field":"gender","high_impact":false},{"assumed":"Single","field":"marital_status","high_impact":false},{"assumed":12000,"field":"annual_mileage","high_impact":true},{"assumed":0,"field":"accidents_3yr","high_impact":true},{"assumed":0,"field":"violations_3yr","high_impact":true},{"assumed":false,"field":"dui","high_impact":true},{"assumed":false,"field":"currently_insured","high_impact":true},{"assumed":null,"field":"homeowner","high_impact":false},{"assumed":null,"field":"occupation","high_impact":true},{"assumed":null,"field":"memberships","high_impact":true}]
tighten_by: annual_mileage,accidents_3yr,violations_3yr,dui,currently_insured,occupation,memberships
not_priced: usaa:USAA sells only to military members, veterans, and their fam
C mercury|Mercury Insurance Company|235.11
L BI:56.33,PD:44.10,UMBI:16.85,MP:0.97,COMP:17.49,COLL:99.38
F f0(100/300)=1.51,,,,,
F f1(applied)=0.8
F f2(not applied)=1.0
F f3(100)=,1.38,,,,
F f4(30/60)=,,1.65,,,
F f5(1000)=,,,1.0,,
F f6(500)=,,,,0.89,
F f7(500)=,,,,,1.0
D bi 100/300=15/30 *available through December 31, 2024:-19.03,25/50 *available through December 31, 2024:-14.18,30/60 *available on or after January 1, 2025:-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=5:-15.34,10:-12.14,15:-9.27,25:-7.99,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,CP:15.50,CL:114.33,UMBI:19.50
F f0(100000/300000)=1.649,,,,
F f8(symbol AA)=1.009?,1.003?,,,
F f9(applied)=0.8
F f10(not applied)=1.0
F f3(100000)=,1.443,,,
F f6(500)=,,0.627,,
F f8(symbol 12)=,,0.941?,,
F f7(500)=,,,0.801,
F f8(symbol 17)=,,,1.013?,
F f11(30000/60000)=,,,,1.5
F f8(symbol 1)=,,,,1.0?
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
present: Lead with the best option for this user — its price and a one-line reason — then a comparison sorted cheapest-first (Carrier · Monthly · 6-month total; a markdown table when your surface renders it) and the annual dollar spread between cheapest and priciest — that spread is the reason to compare. These are Foresee's estimates of what each carrier will charge; the assumptions and tighten_by blocks say how they were made and how to sharpen them. Foresee never takes payment: when the user settles on a carrier (or asks to buy), give that carrier's carrier_quote_url as a clickable link — the purchase completes on the carrier's own quoting portal.
汽車 L 代碼是保險公司定價的保障(合併的 BIPD,或分開的 BI/PD,加上碰撞險、綜合險、未保險駕駛人險、費用)。它們不會在整個面板中標準化。
範例:房屋
同上一位 41 歲車主,為一棟 1998 年建造、重置成本 45 萬美元的木造房屋投保:
{
"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 以已定價之保障 A 的比例回顯 B/C/D。Mercury 的 L 是
危險事故分解(火災、水災、野火、費用);AAA 改為申報套裝保費。住宅事實位於 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}
format: Q state [line] sel=<coverage_selection priced, JSON> ; C=carrier|entity|monthly|ci lo-hi ; tighten_by=missing facts that most move the price — offer to re-quote with the user's answers ; L COV:$,.. = monthly $ per coverage ; F fid(selected)=v,v,.. = rating factor, one value per coverage in the L order, blank=not applied, single value=all coverages, suffix ?=estimated ~=derived none=exact ; D lever selected=option:±$/mo vs the carrier's monthly, others held at the selection (selected(asked X) = X is not an option; the price is at the selected rung shown) ; W = warning — e.g. an asked limit is not offered and the price covers the nearest offered rung instead
factors: f0=Deductible f1=Coverage A f2=Multiple Policy Discount (Automobile) f3=Personal Property Replacement Cost f4=Additional Replacement Cost f5=Ordinance or Law f6=Reduced Coverage Endorsement f7=Coverage E f8=Coverage F f9=Enhanced Home Package f10=Water Backup Limit f11=Other Perils Deductible (Table 5 relativity, additive) f12=Water Deductible (Table 5 relativity, additive) f13=Coverage A / Amount of Insurance Relativity (Table 5) f14=Package Discount (Exchange auto policy)
assumptions: [{"assumed":"Asphalt Shingle","field":"roof_type","high_impact":false},{"assumed":1,"field":"stories","high_impact":false},{"assumed":2,"field":"bathrooms","high_impact":false},{"assumed":1,"field":"families","high_impact":false},{"assumed":"Primary","field":"residency_type","high_impact":false},{"assumed":5,"field":"protection_class","high_impact":true},{"assumed":"Attached","field":"garage_type","high_impact":false},{"assumed":"Single","field":"marital_status","high_impact":false},{"assumed":[],"field":"home_losses","high_impact":true}]
tighten_by: protection_class,home_losses
C mercury|CALIFORNIA AUTOMOBILE INS CO|123.67
L P1_FIRE:34.69,P2_LIABILITY:6.39,P3_THEFT:6.40,P4_WIND:2.68,P5_WATER:61.56,P6_OTHER:3.57,P7_CAT_WIND:0.97,P10_CAT_WATER:0.04,P12_WILDFIRE:0.43,P13_FFEQ:1.36,WC_RESIDENCE_EMPLOYEES_910:0.67,FEE:3.75,FEE:1.16,FEE:0.01
F f0(1000)=0.95,,0.887,0.963,1.0,0.909,0.963,1.0,0.95,0.95,,,,
F f1(450000)=1.895,1.206,1.142,0.901,2.519,1.176,0.901,2.519,1.518,2.313,,,,
F f2(No)=1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,,,,
F f3(No)=1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,,,,
F f4(No)=1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,,,,
F f5(0.1)=1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,,,,
F f6(No)=1.0,,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,,,,
F f7(300000)=,1.5,,,,1.0,,,,,,,,
F f8(1000)=,1.5,,,,,,,,,,,,
F f9(No)=,,1.0,1.0,1.0,1.0,1.0,1.0,,,,,,
F f10(No)=,,,,1.0,,,1.0,,,,,,
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 Package:139.00,MedPayIL:0.00,LiabilityIL:2.08,BrushFire:0.00,FireFollowingEQ:3.42,FEE:1.60
F f11(1000)=0.393,,,,,
F f12(1000)=1.092,,,,,
F f13(450000)=1.485,,,,,
F f14(No)=1.0,,,,,
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
present: Lead with the best option for this user — its price and a one-line reason — then a comparison sorted cheapest-first (Carrier · Monthly · 6-month total; a markdown table when your surface renders it) and the annual dollar spread between cheapest and priciest — that spread is the reason to compare. These are Foresee's estimates of what each carrier will charge; the assumptions and tighten_by blocks say how they were made and how to sharpen them. Foresee never takes payment: when the user settles on a carrier (or asks to buy), give that carrier's carrier_quote_url as a clickable link — the purchase completes on the carrier's own quoting portal.
範例:租戶
同一郵遞區號的另一個家庭:一位 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}
format: Q state [line] sel=<coverage_selection priced, JSON> ; C=carrier|entity|monthly|ci lo-hi ; tighten_by=missing facts that most move the price — offer to re-quote with the user's answers ; L COV:$,.. = monthly $ per coverage ; F fid(selected)=v,v,.. = rating factor, one value per coverage in the L order, blank=not applied, single value=all coverages, suffix ?=estimated ~=derived none=exact ; D lever selected=option:±$/mo vs the carrier's monthly, others held at the selection (selected(asked X) = X is not an option; the price is at the selected rung shown) ; W = warning — e.g. an asked limit is not offered and the price covers the nearest offered rung instead
factors: f0=Coverage C - Personal Property f1=Deductible f2=Coverage D - Loss of Use (% of C) f3=Additional Living Expense Term (months) f4=Contents Loss Settlement (ACV) f5=Enhanced Personal Property Coverage f6=Claims Free Discount f7=Multi-Policy Discount - Renter/auto f8=Multi-Policy Discount - Renter/life f9=Multi-Policy Discount - Renter/umbrella f10=Multi-Policy Discount - Renter/business f11=Multi-Policy Discount - Renter/boat f12=Multi-Policy Discount - Renter/motorhome f13=Multi-Policy Discount - Renter/recreational_vehicle f14=Multi-Policy Discount - Renter/cea f15=ZIP Code f16=Fireline Score f17=Experience Rating (points) f18=Coverage E - Personal Liability f19=Premises Rented to Others Solely Used as a Private Residence
assumptions: [{"assumed":2000,"field":"year_built","high_impact":false},{"assumed":5,"field":"protection_class","high_impact":false},{"assumed":"Single","field":"marital_status","high_impact":false},{"assumed":[],"field":"home_losses","high_impact":true}]
tighten_by: home_losses
not_priced: usaa:USAA sells only to military members, veterans, and their fam
C farmers|Fire Insurance Exchange|29.88
L PC1_PROPERTY:21.00,PC2_LIABILITY:8.17,FEE:0.42,FEE:0.30
F f0(30000)=1.087,,,
F f1(500)=1.0,,,
F f2(20)=1.0,,,
F f3(12)=1.0,,,
F f4(N)=1.0,,,
F f5(N)=1.0,,,
F f6(Y)=0.9,,,
F f7(N)=1.0,1.0,,
F f8(N)=1.0,1.0,,
F f9(N)=1.0,1.0,,
F f10(N)=1.0,1.0,,
F f11(N)=1.0,1.0,,
F f12(N)=1.0,1.0,,
F f13(N)=1.0,1.0,,
F f14(N)=1.0,1.0,,
F f15(90066)=1.423,,,
F f16(0)=1.0,,,
F f17(0)=1.0,,,
F f18(100000)=,1.0,,
F f19({})=,1.0,,
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
present: Lead with the best option for this user — its price and a one-line reason — then a comparison sorted cheapest-first (Carrier · Monthly · 6-month total; a markdown table when your surface renders it) and the annual dollar spread between cheapest and priciest — that spread is the reason to compare. These are Foresee's estimates of what each carrier will charge; the assumptions and tighten_by blocks say how they were made and how to sharpen them. Foresee never takes payment: when the user settles on a carrier (or asks to buy), give that carrier's carrier_quote_url as a clickable link — the purchase completes on the carrier's own quoting portal.
範例:汽車 + 租戶組合
同上一位 27 歲租戶,現在多了一輛車。"incidents": [] 表示紀錄乾淨,因此駕駛紀錄問題完全留空 assumptions:。
{
"profile": {
"zip_code": "90066",
"age": 27,
"incidents": [],
"prior_insurance": {"insured": true, "carrier": "GEICO", "since": "2019"},
"auto": {"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 為兩者定價,提供 20% 折扣,記錄於 B。
相同的摘要以 bundle: {farmers: {lines, bundle_total, standalone_total, savings}} 的形式搭載於 structuredContent 中。
Q CA auto sel={"bi":"100/300","coll_deductible":500,"comp_deductible":500,"pd":100}
format: Q state [line] sel=<coverage_selection priced, JSON> ; C=carrier|entity|monthly|ci lo-hi ; tighten_by=missing facts that most move the price — offer to re-quote with the user's answers ; L COV:$,.. = monthly $ per coverage ; F fid(selected)=v,v,.. = rating factor, one value per coverage in the L order, blank=not applied, single value=all coverages, suffix ?=estimated ~=derived none=exact ; D lever selected=option:±$/mo vs the carrier's monthly, others held at the selection (selected(asked X) = X is not an option; the price is at the selected rung shown) ; W = warning — e.g. an asked limit is not offered and the price covers the nearest offered rung instead ; B carrier|bundled $/mo|standalone $/mo|saves $/mo = this carrier priced the asked lines together; the per-line C prices ARE the bundled prices
factors: f0=BI Limit f1=Good Driver f2=Group Placement (Rule G) f3=PD Limit f4=UMBI Limit f5=Medical Payments Limit f6=Comprehensive Deductible f7=Collision Deductible f8=Business & Professional Group f9=UM Limit
assumptions: [{"assumed":"Male","field":"gender","high_impact":false},{"assumed":"Single","field":"marital_status","high_impact":false},{"assumed":null,"field":"homeowner","high_impact":false},{"assumed":null,"field":"occupation","high_impact":true},{"assumed":null,"field":"memberships","high_impact":true}]
tighten_by: occupation,memberships
C mercury|Mercury Insurance Company|289.94
L BI:66.80,PD:52.55,UMBI:17.38,MP:1.05,COMP:23.50,COLL:128.67
F f0(100/300)=1.51,,,,,
F f1(applied)=0.8
F f2(not applied)=1.0
F f3(100)=,1.38,,,,
F f4(30/60)=,,1.65,,,
F f5(1000)=,,,1.0,,
F f6(500)=,,,,0.89,
F f7(500)=,,,,,1.0
D bi 100/300=15/30 *available through December 31, 2024:-22.56,25/50 *available through December 31, 2024:-16.81,30/60 *available on or after January 1, 2025:-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=5:-18.28,10:-14.47,15:-11.04,25:-9.52,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,MED:13.33,COMP:34.00,COLL:133.17,FEE:2.50
F f0(100000/300000)=1.46,,,,,,,
F f1(applied)=0.8,0.8,0.8,0.8,0.8,0.8,0.8,
F f8(not applied)=1.0,1.0,1.0,1.0,1.0,1.0,1.0,
F f3(100000)=,1.2674,,,,,,
F f9(30000/60000)=,,1.2788,,,,,
F f6(500)=,,,,,1.0009,,
F f7(500)=,,,,,,1.1986,
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}
format: Q state [line] sel=<coverage_selection priced, JSON> ; C=carrier|entity|monthly|ci lo-hi ; tighten_by=missing facts that most move the price — offer to re-quote with the user's answers ; L COV:$,.. = monthly $ per coverage ; F fid(selected)=v,v,.. = rating factor, one value per coverage in the L order, blank=not applied, single value=all coverages, suffix ?=estimated ~=derived none=exact ; D lever selected=option:±$/mo vs the carrier's monthly, others held at the selection (selected(asked X) = X is not an option; the price is at the selected rung shown) ; W = warning — e.g. an asked limit is not offered and the price covers the nearest offered rung instead ; B carrier|bundled $/mo|standalone $/mo|saves $/mo = this carrier priced the asked lines together; the per-line C prices ARE the bundled prices
factors: f0=Coverage C - Personal Property f1=Deductible f2=Coverage D - Loss of Use (% of C) f3=Additional Living Expense Term (months) f4=Contents Loss Settlement (ACV) f5=Enhanced Personal Property Coverage f6=Claims Free Discount f7=Multi-Policy Discount - Renter/auto f8=Multi-Policy Discount - Renter/life f9=Multi-Policy Discount - Renter/umbrella f10=Multi-Policy Discount - Renter/business f11=Multi-Policy Discount - Renter/boat f12=Multi-Policy Discount - Renter/motorhome f13=Multi-Policy Discount - Renter/recreational_vehicle f14=Multi-Policy Discount - Renter/cea f15=ZIP Code f16=Fireline Score f17=Experience Rating (points) f18=Coverage E - Personal Liability f19=Premises Rented to Others Solely Used as a Private Residence
assumptions: [{"assumed":5,"field":"protection_class","high_impact":false},{"assumed":"Single","field":"marital_status","high_impact":false},{"assumed":[],"field":"home_losses","high_impact":true}]
tighten_by: home_losses
C farmers|Fire Insurance Exchange|24.06
L PC1_PROPERTY:16.80,PC2_LIABILITY:6.54,FEE:0.42,FEE:0.30
F f0(30000)=1.087,,,
F f1(500)=1.0,,,
F f2(20)=1.0,,,
F f3(12)=1.0,,,
F f4(N)=1.0,,,
F f5(N)=1.0,,,
F f6(Y)=0.9,,,
F f7(Y - Farmers)=0.8,0.8,,
F f8(N)=1.0,1.0,,
F f9(N)=1.0,1.0,,
F f10(N)=1.0,1.0,,
F f11(N)=1.0,1.0,,
F f12(N)=1.0,1.0,,
F f13(N)=1.0,1.0,,
F f14(N)=1.0,1.0,,
F f15(90066)=1.423,,,
F f16(0)=1.0,,,
F f17(0)=1.0,,,
F f18(100000)=,1.0,,
F f19({})=,1.0,,
D deductible 500=100:+4.71,250:+1.48,500:+0.00,1000:-2.09,1500:-3.43,2500:-5.38
D coverage_c 30000=4000:-13.06,10000:-9.56,17000:-5.72,23000:-3.10,29000:-0.47,30000:+0.00,31000:+0.41,37000:+3.03,43000:+5.66,49000:+8.29,55000:+10.91,62000:+13.94,68000:+16.57,74000:+19.19,81000:+22.22,87000:+24.85,93000:+27.48,100000:+30.51,106000:+33.14,112000:+35.76,118000:+38.39,125000:+41.42,131000:+44.05,137000:+46.67,144000:+49.70,150000:+52.33
D coverage_e 100000=100000:+0.00,300000:+2.62,500000:+4.45,1000000:+8.55
B farmers|422.06|427.88|5.82
present: Lead with the best option for this user — its price and a one-line reason — then a comparison sorted cheapest-first (Carrier · Monthly · 6-month total; a markdown table when your surface renders it) and the annual dollar spread between cheapest and priciest — that spread is the reason to compare. A B row's per-line prices assume every bundled line is placed with that carrier; for a cross-carrier mix, compare standalone totals. These are Foresee's estimates of what each carrier will charge; the assumptions and tighten_by blocks say how they were made and how to sharpen them. Foresee never takes payment: when the user settles on a carrier (or asks to buy), give that carrier's carrier_quote_url as a clickable link — the purchase completes on the carrier's own quoting portal.
工具 2:live_carrier_quotes
用途:在保險公司自身的報價網站上確認報價估算。
此工具具有冪等性:第一次呼叫派遣電腦使用代理;以相同參數再次呼叫會收集第一次呼叫的進度與結果。
即時派遣會將使用者的真實詳細資料提交給保險公司,保險公司可能執行軟性信用查詢。呼叫工具前會先取得使用者的同意。
Foresee 僅收集報價;不會收款或綁定保險。
輸入參數
| 參數 | 型別 | 必填 | 詳細資料 |
|---|---|---|---|
profile | object | 是 | 與 quote_insurance 相同的欄位 — 評級事實 |
lines | object | 是 | 每個要執行的險種一個鍵,每個值為該險種的要求(請參閱下方);多個鍵會派遣組合執行 |
user_authorization | string | 是 | 使用者在聊天中的確認語句,逐字(例如 yes, go ahead) |
identity | object | 通常 | 使用者的詳細資料。 |
carriers | string[] | 否 | 限制範圍;預設為每個對該險種 + 州別有驗證執行流程的保險公司 |
lines
| 行 | 詢問 | 原因 |
|---|---|---|
auto | 必填 — 與 quote_insurance 相同的四個軸線(bi、pd、coll_deductible、comp_deductible),以實際數字呈現 | 代理人向保險公司表單詢問的限額與自付額 |
home | 無 — {"home": null} | 保險公司自己的表單為其保單定價( dwelling 金額來自其重置成本估算);代理人回報其選擇。提供的詢問會被大聲拒絕,而非默默忽略 |
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)— 將每一項與結果一起轉達 |
confirmation | 每家保險公司:即時引擎估算與頁面列印保費並列 — 若走訪多個險種則為捆綁估算 |
error / detail | 每次拒絕都是一個結構化的 {"error", "detail"} 字典 |
每個 agents 條目:
| 欄位 | 時機 | 意義 |
|---|---|---|
carrier_key、carrier | 永遠 | Roster 鍵 + 顯示名稱 |
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 | 失敗 | 走訪自身對在哪裡及為何停止的說明 |
拒絕
每次拒絕都是一個結構化的 {"error", "detail"} 物件 — 除非下方列說明,否則未向任何保險公司提交任何內容。
| 代碼 | 時機 | 該怎麼做 |
|---|---|---|
profile_required | 家庭事實以頂層傳送,無 profile 包裝 | 以拒絕訊息中 example_arguments 所示的包裝方式重新呼叫並包裹事實 |
authorization_required | 未經使用者同意即呼叫 | 說明同意事實,取得同意,並在 user_authorization 中逐字傳遞 |
bad_identity | 形似 SSN 的 drivers_license_number | 絕不收集 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 | 代理人無法啟動 | 未觸及任何保險公司 — 重試是安全的 |
範例:汽車
一個 Fresno 家庭確認 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
}
}
]
}