-
Notifications
You must be signed in to change notification settings - Fork 21
Expand file tree
/
Copy pathreport-interoperability.html
More file actions
989 lines (869 loc) · 61.6 KB
/
report-interoperability.html
File metadata and controls
989 lines (869 loc) · 61.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>WebAgents Community Group Report on Interoperability for Agents on the Web</title>
<script
src="https://www.w3.org/Tools/respec/respec-w3c"
class="remove"
defer
></script>
<script class="remove">
// All config options at https://respec.org/docs/
var respecConfig = {
specStatus: "CG-DRAFT",
latestVersion: null,
edDraftURI: "https://w3c-cg.github.io/webagents/TaskForces/Interoperability/Reports/report-interoperability.html",
editors: [
{
name: "Andrei Ciortea",
company: "Inria and University of St.Gallen",
url: "https://andreiciortea.ro",
orcid: "0000-0003-0721-4135"
},
{
name: "Rem Collier",
company: "University College Dublin",
url: "https://people.ucd.ie/rem.collier",
orcid: "0000-0003-0319-0797"
}
],
authors: [
{
name: "Jérémy Lemée",
company: "University of St.Gallen",
url: "https://www.alexandria.unisg.ch/entities/person/Jeremy_Lemee",
orcid: "0000-0003-0828-1188"
},
{
name: "Your Name",
url: "https://your-site.com"
}
],
github: "https://github.com/w3c-cg/webagents/",
shortName: "webagents-interop",
xref: "web-platform",
group: "webagents",
localBiblio: {
ANTHROPIC24: {
title: "Building Effective Agents",
date: "2024",
href: "https://www.anthropic.com/engineering/building-effective-agents",
publisher: "Anthropic",
},
AUML: {
authors: [
"James J. Odell",
"H. Van Dyke Parunak",
"Bernhard Bauer",
],
title: "Representing Agent Interaction Protocols in UML",
date: "2002",
href: "https://doi.org/10.1007/3-540-44564-1_8",
publisher: "Springer",
},
TBL89: {
authors: [
"Tim Berners-Lee",
],
title: "Information management: a proposal",
date: "1989",
href: "https://cds.cern.ch/record/369245/",
publisher: "CERN",
},
BSPL: {
authors: [
"Munindar P. Singh",
],
title: "Information-driven interaction-oriented programming: BSPL, the blindingly simple protocol language",
date: "2011",
href: "https://dl.acm.org/doi/abs/10.5555/2031678.2031687",
publisher: "IFAAMAS",
},
CIORTEA19: {
authors: [
"Andrei Ciortea",
"Olivier Boissier",
"Alessandro Ricci"
],
title: "Engineering World-Wide Multi-Agent Systems with Hypermedia",
date: "2019",
href: "https://doi.org/10.1007/978-3-030-25693-7_15",
publisher: "Springer, Cham"
},
COABS1: {
authors: [
"Martha L. Kahn",
"Cynthia Della Torre Cicalese",
],
title: "The CoABS Grid",
date: "2003",
href: "https://doi.org/10.1007/978-3-540-45173-0_9",
publisher: "Springer Berlin Heidelberg",
},
COABS2: {
authors: [ "James Hendler" ],
title: "Control of Agent Based Systems (CoABS) & DARPA Agent Markup Language (DAML)",
date: "2000",
href: "https://www.dependability.org/wg10.4/meeting38/10-Lala.pdf",
},
COALA23: {
authors: [
"Theodore Sumers",
"Shunyu Yao",
"Karthik Narasimhan",
"Thomas Griffiths"
],
title: "Cognitive architectures for language agents",
date: "2023",
href: "https://arxiv.org/abs/2309.02427",
publisher: "Transactions on Machine Learning Research"
},
DALE03: {
authors: [
"Jonathan Dale",
"Bernard Burg",
"Steven Willmott"
],
title: "The Agentcities Initiative: Connecting Agents Across the World",
date: "2003",
href: "https://doi.org/10.1007/978-3-540-45173-0_36",
publisher: "Springer Berlin Heidelberg",
},
DEMAZEAU95: {
authors: [
"Yves Demazeau",
],
title: "From interactions to collective behaviour in agent-based systems",
date: "1995",
publisher: "1st European Conference on Cognitive Science"
},
FIELDING00: {
authors: [
"Roy T. Fielding"
],
title: "Architectural styles and the design of network-based software architectures",
date: "2000",
publisher: "Ph.D. Dissertation. University of California, Irvine",
},
FIELDING17: {
authors: [
"Roy T. Fielding"
],
etAl: true,
title: "Reflections on the REST architectural style and "principled design of the modern web architecture" (impact paper award)",
date: "2017",
publisher: "ACM",
},
FRANKLIN96: {
authors: [
"S. Franklin",
"A. Graesser",
],
title: "Is It an agent, or just a program?: A taxonomy for autonomous agents",
date: "1996",
href: "https://doi.org/10.1007/BFb0013570",
publisher: "Springer",
},
HMAS19: {
authors: [
"Andrei Ciortea",
"Simon Mayer",
"Fabien Gandon",
"Olivier Boissier",
"Alessandro Ricci",
"Antoine Zimmermann",
],
title: "A Decade in Hindsight: The Missing Bridge Between Multi-Agent Systems and the World Wide Web",
date: "2019",
href: "https://www.ifaamas.org/Proceedings/aamas2019/pdfs/p1659.pdf",
publisher: "18th International Conference on Autonomous Agents and Multiagent Systems (AAMAS 2019), IFAAMAS",
},
JACAMO20: {
authors: [
"Olivier Boissier",
"Rafael H. Bordini",
"Jomi F. Hübner",
"Alessandro Ricci",
],
title: "Multi-agent oriented programming: programming multi-agent systems using JaCaMo",
date: "2020",
href: "https://mitpress.mit.edu/9780262044578/",
publisher: "MIT Press",
},
JADE05: {
authors: [
"Fabio Bellifemine",
"Federico Bergenti",
"Giovanni Caire",
"Agostino Poggi"
],
title: "Jade — A Java Agent Development Framework",
date: "2005",
href: "https://doi.org/10.1007/0-387-26350-0_5",
publisher: "Springer US",
},
KHARE04: {
authors: [
"Rohit Khare",
"Richard N. Taylor"
],
title: "Extending the Representational State Transfer (REST) architectural style for decentralized systems",
date: "2004",
href: "https://ieeexplore.ieee.org/document/1317465/",
publisher: "IEEE",
},
KIKO23: {
authors: [
"Samuel H. Christie",
"Munindar P. Singh",
"Amit K. Chopra",
],
title: "Kiko: Programming Agents to Enact Interaction Models",
date: "2023",
href: "https://dl.acm.org/doi/abs/10.5555/3545946.3598758",
publisher: "IFAAMAS",
},
RUSSELL19: {
authors: [
"Stuart Russell"
],
title: "Human compatible: AI and the problem of control",
date: "2019",
publisher: "Penguin Books UK",
},
SINGH06: {
authors: [
"Munindar P. Singh",
"Michael N. Huhns",
],
title: "Service-oriented Computing: Semantics, Processes, Agents",
date: "2006",
publisher: "John Wiley & Sons",
},
SEMWEB01: {
authors: [
"Tim Berners-Lee",
"James Hendler",
"Ora Lassila",
],
title: "The Semantic Web",
date: "2001",
publisher: "Scientific American",
},
TAYLOR10: {
authors: [
"Richard N. Taylor",
"Nenad Medvidović",
"Eric M. Dashofy",
],
title: "Software Architecture: Foundations, Theory, and Practice",
date: "2010",
publisher: "John Wiley & Sons, Inc.",
},
TMLR23: {
authors: [ "G. Mialon" ],
etAl: true,
title: "Augmented Language Models: A Survey",
date: "2023",
href: "https://arxiv.org/abs/2302.07842",
publisher: "Transactions on Machine Learning Research (TMLR)",
},
TOOL: {
authors: [
"Wang, Zhiruo", "Cheng, Zhoujun", "Zhu, Hao", "Fried, Daniel", "Neubig, Graham"
],
title: "What are tools anyway? a survey from the language model perspective",
date: "2024",
href: "https://arxiv.org/abs/2403.15452",
},
WEF24: {
authors: [ "World Economic Forum" ],
title: "AI Value Alignment: Guiding Artificial Intelligence Towards Shared Human Goals",
date: "2024",
href: "https://www3.weforum.org/docs/WEF_AI_Value_Alignment_2024.pdf"
},
WEYNS10: {
authors: [ "Danny Weyns" ],
title: "Architecture-based Design of Multi-Agent Systems",
date: "2010",
href: "https://doi.org/10.1007/978-3-642-01064-4",
publisher: "Springer Publishing Company, Inc.",
},
WILLMOTT02: {
authors: [ "Steven Willmott" ],
etAl: true,
title: "The Agentcities Network Architecture",
date: "2002",
href: "https://infoscience.epfl.ch/record/52462",
publisher: "EPFL Technical Report",
},
}
};
</script>
</head>
<body>
<section id="abstract">
<p>Advances in large language models (LLMs) that can follow instructions and use tools have renewed interest in autonomous agents and multi-agent systems. Like previous generations of agents, LLM-based agents are designed for specific tasks, highlighting the need for open networks of agents that complement each other's abilities to tackle more complex problems. New protocols are rapidly emerging to allow agents to discover and use tools, or to discover and interact with other agents. Some of these protocols build on Web standards to promote interoperability, but their alignments, misalignments, and overlaps are unclear. This report synthesizes the large body of research on autonomous agents and multi-agent systems (MAS) to define a conceptual model for understanding Web-based MAS. We use this conceptual model to classify existing technologies and frameworks, to identify relevant standards within the W3C, and to discover standardization gaps (if any).</p>
</section>
<section id="sotd">
<aside class="note" title="A Living Report">
<p>This report is a living document meant to evolve as the group's investigation develops. Versions of the report may be released as separate documents.</p>
</aside>
</section>
<section>
<h2>Introduction</h2>
<aside class="issue">
<p>
This report aims to answer three main questions:
<ul>
<li>What should be the role of the Web in the emerging landscape of Agentic AI?</li>
<li>What are the relevant standards within and maybe also outside the W3C?</li>
<li>What are the standardization gaps (if any)?</li>
</ul>
</p>
</aside>
</section>
<section data-dfn-for="Foo">
<h2>Terminology</h2>
<dl>
<dt><dfn id="dfn-agent">Agent</dfn> or <dfn id="dfn-agent">Autonomous Agent</dfn></dt>
<dd>An entity <a href="#dfn-situated">situated</a> in an environment that perceives its environment and acts on it, over time, in pursuit of its goals. For a detailed discussion of agent definitions, see [[FRANKLIN96]].</dd>
<dt><dfn id="dfn-aip">Agent Interaction Protocol</dfn></dt>
<dd>A specification of communication among two or more <a href="#dfn-agent">agents</a> that states who can say what to whom and when — for example, as message sequence diagrams [[AUML]] or information flows [[BSPL]].</dd>
<dt><dfn id="dfn-augmented-llm">Augmented Language Model</dfn></dt>
<dd>A language model augmented with abilities such as reasoning, tool use, information retrieval, or storing context across interactions. Unlike an <a href="#dfn-agent">agent</a>, an augmented language model does not actively pursue goals and is not <a href="#dfn-situated">situated</a> in an environment. See also [[TMLR23]] and [[ANTHROPIC24]].</dd>
<dt><dfn id="dfn-llm-agent">LLM Agent</dfn> or <dfn id="dfn-language-agent">Language Agent</dfn></dt>
<dd>An <a href="#dfn-agent">agent</a> that relies on an LLM to guide their internal processes and interactions with the environment, while maintaining control over how they accomplish tasks [[ANTHROPIC24]][[COALA23]]. [This is the sort of agent people think about when they talk about Agentic AI.]</dd>
<dt><dfn id="dfn-mas">Multi-Agent System (MAS)</dfn></dt>
<dd>A system composed of <a href="#dfn-agent">agents</a> that are situated in a shared environment and interact with one another to achieve individual or collective goals. Agents can work in collaboration, cooperation, and/or competition. A MAS can be either an open or a closed system. This report is primarily concerned with open MAS.</dd>
<dt><dfn id="dfn-situated">Situatedness</dfn></dt>
<dd>The ability of an <a href="#dfn-agent">agent</a> to interact with its environment directly through perception and action, and to respond in a timely fashion to sensory input.</dd>
<dt><dfn id="dfn-tool">Tool</dfn> or <dfn id="dfn-artifact">Artifact</dfn></dt>
<dd>An instrument that can be shared and used by <a href="#dfn-agent">agents</a> to support their activities. In some <a href="#dfn-mas">multi-agent systems</a>, agents construct artifacts to instrument their environments [[JACAMO20]]. In the context of agentic AI, a tool is a functional interface to a program that a language model can invoke. Tools extend the capabilities of LLMs by enabling them to retrieve knowledge not seen during training, perform complex computations, mitigate hallucinations, and perceive or act in an environment [[TOOL]].</dd>
<dt><dfn id="dfn-web-tool">Web-based Tool</dfn> or <dfn id="dfn-web-artifact">Web-based Artifact</dfn></dt>
<dd>A <a href="#dfn-tool">tool</a> or <a href="#dfn-artifact">artifact</a> represented as a <a href="https://www.w3.org/TR/webarch/#def-resource">resource</a> [[WEBARCH]] and accessible through the Web. Such tools may expose interfaces over Web or non-Web protocols—for example, a weather service exposing an HTTP API, a lamp exposing a CoAP API, or a telemetry service exposing an MQTT API. Non-Web protocols can be encapsulated behind hypermedia controls published in a description accessible through the Web, such as a W3C Web of Things (WoT) Thing Description [[wot-thing-description11]].</dd>
<dt>[Term]</dt>
<dd>[To be added]</dd>
</dl>
</section>
<section>
<h2>Agents on the Web</h2>
<section data-dfn-for="Foo">
<h3>Visions of Agents on the Web</h3>
<!-- <aside class="issue">
<p>The vision of agents on the Web is almost as old as the Web itself. This section is to give a concise overview for contextualization. Relevant: WWW94 keynote, DARPA research programs (CoABS and DAML) and the Semantic Web, AgentCities and FIPA, and the recent Dagstuhl seminars.</p>
</aside> -->
<p>The vision of intelligent agents on the Web is almost as old as the Web itself: in a <a href="https://videos.cern.ch/record/2671957">keynote at WWW'94</a>, Sir Tim Berners-Lee was noting that documents on the Web describe real objects and relationships among them, and if the semantics of these objects are represented explicitly then machines can browse through and manipulate reality. This vision was articulated more fully in the 2001 Semantic Web paper [[SEMWEB01]] and is now closer to realization through the standardization of the Web of Things at <a href="https://www.w3.org/WoT/">the W3C</a> and <a href="https://datatracker.ietf.org/wg/core/">the IETF</a>.</p>
<p>In the AI community, the vision of a world-wide open network of intelligent agents also emerged in the '90s. In 2002, the <a href="https://cordis.europa.eu/project/id/IST-2000-28385/">AgentCities</a> initiative was reporting a network of 41 agent platforms deployed in 21 countries [[WILLMOTT02]], which grew to 60 registered platforms in 2003 [[DALE03]] and 160 by 2005 [[JADE05]]. This network was based on <a href="http://www.fipa.org/repository/standardspecs.html">standards developed by the Foundation for Intelligent Physical Agents (FIPA)</a> but declined after the mid-2000s as industry attention shifted toward Web services. In parallel with AgentCities, the DARPA Control of Agent-Based Systems (CoABS) research program investigated the control, coordination, and management of large systems of autonomous software agents in military applications. Its central middleware, the CoABS Grid [[COABS1]], integrated heterogeneous agent-based systems, object-based applications, and legacy systems.</p>
<p>The DARPA CoABS program demonstrated the practical utility of agent technologies in large-scale deployments, while also highlighting significant challenges — for example, enabling agents to dynamically identify and interpret information sources [[COABS2]]. To address such issues, DARPA launched the Agent Markup Language (DAML) research program, which extended existing Web standards and laid the groundwork for the Web Ontology Language (OWL), Semantic Markup for Web Services (OWL-S), and other cornerstones of the Semantic Web. The DAML program advanced the original vision of the Web as an information space for both people and intelligent agents, and encouraged a shift from custom-built MAS middleware (e.g., CoABS Grid or FIPA platforms) to leveraging the Web's existing infrastructure. Such Web-based MAS received significant attention over the years, especially in the early 2000s with the advent of service-oriented computing [[SINGH06]].</p>
<p>Recent years have brought renewed interest in Web-based MAS — as evidenced by the <a href="https://www.dagstuhl.de/21072">Dagstuhl Seminar 21072</a> (Feb. 2021) and <a href="https://dagstuhl.de/23081">Dagstuhl Seminar 23081</a> (Feb. 2023) on "Agents on the Web", which led to the creation of the <a href="https://www.w3.org/community/webagents/">W3C Autonomous Agents on the Web (WebAgents) Community Group</a>. A key enabler for this renewed interest is the Web of Things, which provides new practical use cases for Web agents and realizes several visionary ideas anticipated in the original Semantic Web paper [[SEMWEB01]]. Another key enabler is the recent progress in LLM-based agents that can follow instructions and use tools: just like previous generations of agents, LLM-based agents are designed for specific tasks, underscoring the need for open networks in which agents complement one another's abilities to solve more complex problems. New protocols and frameworks are emerging to support LLM-based agents to discover and use tools, or to discover and interact with other agents — many of them explicitly building on Web standards to foster interoperability (e.g., see the <a href="https://modelcontextprotocol.io/">Model Context Protocol</a>, <a href="https://google-a2a.github.io/A2A/">Agent2Agent Protocol</a>, <a href="https://agent-network-protocol.com/">Agent Network Protocol</a>, <a href="https://eclipse.dev/lmos/">Eclipse LMOS</a>).</p>
</section>
<section data-dfn-for="Foo">
<h3>Conceptual Dimensions</h3>
<p>A <a href="#dfn-mas">multi-agent system</a> (<abbr title="multi-agent system">MAS</abbr>) has several distinguishing features. One key feature is decentralized control, where each <a href="#dfn-agent">agent</a> makes its own decisions and controls its own behavior — yet the MAS as a whole exhibits coordinated behavior to achieve system-level design objectives. Another key feature is that capabilities, knowledge, and resources are distributed among agents, which creates inter-dependencies: agents participate in a MAS because they need to interact with one another to solve problems that would otherwise exceed their individual capacities. Without such inter-dependencies, the MAS would be a collection of isolated agents — and would not constitute a system at all.</p>
<p>A non-trivial MAS therefore consists of more than just agents: for example, it may also include the <a href="#dfn-tool">tools</a> that agents use to achieve their goals, the <a href="#dfn-aip">protocols</a> through which they interact, and the <a href="#dfn-policy">policies</a> or <a href="#dfn-norm">norms</a> that govern their behavior. In research on <a href="https://emas.in.tu-clausthal.de/">Engineering MAS</a>, these concerns have been organized along four conceptual dimensions [[DEMAZEAU95]]:
<ul>
<li><strong>Agent dimension</strong>: abstractions for designing and programming agents;</li>
<li><strong>Environment dimension</strong>: abstractions for designing and programming the shared environment;</li>
<li><strong>Interaction dimension</strong>: abstractions for specifying interactions among agents and potentially other entities;</li>
<li><strong>Organization dimension</strong>: abstractions for structuring and governing agent behavior.</li>
</ul>
</p>
<p>These conceptual dimensions help organize the complexity of non-trivial MAS — and are particularly relevant when designing Web-based MAS [[HMAS19]]: they offer a broader conceptual view of MAS (broader than just agents) while also defining the scope of the design space. For example, [[[#mas-web-transport-layer]]] shows a MAS modeled as agents that exchange messages. In this view, the Web is reduced to a message transport layer, an early perspective in research on Web-based MAS (see Section [[[#agents-web-services]]]). However, the Web was not designed as a transport layer (see Section 6.5.3 in [[FIELDING00]]).</p>
<figure id="mas-web-transport-layer">
<img src="images/mas-web-transport-layer.png" alt="The Web as a transport layer for messages exchanged among agents." width="350" />
<figcaption>The Web as a transport layer for messages exchanged among agents.</figcaption>
</figure>
<p>In contrast, a broader conceptual view of MAS enables deeper integration with the Web: instead of limiting the Web to a transport layer for agent messages, it can leverage the Web as an application layer for MAS [[HMAS19]]. For example, [[[#mas-web-application-layer]]] shows a MAS that incorporates concepts from all four dimensions mentioned above. In this view, the Web serves as the application layer for the agent environment — for example, providing agents with shared tools, resources, and governance mechanisms. This perspective expands the design space for Web-based MAS and aligns more closely with the Web's original purpose and capabilities.</p>
<figure id="mas-web-application-layer">
<img src="images/mas-web-rich-application-layer.png" alt="The Web as a rich application layer that can support all sorts of interaction in a MAS." width="600" />
<figcaption>The Web as an application layer that supports discovery and rich interaction in open MAS.</figcaption>
</figure>
Throughout this report, we use these four conceptual dimensions to organize the discussion and emerging technologies.
</section>
<section data-dfn-for="Foo">
<h3>Architectural Considerations</h3>
<p>This section discusses how architectures for MAS can integrate with the Web architecture [[WEBARCH]]. Section <a href="#design-goals">3.3.1</a> defines design goals for Web-based MAS to motivate why alignment with the Web architecture is desirable. Section <a href="#architectural-patterns">3.3.2</a> introduces architectural patterns that describe MAS in terms of components and connectors, facilitating their mapping to the Web architecture [[FIELDING00]]. Section <a href="#architectural-constraints">3.3.3</a> presents a set of architectural constraints that specify the roles and features of components and connectors in a MAS to ensure alignment with the Web architecture.</p>
<section id="design-goals">
<h3>Design Goals</h3>
<!-- <aside class="issue">
<p>MAS are a class of systems known for NFPs such as <strong>flexibility/adaptability</strong>, <strong>openness</strong>, <strong>robustness</strong>, and <strong>scalability</strong> [Weyns, 2010]. The Web is a distributed hypermedia system specifcally designed to meet a well-defined set of NFPs, among which <strong>scalability</strong>, <strong>heterogeneity</strong>, <strong>evolvability</strong>, and <strong>extensibility</strong> [Fielding and Taylor, 2002; Taylor et al, 2010]. Inhereting the properties of the Web in Web-based MAS is desirable, which means we need to design MAS that are aligned with the Web Arch [[HMAS19]].</p>
</aside> -->
<p>We distinguish between agent-level and system-level design goals for Web-based MAS.</p>
<table class="def">
<caption>Agent-level Design Goals</caption>
<thead>
<th style="width:20%">Design Goal</th>
<th style="width:80%">Description</th>
</thead>
<tbody>
<tr>
<td>Situatedness</td>
<td>The <a href="#dfn-agent">agent</a> interacts with its hypermedia environment directly through perception and action, and responds in a timely fashion to sensory input.</td>
</tr>
<tr>
<td>Embodiment</td>
<td>The <a href="#dfn-agent">agent</a> is represented explicitly in the hypermedia environment, allowing end-users and other agents to discover and interact with it.</td>
</tr>
<tr>
<td>Value Alignment</td>
<td>The <a href="#dfn-agent">agent</a> acts in ways that are consistent with the goals, preferences, and interests of its end-user, and that respect human values and norms.</td>
</tr>
</tbody>
</table>
<p>Situatedness is central to distinguishing agents from other types of programs [[FRANKLIN96]]. Embodiment enables agents to discover and interact with one another on the open Web. Value alignment is fundamental not only to intelligent agents and AI systems [[RUSSELL19]][[WEF24]], but also to Web <a href="https://www.w3.org/TR/webarch/#def-user-agent">user agents</a> in general (see the <a href="https://www.w3.org/groups/other/tag/">Technical Architecture Group</a>'s draft note on <a href="https://w3ctag.github.io/user-agents/">Web User Agents</a>).</p>
<table class="def">
<caption>System-level Design Goals</caption>
<thead>
<th style="width:20%">Design Goal</th>
<th style="width:80%">Description</th>
</thead>
<tbody>
<tr>
<td>Scalability</td>
<td>The system can support growing numbers of end-users, <a href="#dfn-agent">agents</a>, <a href="#dfn-tool">tools</a>, and other <a href="https://www.w3.org/TR/webarch/#def-resource">resources</a> across geographical and organizational boundaries.</td>
</tr>
<!-- <tr>
<td>Heterogeneity</td>
<td>The ability of a Hypermedia <a href="#dfn-mas">MAS</a> to consist of multiple disparate constituents or function in multiple disparate computing environments.</td>
</tr> -->
<tr>
<td>Interoperability</td>
<td>The system uses Web standards to enable the integration of components developed independently, and to support communication and interaction with other systems.</td>
</tr>
<tr>
<td>Extensibility</td>
<td>The system can be expanded with new functionality and <a href="https://www.w3.org/TR/webarch/#def-resource">resources</a>.</td>
</tr>
<tr>
<td>Evolvability</td>
<td>The system can accommodate changes at run time without disrupting existing functionality.</td>
</tr>
<tr>
<td>Discoverability</td>
<td>The system enables end-users and <a href="#dfn-agent">agents</a> to discover the rest of the system starting from a single entry URL.</td>
</tr>
<!-- <tr>
<td>Robustness</td>
<td>TODO</td>
</tr> -->
<tr>
<td>Resource Monitoring</td>
<td>The system enables the selective monitoring of <a href="https://www.w3.org/TR/webarch/#def-resource">resources</a>, allowing <a href="#dfn-agent">agents</a> and end-users to perceive and react to relevant changes.</td>
</tr>
<tr>
<td>Transparency</td>
<td>The system enables the representation, inspection, and reproduction of autonomous behaviors and interactions.</td>
</tr>
<tr>
<td>Security</td>
<td>The system provides sufficient assurance for the autonomous discovery of and interaction with <a href="#dfn-agent">agents</a>, <a href="#dfn-tool">tools</a>, and other <a href="https://www.w3.org/TR/webarch/#def-resource">resources</a>.</td>
</tr>
</tbody>
</table>
<p>Scalability, interoperability, extensibility, and evolvability are central goals for designing MAS that can be deployed at scale on the open Web. These goals also motivated many of the key architectural decisions underpinning the Web itself [[TBL89]][[FIELDING00]]. The central hypothesis of this report is that aligning MAS architectures with the Web architecture enables them to inherit these desirable non-functional properties.</p>
<p>Discoverability is essential for any open system, as demonstrated by the Web itself. Resource monitoring is necessary for agents to perceive the hypermedia environments in which they are situated. Transperency is a prerequisite for accountability, explainability, and trust. Security is a fundamental requirement that is even more critical if agents are to discover and use tools, or to discover and interact with one another on the open Web.</p>
</section>
<section id="architectural-patterns">
<h3>Architectural Patterns</h3>
<p>An architectural pattern specifies a general solution to a recurring design problem. [[[#pattern-language]]] shows a set of architectural patterns for situated MAS adapted from [[WEYNS10]]. The patterns are described using components and connectors as the main architectural elements.</p>
<p>A <i>component</i> is "an abstract unit of software instructions and internal state that provides a transformation of data via its interface" [[FIELDING00]]. A <i>connector</i> is an abstract mechanism that mediates interaction among components [[TAYLOR10]]. We use component-and-connector models because they facilitate alignment with the design of the Web architecture, as captured by the <i>Representational State Transfer (REST)</i> architectural style [[FIELDING00]]: REST defines a set of architectural constraints that apply to the components and connectors of a distributed hypermedia system — and, in addition, treats <i>data elements</i> as first-class architectural elements subject to the same constraints. We return to REST in Section [[[#architectural-constraints]]].</p>
<p>The original pattern language introduced by Weyns includes five patterns [[WEYNS10]]: <i>situated agent</i>, <i>virtual environment</i>, <i>selective perception</i>, <i>protocol-based communication</i>, and <i>roles & situated commitments</i>. In this report, we focus on the first two — the basic patterns — and leave the others for future work within the <a href="https://www.w3.org/community/webagents/">Autonomous Agents on the Web (WebAgents) Community Group</a>. The language may also be extended with new architectural patterns, such as the <i>policies & norms</i> pattern shown in [[[#pattern-language]]].</p>
<figure id="pattern-language">
<img src="images/pattern-language.png" alt="A pattern language for Web-based agents and MAS." width="500" />
<figcaption>A pattern language for Web-based agents and MAS.</figcaption>
</figure>
<p>In the following, we present the two basic patterns using UML component diagrams. We give concise overviews of the each pattern and illustrate their application in both modern LLM-based MAS and classical MAS (for detailed descriptions, see [[WEYNS10]]). We then discuss network-based connectors, focusing on Web interactions.</p>
<aside class="note" title="Optional Components and Interfaces">
<p>The components shown in these architectural patterns are intended as modular building blocks. Depending on the system's requirements, not all components or their interfaces may be needed in a given implementation.</p>
</aside>
<figure id="situated-agent">
<img src="images/situated-agent.png" alt="A pattern for situated agents." width="500" />
<figcaption>A pattern for situated agents.</figcaption>
</figure>
<p>The <i>situated agent</i> pattern shown in [[[#situated-agent]]] includes a single data repository (<i>Memory</i>) and three components: <i>Perception</i>, <i>Decision Making</i>, and <i>Communication</i>. The <i>Memory</i> repository, accessible to all three components, stores both the agent's internal state and state that may be shared with other agents. This state may be static (e.g., a predefined list of contacts) or dynamic (e.g., a perceived change in the environment). <i>Perception</i> is responsible for sensing and interpreting run-time information from the virtual environment — and supports <i>selective perception</i>, enabling the agent to focus on information relevant to its current tasks. <i>Decision Making</i> is responsible for realizing the agent's tasks by invoking actions in the virtual environment. <i>Communication</i> is responsible for handling interactions with other agents.</p>
<p>One alteration we introduce relative to Weyns' original pattern is an explicit connection between <i>Communication</i> and <i>Decision Making</i>, allowing the latter to trigger communication acts. This configuration is common in more recent agent architectures, such as those employing information protocols [[KIKO23]].</p>
<p>The <i>situated agent</i> pattern applies naturally to classical agent architectures, such as <i>Belief-Desire-Intention (BDI)</i> agents [[JACAMO20]], which typically make use of all components. In contrast, many current implementations of LLM agents focus primarily on the <i>Decision Making</i> and <i>Memory</i> components: <i>Communication</i> may be implicit to <i>Decision Making</i> and <i>Perception</i>, and in many cases Perception may also be implicit — for example, when the agent perceives its environment only through observations returned by its actions.</p>
<figure id="virtual-environment">
<img src="images/virtual-environment.png" alt="A pattern for virtual environments." width="450" />
<figcaption>A pattern for virtual environments.</figcaption>
</figure>
</section>
<p>The <i>virtual environment</i> pattern shown in [[[#virtual-environment]]] describes an adaptation layer that bridges the agent's level of abstraction with its deployment context. This adaptation layer can be implemented, for example, by a <a href="https://modelcontextprotocol.io/">Model Context Protocol (MCP)</a> server, a <a href="https://www.utcp.io/">Universal Tool Calling Protocol (UTCP)</a> server, or a <a href="https://www.w3.org/TR/wot-architecture11/#dfn-wot-thing-description-directory">WoT Thing Description Directory</a>. The <i>virtual environment</i> exposes to agents a set of <i>provided interfaces</i> through which they can sense, act, or exchange messages (top of [[[#virtual-environment]]]), and may also define a set of <i>required interfaces</i> for interacting with the underlying infrastructure (bottom of [[[#virtual-environment]]]). For instance, an MCP server may wrap the HTTP endpoint of an industrial robot (the <i>Operate</i> required interface in [[[#virtual-environment]]]) to expose a set of <a href="#dfn-tool">tools</a> accessible to LLM agents.</p>
<p>Some virtual environments may include tools that maintain <i>State</i> and implement their own <i>Dynamics</i>, or host <a href="https://www.w3.org/TR/wot-architecture11/#dfn-digital-twin">Digital Twins</a> that mirror the state of physical assets through the <i>Synchronization</i> component.</p>
<p>So far, we have examined components and their interfaces for <i>situated agents</i> and <i>virtual environments</i>. Connectors specify how these components interact. In this report, we are particularly interested in cases where such interactions are realized through the network-based connectors that rely on Web standards and technologies. One of the objectives of this report is to identify existing standards for these connectors and to highlight potential gaps where further standardization may be needed.</p>
<aside class="issue">
<p>TODO: add diagram to illustrate examples of connectors.</p>
</aside>
<section data-dfn-for="Foo">
<h3>Architectural Constraints</h3>
<!-- <aside class="issue">
<p>This section is currently too condensed. It should also better trace back to Section [[[#design-goals]]].</p>
</aside> -->
<p>This section introduces three design principles that constrain the roles and features of components, connectors, and data elements in a Web-based MAS to ensure alignment with the Web architecture. We refer to Web-based MAS that follow these principles as <i>Hypermedia MAS</i>.</p>
<p>The principles are adapted from — and discussed in detail in — [[CIORTEA19]]. Their theoretical underpinning is the REST architectural style [[FIELDING00]], but they extend beyond REST to address requirements specific to agents, such as <i>Resource Monitoring</i> (see also [[KHARE04]][[FIELDING17]]).</p>
<p class="def"><strong>Principle 1 (Uniform resource space)</strong>: All entities in a Hypermedia MAS, and the relations among them, should be represented in a uniform, resource-oriented manner consistent with the Web architecture.</p>
<p>The core idea behind this first principle is to project the observable state of a Web-based MAS into a uniform, distributed hypermedia environment (cf. [[[#mas-web-application-layer]]]). This promotes <i>Scalability</i> by enabling the seamless distribution across the Web: agents can use hyperlinks to discover and interact with other entities within and across Hypermedia MAS. It also supports <i>Interoperability</i>, <i>Extensibility</i>, and <i>Evolvability</i> through uniform hypermedia views of heterogeneous components.</p>
<p>The trade-off is decreased efficiency: components must translate between their internal data representations and the uniform representations exposed via their interfaces, which are necessarily less optimized for the specific needs of individual components.</p>
<aside class="note" title="A Hypermedia-based Design Space">
<p>The <i>uniform resource space</i> serves as a hypermedia-based design space that can be exploited to provide agents with various levels of support — for example, to mediate access to their deployment context, discover and interact with other agents, or shape their environment to better suit their design goals, including <i>Embodiment</i> and <i>Transparency</i>.</p>
</aside>
<!-- <p class="def"><strong>Principle 2 (Single entry point)</strong>: Given a single entry URL into a Hypermedia MAS, agents should be able to discover the rest of the system and the means to participate in it by following hyperlinks.</p> -->
<p id="principle2" class="def"><strong>Principle 2 (Single entry point)</strong>: A Hypermedia MAS should expose one or more entry URLs from which the rest of the system and the means to participate in it can be discovered through hyperlinks.</p>
<p>The core idea behind this second principle is to maximize the usage of hypermedia in order to minimize coupling within the MAS, which promotes <i>Discoverability</i> and <i>Evolvability</i>. This principle draws directly on the <i>Hypermedia As The Engine of Application State (HATEOAS)</i> constraint in REST [[FIELDING00]].</p>
<!-- <p class="def"><strong>Principle 3 (Observability)</strong>: Resources of potential interest to agents should be observable using Web standards, enabling agents to selectively monitor and perceive relevant changes in their environment.</p> -->
<!-- <p class="def"><strong>Principle 3 (Observability)</strong>: Agents should be able to selectively perceive relevant changes in their environment by monitoring resources of potential interest using Web standards.</p> -->
<p class="def"><strong>Principle 3 (Observability)</strong>: A Hypermedia MAS should enable agents to selectively monitor and receive updates about relevant resources and events in their virtual environments using Web standards.</p>
This principle enables <i>Situatedness</i> and <i>Resource Monitoring</i>, and improves the <i>Scalability</i> of the overall Hypemedia MAS: selective perception allows agents to focus only on those parts of the distributed hypermedia environment that are relevant to their current tasks, enabling them to handle larger environments while reducing the load on the underlying hypermedia infrastructure.</p>
<aside class="issue">
<p>Two design goals from Section <a href="#design-goals">3.3.1</a> are not directly addressed by the above design principles: <i>Value Alignment</i> and <i>Security</i>. To be discussed.</p>
</aside>
</section>
</section>
<section data-dfn-for="Foo">
<h3>State of Web-based Multi-Agent Systems</h3>
<aside class="issue">
<p>This section is to summarize the large body of related work. We provide a concise overview and defer the details to annexes and existing literature.</p>
</aside>
<aside class="issue">
<p>What follows is a first draft of a comparison table for existing works. This table with evolve with the report. This first draft did not receive any feedback yet, it is only meant to start the discussion — and is bound to be incomplete and inaccurate:</p>
</aside>
<table class="index">
<tr>
<th></th>
<th>Relevant Concepts</th>
<th>Agent Interaction</th>
<th>Tool Use</th>
<th>Identifiers</th>
<th>Descriptions</th>
<th>Discovery Mechanisms</th>
<th>Arch. Style</th>
</tr>
<tr>
<td>MCP</td>
<td><a target="_blank" href="https://modelcontextprotocol.io/docs/concepts/tools">Tool</a>,</br>
<a target="_blank" href="https://modelcontextprotocol.io/docs/concepts/resources">Resource</a>,</br>
<a target="_blank" href="https://modelcontextprotocol.io/docs/concepts/prompts">Prompt</a></td>
<td>N/A</td>
<td>Function calling</td>
<td>Strings (Tools and Prompts),</br>URIs (Resources)</td>
<td><a target="_blank" href="https://modelcontextprotocol.io/docs/concepts/tools#tool-definition-structure">Tool definition</a>,</br>
<a target="_blank" href="https://modelcontextprotocol.io/docs/concepts/resources#resource-discovery">Resource descriptions</a>,</br>
<a target="_blank" href="https://modelcontextprotocol.io/docs/concepts/prompts#prompt-structure">Prompt definitions</a>,</br>(JSON)</td>
<td>Directories (via */list)</td>
<td>Client-Server with streaming RPC connectors (JSON-RPC 2.0, Streamable HTTP)</td>
</tr>
<tr>
<td>A2A</td>
<td><a target="_blank" href="https://google.github.io/A2A/topics/key-concepts/#fundamental-communication-elements">Agent Card</a>,</br>
<a target="_blank" href="https://google.github.io/A2A/topics/key-concepts/#fundamental-communication-elements">Task</a></br>
<!-- <a target="_blank" href="https://google.github.io/A2A/topics/key-concepts/#fundamental-communication-elements">Message</a>,</br> -->
<!-- <a target="_blank" href="https://google.github.io/A2A/topics/key-concepts/#fundamental-communication-elements">Part</a>,</br> -->
<!-- <a target="_blank" href="https://google.github.io/A2A/topics/key-concepts/#fundamental-communication-elements">Artifact</a> -->
</td>
<td>Task invocation</td>
<td>N/A</td>
<td>Strings?</td>
<td><a target="_blank" href="https://google.github.io/A2A/specification/#5-agent-discovery-the-agent-card">Agent Card</a>,</br>
<a target="_blank" href="https://google.github.io/A2A/specification/#61-task-object">Task description</a>,</br>(JSON)</td>
<td>Well-known URIs,</br>Directories</td>
<td>Async. Client-Server with streaming RPC connectors and webhooks (JSON-RPC 2.0, HTTP+SSE)</td>
</tr>
<tr>
<td>ANP</td>
<td>Agent,</br><a target="_blank" href="https://agent-network-protocol.com/specs/agent-description.html">Agent Description</a>,</br>Communication Protocol</td>
<td>Communication protocols with protocol negotiation</td>
<td>N/A</td>
<td>W3C DID with custom <a target="_blank" href="https://agent-network-protocol.com/specs/did-method.html">Web-based Agent DID Method</a></td>
<td><a target="_blank" href="https://agent-network-protocol.com/specs/agent-description.html">Agent Description</a> (RDF/JSON-LD)</td>
<td>Directories</td>
<td>Peer-to-Peer?</br>(WebSocket subprotocol)</td>
</tr>
<tr>
<td>LMOS</td>
<td><a target="_blank" href="https://eclipse.dev/lmos/docs/agent/">Agent</a>,</br>
<a target="_blank" href="https://eclipse.dev/lmos/docs/multi_agent_system/group_management/">Agent Group</a>,
<a target="_blank" href="https://eclipse.dev/lmos/docs/tool/">Tool</a>,</br>
<a target="_blank" href="https://eclipse.dev/lmos/docs/lmos_protocol/agent_description/">Agent Description</a>,</br>
<a target="_blank" href="https://eclipse.dev/lmos/docs/lmos_protocol/tool_description/">Tool Description</a></td>
<td>Message passing?</br>(in principle: TD interaction affordances)</td>
<td>Property Affordances,</br>Event Affordances,</br>Action Affordances</br>(<a target="_blank" href="https://www.w3.org/TR/wot-thing-description11/">W3C WoT TD</a>)</td>
<td>Uniform identifiers (IRIs, W3C DIDs)</td>
<td><a target="_blank" href="https://eclipse.dev/lmos/docs/lmos_protocol/agent_description/">Agent Description</a>,</br>
<a target="_blank" href="https://eclipse.dev/lmos/docs/lmos_protocol/tool_description/">Tool Description</a></br>(W3C WoT TD; JSON, RDF/JSON-LD)</td>
<td>DNS-SD/mDNS,</br>Well-known URIs,</br>Directories</br>(<a target="_blank" href="https://www.w3.org/TR/wot-discovery/">W3C WoT Discovery</a>)</td>
<td>W3C WoT Arch.? with protocol bindings for HTTP and WebSocket subprotocol</td>
</tr>
<tr>
<td>FIPA</td>
<td>Agent,</br>Agent Directory,</br>Service Directory,</br>Agent Communication Language,</br>Interaction Protocol</br></td>
<td><a target="_blank" href="http://www.fipa.org/specs/fipa00037/SC00037J.html">FIPA Agent Communication Langauge</a>,</br><a target="_blank" href="http://www.fipa.org/repository/standardspecs.html">FIPA Agent Interaction Protocols</a></td>
<td>N/A</td>
<td>FIPA Agent Name</td>
<td><a target="_blank" href="http://www.fipa.org/specs/fipa00023/SC00023K.html#_Toc75951012">FIPA Agent Identifier Description</a></td>
<td>Directories</td>
<td>TODO</td>
</tr>
<!-- <tr>
<td>Solid</td>
<td></td>
<td></td>
<td></td>
<td>URI</td>
<td>FOAF Profile</td>
<td></td>
</tr> -->
<tr>
<td>hMAS</td>
<td><a target="_blank" href="http://purl.org/hmas/Agent">Agent</a>,</br>
<a target="_blank" href="http://purl.org/hmas/Artifact">Artifact</a>,</br>
Agent Body,</br>
<a target="_blank" href="http://purl.org/hmas/Workspace">Workspace</a>,</br>
<a target="_blank" href="http://purl.org/hmas/Signifier">Signifier</a>,</br>
<a target="_blank" href="http://purl.org/hmas/Role">Role</a>,</br>
<a target="_blank" href="http://purl.org/hmas/Group">Group</a>,</br>
<a target="_blank" href="http://purl.org/hmas/Organization">Organization</a>,</br>
<!-- <a target="_blank" href="http://purl.org/hmas/HypermediaMASPlatform">hMAS Platform</a>,</br> -->
<a target="_blank" href="http://purl.org/hmas/ResourceProfile">Resource Profile</a></td>
<td>Message passing,</br>Signifiers for agent body affordances</td>
<td>Signifiers</br>(<a target="_blank" href="https://www.w3.org/TR/wot-thing-description11/">W3C WoT TD</a>, <a target="_blank" href="http://purl.org/hmas/">hMAS ontology</a>)</td>
<td>Uniform identifiers (IRIs, W3C DIDs)</td>
<td><a target="_blank" href="http://purl.org/hmas/ResourceProfile">Resource Profile</a></br>(<a target="_blank" href="https://www.w3.org/TR/wot-thing-description11/">W3C WoT TD</a> or <a target="_blank" href="http://purl.org/hmas/">hMAS ontology</a>; RDF/Turtle)</td>
<td>Hypermedia crawling,</br>Search engines,</br>Directories</td>
<td>Async. Client-Server with REST connectors (HTTP) and brokered pub/sub (W3C WebSub)</td>
</tr>
<tr>
<td>Multi-Agent MicroSevices (MAMS)</td>
<td>Agent,</br>
Agent Body,</br>
Resource,
Microservices</td>
<td>FIPA ACL (over HTTP), REST, HTTP API, JMS</td>
<td>REST, HTTP API, JMS,
<a target="_blank" href="https://www.w3.org/TR/wot-thing-description11/">W3C WOT TD</a></td>
<td>URIs (Agents, Agent Bodies, Resources)</td>
<td>Agent Bodies (JSON,
JSON-LD (inc <a target="_blank" href="https://www.w3.org/2019/wot/hypermedia">W3C WoT Hypermedia Controls Ontology</a>),
<a target="_blank" href="https://www.ietf.org/archive/id/draft-kelly-json-hal-11.html">HAL</a>)</td>
<td>Service Registries (Netflix Eureka), Link Crawling, Link Sharing</td>
<td>Microservices Architecture, Event Driven Architecture, REST</td>
</tr>
</table>
<section id="agents-web-services">
<h3>Agents and Web Services</h3>
<aside class="issue">
<p>This section is to summarize the research on Web-based MAS, from service-oriented computing in the early 2000s to current work on Hypermedia MAS.</p>
</aside>
</section>
<section data-dfn-for="Foo">
<h3>Agents and the Decentralized Social Web</h3>
<aside class="issue">
<p>This section discusses agents in the context of the decentralized Social Web — and especially the Solid ecosystem.</p>
</aside>
</section>
<section data-dfn-for="Foo">
<h3>Agentic AI</h3>
<aside class="issue">
<p>This section is to summarize relevant developments around AI agents and agentic AI (e.g., MCP, A2A, ANP, LMOS, etc.).</p>
</aside>
</section>
</section>
</section>
<section data-dfn-for="Foo">
<h2 id="identity">Identification</h2>
<aside class="issue">
<p>We need to identify agents, tools, protocols, and other entities in a Web-based MAS in a uniform way and independent of context. Additional requirements may be relevant depending on the degree of openness, e.g. see the <a href="https://www.w3.org/TR/did-1.0/#design-goals">requirements identified by the DID WG</a>.</p>
</aside>
<section data-dfn-for="Foo">
<h3>Relevant Standards and Initiatives</h3>
<section data-dfn-for="Foo">
<h3>Agent Identification</h3>
<aside class="issue">
<p>E.g., FIPA, SemWeb/FOAF, hMAS, LMOS, A2A</a>.</p>
</aside>
</section>
<section data-dfn-for="Foo">
<h3>Tool Identification</h3>
<aside class="issue">
<p>E.g., MCP, hMAS, MAMS, LMOS</a>.</p>
</aside>
</section>
</section>
<section data-dfn-for="Foo">
<h3>Discussion</h3>
<aside class="issue">
<p>Identify commonalities among the different initiatives and pontential gaps</a>.</p>
</aside>
</section>
</section>
<section>
<h2 id="profiles">Profiles</h2>
<aside class="issue">
<p>We need to describe non-information resources that we interact with in a Web-based MAS: agents, tools, etc.</p>
</aside>
<section data-dfn-for="Foo">
<h3>Relevant Standards and Initiatives</h3>
<section data-dfn-for="Foo">
<h3>Agent Profiles</h3>
</section>
<section data-dfn-for="Foo">
<h3>Tool Profiles</h3>
</section>
</section>
<section data-dfn-for="Foo">
<h3>Discussion</h3>
<aside class="issue">
<p>Identify commonalities among the different initiatives and pontential gaps</a>.</p>
</aside>
</section>
</section>
<section>
<h2>Verifiable Credentials</h2>
<aside class="issue">
<p>See <a href="https://github.com/w3c-cg/webagents/issues/83">GitHub Issue 83</a></p>
</aside>
<section data-dfn-for="Foo">
<h3>Relevant Standards</h3>
</section>
<section data-dfn-for="Foo">
<h3>Discussion</h3>
<aside class="issue">
<p>Identify commonalities among the different initiatives and pontential gaps</a>.</p>
</aside>
</section>
</section>
<section>
<h2>Discovery</h2>
<p>
The role of discovery is to enable Web agents to provide mechanisms to support the retrieval of other Web Agent or Tool
<a href="#identify">identities</a> at runtime either directly or indirectly through intermediary <a href="#profiles">profiles</a>
that include the identity of the Web Agent or Tool.
</p>
<aside class="issue">
<p><A href="https://www.w3.org/TR/wot-discovery">WoT Discovery Standard</A> specifies two phases for Discovery: Introduction and Exploration.
Introduction is the discovery of a URL that describes an Agent/Tool. Exploration is the consumption of the resource associated with that
URL which may be an identity or profile. My concern is that Exploration is really use of the identifier/profile which is described in
the relevant section.
</p>
</aside>
<p>
The need for discovery is based on <a href="#principle2">Principle 2 (Single entry point)</a> which states that a Hypermedia MAS
should expose one or more entry URLs from which the rest of the system and the means to participate in it can be discovered through
hyperlinks. Discovery may occur either through ad-hoc exploration of the the Hypermedia Space by link following or through the
provision of dedicated resources hosted at well known IRIs. On a local network mDNS based discovery mechanisms may also be used.
</p>
<aside class="issue">
<p>
Approaches considered in WoT Discovery: Direct, Well-Known Uniform Resource Identifier [RFC8615], DNS-based Service Discovery, DIDs?
</p>
</aside>
<section data-dfn-for="Foo">
<h3>Relevant Standards and Initiatives</h3>
A number of standards and initiatives exist that address Web Agent or Tool discovery. The following sections focus on agents and tools.
<section data-dfn-for="Foo">
<h3>Agent Discovery</h3>
<h3>FIPA</h3>
<p>
The section on <a href="#identify">Identification</a> includes a brief introduction to the
<a hef="https://web.archive.org/web/20250321030044/http://www.fipa.org/repository/index.html">FIPA Standards</a>. The
topic of agent discovery is mentioned in two of the standards: the <a href="https://web.archive.org/web/20250814070600/http://www.fipa.org/specs/fipa00001/SC00001L.html">FIPA Abstract Architecture Specification (FIPA00001)</a>
and the <a href="https://web.archive.org/web/20230528171843/http://fipa.org/specs/fipa00023/SC00023K.html">FIPA Agent Management Specification (FIPA00023)</a>.
The first of these standards defines an abstract architecture for agent platforms (the runtime infrastructure on which
agents are deployed) based on: agents and services. Services are intended to provide the infrastructure supports necessary
to deploy agents. This includes the Agent Directory Service, a support service that agents can register with and which
they can use to find other agents they wish to interact with. The second standard introduces the mandatory Agent Management
Service (AMS) that is the authority for the creation of FIPA Agent Identifiers and is also an implementation of the Agent
Directory Service.
</p>
</section>
</section>
<section data-dfn-for="Foo">
<h3>Tool Discovery</h3>
</section>
</section>
<section data-dfn-for="Foo">
<h3>Discussion</h3>
<aside class="issue">
<p>Identify commonalities among the different initiatives and pontential gaps</a>.</p>
</aside>
</section>
</section>
<section>
<h2>Agent-to-Agent Interaction</h2>
<section data-dfn-for="Foo">
<h3>Relevant Standards and Initiatives</h3>
<section>
<h3>Agents and People</h3>
</section>
</section>
<section data-dfn-for="Foo">
<h3>Discussion</h3>
<aside class="issue">
<p>Identify commonalities among the different initiatives and pontential gaps</a>.</p>
</aside>
</section>
</section>
<section>
<h2>Agent-Environment Interaction</h2>
<section data-dfn-for="Foo">
<h3>Relevant Standards and Initiatives</h3>
<section>
<h3>Tool Use</h3>
</section>
</section>
<section data-dfn-for="Foo">
<h3>Discussion</h3>
<aside class="issue">
<p>Identify commonalities among the different initiatives and pontential gaps</a>.</p>
</aside>
</section>
</section>
<section>
<h2>Policies, Norms, and Accountability</h2>
<aside class="issue">
<p>See <a href="https://github.com/w3c/odrl/issues/112">ODRL Issue 112</a></p>
</aside>
<section data-dfn-for="Foo">
<h3>Relevant Standards and Initiatives</h3>
<p>ODRL, DIDs?</p>
</section>
<section data-dfn-for="Foo">
<h3>Discussion</h3>
<aside class="issue">
<p>Identify commonalities among the different initiatives and pontential gaps</a>.</p>
</aside>
</section>
</section>
<section>
<h2>Security and Privacy</h2>
<section data-dfn-for="Foo">
<h3>Relevant Standards</h3>
<section>
<h3>Authentication and Authorization</h3>
</section>
</section>
<section data-dfn-for="Foo">
<h3>Discussion</h3>
<aside class="issue">
<p>Identify commonalities among the different initiatives and pontential gaps</a>.</p>
</aside>
</section>
</section>
<section>
<h2>Conclusions: A Roadmap for Agents on the Web</h2>
<section>
<h3>Accountability</h3>
<p>Make a case for accountability; what do we need to enable accountability, e.g. transparency? answerability (building a dialogue)?</p>
</section>
</section>
<section>
<h2>Acknowledgements</h2>
</section>
<!-- <section id="conformance">
<p>
This is required for specifications that contain normative material.
</p>
</section> -->
</body>
</html>