FIPA-ACL और भाषण अधिनियमों की विरासत
Type: Learn
Languages: Python (stdlib), TypeScript
Prerequisites: Phase 16 · 01 (Why Multi-Agent)
Time: ~60 minutes
समस्या
2026 एजेंट-प्रोटोकॉल परिदृश्य व्यस्त हैः उपकरण के लिए एमसीपी, एजेंटों के लिए ए 2 ए, उद्यम लेखा परीक्षा के लिए एसीपी, विकेंद्रीकृत विश्वास के लिए एएनपी, प्राकृतिक भाषा सामग्री के लिए एनएलआईपी, साथ ही सीए-एमसीपी और दो दर्जन शोध प्रस्ताव। प्रत्येक विनिर्देश खुद को मौलिक घोषित करता है।
ईमानदार पढ़ने के लिए यह है कि उनमें से अधिकांश एक बहुत ही विशिष्ट बीस साल पुराना निर्णय पेड़ फिर से खोज रहे हैं। ऑस्टिन (1962) और सीरल (1969) से भाषण-क्रिया सिद्धांत हमें "उल्लेख कार्य हैं" दिया। KQML (1993) ने इसे एक वायर प्रोटोकॉल में बदल दिया। FIPA-ACL (राटीफाई 2000) ने संदर्भ मानकीकरण तैयार कियाः बीस प्रदर्शन, सामग्री भाषा SL0/SL1, कॉन्ट्रैक्ट-नेट और सब्सक्राइब-नोटिफ के लिए बातचीत प्रोटोकॉल। जेडई और जैक जावा संदर्भ मंच थे। 2010 के आसपास प्रयास फीका हो गया क्योंकि ओंटोलॉजी ओवरहेड बहुत भारी था और वेब जीत रहा था।
जब आप MCPs को देखते हैं tools/call, A2A के कार्य जीवन चक्र, या CA-MCP के साझा संदर्भ भंडार, आप FIPA निर्णयों के एक नरम, JSON-निवासी पुनरावृत्ति देख रहे हैं। विरासत को जानने से आपको दो चीजें पता चलती हैंः कौन से नए "नवाचार" वास्तव में पुनर्मिलन हैं, और नए विनिर्देशों द्वारा कौन से पुराने विफलता मोड फिर से खोजे जाएंगे।
अवधारणा
भाषण अधिनियम, एक पैराग्राफ में
ऑस्टिन ने देखा कि कुछ वाक्य दुनिया का वर्णन नहीं करते हैं वे इसे बदलते हैं। "मैं वादा करता हूँ", "मैं माँगता हूँ", "मैं घोषणा करता हूँ", उन्होंने इन प्रदर्शनकारी बयानों को कहा। सीरल ने पांच श्रेणियों को औपचारिक बनायाः ऐक्सेरटिव, निर्देशात्मक, कमिसिव, एक्सप्रेसिव, डिक्लार्टेटिव। KQML (Finin et al., 1993) ने सॉफ्टवेयर एजेंटों के लिए यह परिचालन कियाः एक संदेश एक प्रदर्शन (कार्य) प्लस सामग्री (कार्य के बारे में क्या है) है। FIPA-ACL ने KQML के अंतराल को साफ किया और लगभग बीस प्रदर्शनियों को मानक बनाया।
बीस FIPA प्रदर्शनियों (आंशिक सूची)
| Performative | Intent |
|---|---|
inform | "I tell you P is true" |
request | "I ask you to do X" |
query-if | "Is P true?" |
query-ref | "What is the value of X?" |
propose | "I propose we do X" |
accept-proposal | "I accept the proposal" |
reject-proposal | "I reject the proposal" |
agree | "I agree to do X" |
refuse | "I refuse to do X" |
confirm | "I confirm P is true" |
disconfirm | "I deny P" |
not-understood | "Your message did not parse" |
cfp | "Call for proposals on X" |
subscribe | "Notify me when X changes" |
cancel | "Cancel the ongoing X" |
failure | "I tried X and failed" |
पूरी सूची में है fipa00037.pdf(FIPA ACL संदेश संरचना) यह मुद्दा इसे याद रखने के लिए नहीं है यह मुद्दा यह है कि इनमें से प्रत्येक एक आदिम के अनुरूप है एक LLM प्रोटोकॉल अंततः फिर से जोड़ता है।
कैनोनिक FIPA-ACL संदेश
(inform
:sender agent1@platform
:receiver agent2@platform
:content "((price IBM 83))"
:language SL0
:ontology finance
:protocol fipa-request
:conversation-id conv-42
:reply-with msg-17
)प्रोटोकॉल के लिफाफे में सात फ़ील्ड हैं; एक फ़ील्ड (contentबाकी के क्षेत्र ठीक वही हैं जो आप जब भी आप पुनः प्रयास, थ्रेडिंग और ओंटोलॉजी को JSON प्रोटोकॉल पर बोल्ट करते हैं।
दो विरासत प्लेटफार्म
JADE(जावा एजेंट डेवलपमेंट फ्रेमवर्क, 19992020s) सबसे अधिक इस्तेमाल किया गया FIPA- अनुरूप रनटाइम था। एजेंटों ने एक बेस क्लास का विस्तार किया, ACL संदेशों का आदान-प्रदान किया, कंटेनरों के अंदर चलाया, और "व्यवहार" का उपयोग करके समन्वयित किया।
JACK(एजेंट ओरिएंटेड सॉफ्टवेयर, वाणिज्यिक) ने FIPA संदेशों के शीर्ष पर BDI (विश्वास-इच्छा-इच्छा-इच्छा) तर्क पर जोर दिया। अधिक औपचारिक, कम अपनाया गया।
दोनों में एक बार वेब स्टैक ने मल्टी-एजेंट उपयोग के मामले खाए। एमसीपी और ए 2 ए 2026 के रनटाइम "कंटेनर" हैं।
FIPA का विलुप्त होना
- Ontology overhead.FIPA को विश्लेषण के लिए एक साझा ontology की आवश्यकता थी
content. ऑन्टॉलॉजी पर सहमत होना एक वर्षों की मानक प्रक्रिया है. वेब ने सिर्फ HTTP + JSON का उपयोग किया है. - Formal semantics nobody used.एसएल (सैमानिक भाषा) ने सख्त सत्य शर्तें दीं, लेकिन अधिकांश उत्पादन प्रणालियों ने मुक्त रूप सामग्री का उपयोग किया और औपचारिकता को अनदेखा किया।
- Tooling lock-in.जेडई केवल जावा के लिए था, जैक विज्ञापन के लिए था। बहुभाषी टीमों ने दोनों के चारों ओर रुट किया।
- The internet won the stack.REST, फिर JSON-RPC, फिर gRPC ACL के परिवहन की जगह ले लिया।
LLM पुनरुद्धार FIPA-lite है
एक FIPA की तुलना करें requestएक एमसीपी को tools/call:
(request {
:sender agent1 "jsonrpc": "2.0",
:receiver tool-server "method": "tools/call",
:content "(lookup stock IBM)" "params": {"name":"lookup_stock",
:ontology finance "arguments":{"symbol":"IBM"}},
:conversation-id c42 "id": 42
) }एक ही लिफाफा, अलग वाक्यविन्यास. दोनों लेः कौन, कौन, इरादा, उपयोगिता, सहसंबंध आईडी. एक दूसरे पर क्रांति नहीं है वे एक ही डिजाइन पर अलग-अलग समझौता हैं।
लियू एट अल द्वारा 2025 सर्वेक्षण ("ए सर्वे ऑफ एजेंट इंटरऑपरेबिलिटी प्रोटोकॉलः एमसीपी, एसीपी, ए 2 ए, एएनपी", arXiv:2505.02279) इस वंशावली को स्पष्ट करता हैः एमसीपी उपकरण-उपयोग भाषण कार्यों, ए 2 ए एजेंट-पीयर भाषण कार्यों, एसीपी ऑडिट-ट्राइल भाषण कार्यों, एएनपी विकेंद्रीकृत पहचान विस्तारों के लिए मेल खाता है। नए विनिर्देश JSON सिंटैक्स और ढीले अर्थशास्त्र के साथ एसीएल वंशज हैं।
स्पष्ट रूप से कहा गया है कि व्यापार समझौता
What FIPA gave you and modern specs drop:
- औपचारिक अर्थशास्त्र आप साबित कर सकते हैं
informयह संकेत देता है कि प्रेषक सामग्री पर विश्वास करता है। - प्रदर्शनियों के एक कैनोनिक कैटलॉग आप फिर से तर्क करने की जरूरत नहीं है "अगर हम एक होना चाहिए
cancel? " - बातचीत-प्रोटोकॉल पैटर्न के दशकों अनुबंध-नेट, सदस्यता-सूचना, प्रस्ताव-स्वीकार के साथ ज्ञात सटीकता गुणों।
What modern specs give you and FIPA did not:
- JSON-निवासी उपयोगी लोड प्रत्येक आधुनिक उपकरण के साथ संगत है।
- प्राकृतिक भाषा की सामग्री जिसे LLM हाथ से कोडित ontology के बिना व्याख्या कर सकता है।
- वेब-स्टैक परिवहन (HTTP, SSE, WebSocket) ।
- प्रत्यक्ष एमसीपी के माध्यम से क्षमता का पता लगाना
server/discoverऔर ए 2 ए एजेंट कार्ड्स.
आसान कार्यान्वयन के लिए ढीले इरादे की अर्थशास्त्र। यही सही व्यापार है।
पोर्ट करने लायक इंटरैक्शन प्रोटोकॉल
FIPA ने ~15 इंटरैक्शन प्रोटोकॉल भेजे। तीन LLM मल्टी-एजेंट सिस्टम में आगे ले जाने के लायक हैंः
- Contract Net Protocol (CNP).प्रबंधक के मुद्दे
cfp(प्रस्तावों के लिए आह्वान); बोलीदाताओं ने जवाब दियाpropose; प्रबंधक स्वीकार/नकारता है। यह कार्य बाजार के लिए एक वैध पैटर्न है (चरण 16 · 16 वार्ता) । - Subscribe/Notify.ग्राहक भेजता है
subscribe; प्रकाशक भेजता हैinformयह 2026 में हर घटना-बस है। - Request-When."X जब स्थिति Y बरकरार है" पूर्व-संयोजन के साथ देरी-क्रिया। 2026 एनालॉग टिकाऊ वर्कफ़्लो इंजनों में स्थगित कार्य हैं (चरण 16 · 22 उत्पादन स्केलिंग) ।
प्रत्येक आधुनिक संदेश कतारों, HTTP + मतदान, या SSE स्ट्रीमिंग पर साफ नक्शा बनाता है।
जब आप ontology छोड़ क्या टूट जाता है
बिना साझा ओंटोलॉजी के, एजेंट प्राकृतिक भाषा सामग्री से अर्थ का अनुमान लगाते हैं। प्रलेखित 2026 विफलता मोड है semantic drift: दो एजेंट एक ही शब्द का उपयोग करते हैं ("customer") के लिए सूक्ष्म रूप से अलग अवधारणाओं, प्राप्तकर्ता के एजेंट गलत व्याख्या पर कार्य करता है, कोई योजना सत्यापनकर्ता इसे पकड़ता है। FIPA की ontology आवश्यकता संदेश को विश्लेषण समय पर खारिज कर दिया होगा।
पूर्ण ओंटोलॉजी के बिना कम करनेः
- JSON स्कीम पर
contentतार पर संरचनात्मक त्रुटियों को अस्वीकार करता है। - टाइप किए गए कलाकृतियों (A2A) गलत मोडलिटी को अस्वीकार करता है।
- परिपत्र में स्पष्ट प्रदर्शनात्मक उद्देश्य को स्पष्ट बनाता है, भले ही सामग्री प्राकृतिक भाषा हो।
2026 स्पेसिफिकेशंस, भाषण-क्रिया विरासत के लिए मैप किया गया
| Modern spec | FIPA analog | What it keeps | What it drops |
|---|---|---|---|
MCP tools/call | request | explicit intent, correlation id | formal semantics, ontology |
MCP resources/read | query-ref | explicit intent, correlation id | formal semantics |
| A2A Task lifecycle | contract-net + request-when | async lifecycle, state transitions | formal completeness guarantees |
| A2A streaming events | subscribe/notify | async push | typed-predicate subscription |
| CA-MCP shared context | blackboard (Hayes-Roth 1985) | multi-writer shared memory | logical consistency model |
| NLIP | natural-language content | LLM-native | schema |
तालिका को ऊपर से नीचे तक पढ़ते हुए, पैटर्न हैः संरचनात्मक आदिमता को बनाए रखें, औपचारिकता को छोड़ दें, एलएलएम को अस्पष्टता पर कागज छोड़ दें।
इसे बनाओ
code/main.pyयह एक शुद्ध-stdlib FIPA-ACL अनुवादक को लागू करता है। यह कैनोनिकल ACL लिफाफा को एन्कोड और डिकोड करता है और दिखाता है कि प्रत्येक MCP / A2A संदेश आकार को समान सात क्षेत्रों में कैसे कम किया जाता है। डेमोः
- FIPA-ACL के रूप में पांच MCP-शैली और A2A-शैली के संदेशों को एन्कोड करता है।
- FIPA-ACL को आधुनिक समकक्ष में वापस डिकोड करता है।
- एक खिलौना चलाता है अनुबंध एक प्रबंधक और तीन बोलीदाताओं के बीच नेट बातचीत का उपयोग करके
cfp,propose,accept-proposal,reject-proposal. .
दौड़ें:
python3 code/main.py
npx tsx code/main.tsआउटपुट एक साइड-बाय-साइड ट्रैक है जो प्रत्येक आधुनिक संदेश को उसके 2026 JSON रूप और उसके FIPA-ACL रूप दोनों में दिखाता है, फिर एक कॉन्ट्रैक्ट-नेट बोली का एक राउंड-ट्रिप। वही प्रोटोकॉल आदिम यात्रा को जीवित रखते हैं; केवल वाक्यविन्यास अलग है।
इसका प्रयोग करें
outputs/skill-fipa-mapper.mdएक नया प्रोटोकॉल अपनाने से पहले इसका उपयोग जवाब देने के लिए करेंः "क्या यह वास्तव में नया है, या यह है?informJSON वाक्यविन्यास के साथ?
इसे भेजें
FIPA-ACL वापस मत लाओ। उसकी चेकलिस्ट वापस लाओः
- प्रत्येक संदेश का प्राथमिक उद्देश्य क्या है?
- क्या अनुरोध-उत्तर और रद्द करने के लिए एक सहसंबंध आईडी है?
- क्या स्पष्ट सामग्री भाषा (JSON-RPC, सादा पाठ, संरचित टाइप किए गए कलाकृतियों) है?
- क्या आप इंटरैक्शन प्रोटोकॉल को फर्स्ट क्लास बनाते हैं या आप कॉन्ट्रैक्ट-नेट को स्क्रैच से फिर से लागू कर रहे हैं?
- क्या होता है जब दो एजेंट सामग्री अर्थ (सैमंतिक बहाव) के बारे में असहमति रखते हैं?
उत्पादन में भेजने से पहले किसी भी नए प्रोटोकॉल के लिए इन पांच सवालों का दस्तावेज करें।
व्यायाम
- दौड़ें
code/main.py. वापसी-यात्रा कोडिंग का निरीक्षण करें. पहचानें कि FIPA प्रदर्शनात्मक किसके अनुरूप हैtools/call,resources/read, और A2A कार्य निर्माण. - अनुबंध नेट डेमो को एक
cancelप्रदर्शनकारी जो प्रबंधक को मध्य बोली में कार्य वापस लेने देता है।cancelअकेले हल करने के लिए कि पुनरावृत्ति प्रयास नहीं करते? - FIPA ACL संदेश संरचना (http://www.fipa.org/specs/fipa00037/) धारा 4.14.3। इस पाठ में शामिल नहीं किए गए एक प्रदर्शनात्मक चुनें और इसके आधुनिक JSON-RPC एनालॉग का वर्णन करें।
- ली और अन्य पढ़ें, arXiv:2505.02279. एमसीपी, ए 2 ए, एसीपी, एएनपी के प्रत्येक के लिए, FIPA प्रदर्शन परिवारों की सूची बनाएं जो वे रखते हैं और छोड़ते हैं।
- के लिए न्यूनतम JSON-Schema डिजाइन
contentएकrequestयह योजना आपको क्या देती है जो शुद्ध प्राकृतिक भाषा नहीं देती है, और इसकी लागत क्या है?
प्रमुख शर्तें
| Term | What people say | What it actually means |
|---|---|---|
| Speech act | "An utterance that does something" | Austin/Searle: utterances as actions. The theoretical parent of ACL. |
| FIPA | "That old XML thing" | Foundation for Intelligent Physical Agents. Standardized ACL in 2000; became an IEEE Computer Society standards committee in 2005. |
| ACL | "Agent Communication Language" | FIPA's envelope format: performative + content + metadata. |
| Performative | "The verb" | The intent class of a message: inform, request, propose, cfp, etc. |
| KQML | "FIPA's predecessor" | Knowledge Query and Manipulation Language (1993). Simpler, narrower. |
| Ontology | "Shared vocabulary" | A formal definition of the concepts the content language talks about. |
| SL0 / SL1 | "FIPA content languages" | Semantic Language levels 0 and 1 — the formal content language family. |
| Contract Net | "Task market" | Manager issues cfp; bidders propose; manager accepts. The canonical interaction protocol. |
| Interaction protocol | "Pattern of messages" | A sequence of performatives with known correctness: request-when, subscribe-notify, etc. |
आगे पढ़ना
- Liu et al. — A Survey of Agent Interoperability Protocols: MCP, ACP, A2A, ANP आधुनिक विनिर्देशों को FIPA विरासत से जोड़ने वाले २०२५ के कैनोनिक सर्वेक्षण
- FIPA ACL Message Structure Specification (fipa00037) 2000 के लिए प्रमाणीकृत संकुल प्रारूप
- FIPA Communicative Act Library Specification (fipa00037) पूर्ण प्रदर्शनात्मक सूची
- MCP specification 2026-07-28 वर्तमान अनादेश उपकरण उपयोग समकक्ष
request/query-ref - A2A specification अनुबंध-नेट और सदस्यता-सूचना के आधुनिक एजेंट-पीयर समकक्ष
This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.
Browse the complete course catalog or open this lesson on GitHub.