技能
Magisterium AI 透過 A2A 協定公開下列技能。請透過訊息上的 metadata.skillId 指定要使用的技能。若省略 skillId,則預設使用 catholic_qa。
| 技能 | ID | 描述 |
|---|---|---|
| 天主教問答 | catholic_qa | 完整問答,附帶來自 29,000 多份訓導文獻、《聖經》及教父著作的引用。 |
| 文獻搜尋 | document_search | 對訓導文獻、通諭、要理章節與教會法進行語意搜尋。 |
| 文獻擷取 | document_fetch | 透過 ID 擷取特定文獻的完整內文與中繼資料。 |
| 禮儀讀經 | liturgical_readings | 取得任意日期或禮儀時節的天主教彌撒讀經。 |
| 每日聖人 | saints_of_the_day | 取得《羅馬殉道錄》中某一日所紀念的聖人。 |
| 聖人查詢 | saint_lookup | 透過姓名或標準 ID 查詢一位聖人、真福、可敬者或天主之僕。 |
| 天主教聖職人員查詢 | person_lookup | 透過姓名或標準 ID 查詢一位天主教聖職人員(主教、樞機、總主教等)。 |
| 教宗查詢 | pope_lookup | 透過姓名或標準 ID 查詢一位教宗。 |
| 教區查詢 | diocese_lookup | 查詢一個教會管轄區(教區、總教區、宗主教區),含目錄中繼資料、重點統計資料與最新財務資訊。 |
| 教區統計時間序列 | diocese_statistics_lookup | 返回某教區完整的逐年統計時間序列 —— 19 項指標,每年一列。 |
所有技能皆透過 message/send JSON-RPC 方法呼叫。
{
"jsonrpc": "2.0",
"id": 1,
"method": "message/send",
"params": {
"message": {
"role": "user",
"messageId": "unique-id",
"kind": "message",
"parts": [{ "kind": "text", "text": "your query here" }],
"metadata": { "skillId": "document_search" }
}
}
}回應一定會以 Task(kind: "task")的形式返回,其 status.state 為 "completed",並附帶一個或多個 artifacts。每個 artifact 都有唯一的 artifactId、與技能相關的 name,以及一個或多個 parts(text、data 或 file)。
catholic_qa
用自然語言提出一個問題,獲得附帶引用的長篇回答。這是功能最強大(也最耗資源)的技能 —— 它執行於與 magisterium.com 相同的模型之上。
輸入: 含問題的單一文字 part。
Artifact: name: "catholic_qa_response",內容包含:
- 一個
textpart,含完整答案。 - 一個
datapart,內含citations(當使用了任何來源時)。 - 一個
datapart,內含related_questions(當模型返回建議時)。
{
"artifactId": "art_...",
"name": "catholic_qa_response",
"parts": [
{ "kind": "text", "text": "The Catholic Church teaches..." },
{ "kind": "data", "data": { "citations": [ /* ... */ ] } },
{ "kind": "data", "data": { "related_questions": [ /* ... */ ] } }
]
}
catholic_qa使用比其他技能更嚴格的速率限制變體。請參閱 API 參考 → 速率限制。
document_search
在 Magisterium 知識庫中擷取與語意查詢相符的文獻引用。
輸入: 含查詢的單一文字 part。
Artifact: name: "search_results",包含單一 data part:
{
"artifactId": "art_...",
"name": "search_results",
"parts": [
{
"kind": "data",
"data": {
"results": [
{ "id": "12345", "url": "https://...", "title": "Lumen Gentium" }
]
}
}
]
}使用結果中的 id 欄位呼叫 document_fetch 以取得完整內文。
document_fetch
透過 ID 擷取某份文獻的完整內文與中繼資料。此技能接受一個 data part,而不是文字 part:
{
"parts": [{ "kind": "data", "data": { "id": "12345" } }]
}若呼叫方傳送的是文字 part,處理程式會退回將其視為文獻 ID。
Artifact: name: "document",含兩個 part:
- 一個
textpart,內含文獻內文。 - 一個
datapart,內含{ id, title, author, ref }。
若找不到文獻,artifact 僅包含一個內容為 "Document not found." 的 text part。
liturgical_readings
取得指定日期的天主教彌撒讀經。接受 自然語言 的日期查詢 —— 例如「today」、「next Sunday」或「Easter Sunday 2026」。
輸入: 含日期查詢的單一文字 part。
Artifact: name: "mass_readings",包含單一 text part,其中為格式化後的讀經內容。若所請求的日期沒有可用的讀經,該 part 內容為 "No mass readings found."。
saints_of_the_day
從《羅馬殉道錄》中查詢指定日期所紀念的聖人。
輸入: 含絕對日期的 data part,或視為日期查詢的文字 part:
{
"parts": [{ "kind": "data", "data": { "date": "2026-03-19" } }]
}Artifact: name: "martyrology",包含單一 text part,其中為格式化後的殉道錄條目。若日期缺失則返回 "No martyrology data found."。
下列五項技能皆為 目錄查詢。每項都接受自然語言形式的 query(作為文字 part 或 data.query 欄位),並可選擇附帶一個標準 ID,並在單一 data part 中返回結構化資料。如果既未提供 query 也未提供標準 ID,該請求會以 INVALID_PARAMS(-32602)被拒絕。
當查詢無法解析時,artifact 會包含一個形如 { "error": "not_found", "query": "...", "hint"?: "..." } 的 data part,而非資料檔。任務本身仍會以成功狀態完成 —— not_found 是正常的查詢結果,而非協定錯誤。
saint_lookup
從 cd_saints 目錄(約 12,500 位人物)中查詢一位聖人、真福、可敬者或天主之僕。
輸入: data.query(例如 "Therese of Lisieux")或 data.saint_id(標準主鍵,例如 "jerome")。也接受裸文字 part 作為 query。
{
"parts": [{ "kind": "data", "data": { "query": "Catherine of Siena" } }]
}Artifact: name: "saint_profile",包含單一 data part,內含標準資料 —— saint_id、primary_name、canonical_status、vocation、image_url、learn_more_url、生平與離世、瞻禮日、封聖事由、主保、聖像表徵、傳記,以及(若發現多位候選人)一個 alternates 陣列。
person_lookup
從 cd_persons(在世,約 3,500 位)與 cd_persons_historical(約 2,200 位)目錄中查詢一位天主教聖職人員(主教、樞機、總主教等)。教宗則透過另外的 pope_lookup 技能提供。
輸入: data.query(例如 "Cardinal Tagle")或 data.person_id(標準主鍵)。也接受裸文字 part 作為 query。
{
"parts": [{ "kind": "data", "data": { "query": "Cardinal Tagle" } }]
}Artifact: name: "person_profile",包含單一 data part,內含標準資料 —— person_id、source_table、primary_name、current_position、image_url、coat_of_arms_url、晉鐸與祝聖日期、擢升樞機、主教傳承、教育、座右銘,以及任何 alternates。
若查詢僅解析為某位教宗,回應為 { "error": "not_found", "hint": "Top match looks like a pope; try get_pope." }。
pope_lookup
從 cd_popes 目錄(267 位)中查詢一位教宗。
輸入: data.query(例如 "Pope Francis"、"John Paul II")或 data.pope_id(標準主鍵,例如 "benedict-xvi")。也接受裸文字 part 作為 query。
{
"parts": [{ "kind": "data", "data": { "query": "John Paul II" } }]
}Artifact: name: "pope_profile",包含單一 data part,內含標準的教宗資料 —— pope_id、primary_name、papal_name、ordinal、pope_title、image_url、coat_of_arms_url、birth_name、origin、pontificate、宣福與封聖狀態,以及任何 alternates。
若查詢僅解析為某位非教宗的聖職人員,回應為 { "error": "not_found", "hint": "Top match looks like a non-pope clergy member; try get_person." }。
diocese_lookup
從教區目錄(全球約 3,200 個管轄區)中查詢一個教會管轄區(教區、總教區、宗主教區等)。
輸入: data.query(例如 "Archdiocese of Manila")或 data.source_code(標準主鍵,例如 "dmaml")。也接受裸文字 part 作為 query。
{
"parts": [{ "kind": "data", "data": { "query": "Archdiocese of Manila" } }]
}Artifact: name: "diocese_profile",包含單一 data part,內含目錄中繼資料(source_code、primary_name、jurisdiction_type、rite、country、region_primary、state、city、metropolitan、depends_on、province、cathedral、patron_saint、area、erected、elevated、official_website、image_url、current_bishop),以及:
recent_statistics—— 最多 5 年的重點數據(天主教徒人數、總人口、天主教徒比例、神父總數、堂區數、領洗數、修生數)。latest_financials—— 若有資料,最近一個財政年度的重點指標(總收入、總支出、淨資產、總資產、盈餘/赤字),並附幣別。alternates—— 當有多個候選結果相符時。
若需多年趨勢分析,請改用 diocese_statistics_lookup。
diocese_statistics_lookup
返回某教區完整的逐年統計時間序列 —— 即 diocese_statistics 中追蹤的全部 19 項指標。
輸入: data.query 或 data.source_code(必須提供其中之一),並可選擇附帶閉區間邊界:
{
"parts": [{
"kind": "data",
"data": {
"source_code": "dmaml",
"start_year": 2010,
"end_year": 2024
}
}]
}Artifact: name: "diocese_statistics_time_series",包含單一 data part,內含 source_code、diocese_name、year_range: { start, end } 以及一個 rows 陣列。每一列包含某一年的 19 項指標: catholics、total_population、percent_catholic、diocesan_priests、religious_priests、total_priests、catholics_per_priest、permanent_deacons、male_religious、female_religious、parishes、area_km2、churches_or_stations、diocesan_priests_ordained、religious_priests_ordained、seminarians、educational_institutes、charitable_institutes、baptisms。