Skip to content

Commit e22b977

Browse files
Merge branch 'main' into ocisec-coder-patch-6
2 parents cdd37b2 + 3333417 commit e22b977

File tree

15 files changed

+444
-8
lines changed

15 files changed

+444
-8
lines changed
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
streamlit run ui_mcp_agent.py
2+
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
python mcp_aggregator.py
2+
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
python mcp_consumption.py --port 9500
2+
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
streamlit run mcp_explorer.py
2+
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
python mcp_internet_search.py --port 8500
2+
3+
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025 Luigi Saetta
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.
Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
# 🧩 Open Agent Specification — Overview
2+
3+
A **unified declarative standard for AI agents**, designed to bring interoperability across frameworks such as **LangGraph**, **AutoGen**, and **Oracle Agent Runtime**.
4+
5+
> From fragmented agent frameworks to interoperable agentic systems
6+
> 📄 Source: [arXiv 2510.04173 (October 2025)](https://arxiv.org/abs/2510.04173)
7+
8+
---
9+
10+
## 🎯 Design Objectives
11+
12+
| Objective | Description |
13+
|------------|--------------|
14+
| **Portability & Interoperability** | Move agents seamlessly between frameworks (LangGraph, AutoGen, OCI Agent Runtime). |
15+
| **Declarative Definition** | Define agents in YAML/JSON instead of hardcoded logic. |
16+
| **Modularity & Composability** | Reuse flows, tools, and sub-agents. |
17+
| **Explicit Control & Data Flow** | Clearly define how steps connect, branch, or loop. |
18+
| **Validation & Conformance** | Built-in schema validation ensures compatibility. |
19+
| **Multi-Agent Composition** | Enable collaboration and orchestration among agents. |
20+
21+
---
22+
23+
## 🧠 Core Concepts and Components
24+
25+
| Concept | Explanation |
26+
|----------|--------------|
27+
| **Agent** | The reasoning or conversational entity. |
28+
| **Flow** | Structured workflow defining execution steps (nodes, branches, loops). |
29+
| **Tool** | API, function, or service the agent can call. |
30+
| **Memory / Prompt Templates** | Mechanisms for contextual state and conversation history. |
31+
| **Edges** | Define relationships and data flow between nodes. |
32+
33+
These building blocks form the **agent graph**, which can be executed on compatible runtimes.
34+
35+
---
36+
37+
## ⚙️ Serialization, SDKs, and Runtime Adapters
38+
39+
### Serialization Layer
40+
- Uses **YAML/JSON schemas** for transparent, portable definitions.
41+
- Supports versioning, validation, and interchange.
42+
43+
### Python SDK — `PyAgentSpec`
44+
- Reference SDK for building, validating, and exporting agents.
45+
- Provides schema validation, object composition, and serialization.
46+
47+
### Runtime Adapters
48+
Bridge the specification to concrete frameworks:
49+
- **OCI Agent Runtime**
50+
- **LangGraph**
51+
- **AutoGen**
52+
53+
Adapters support **import/export** interoperability:
54+
55+
---
56+
57+
## 🔄 Control Flow & Data Flow Semantics
58+
59+
- **Directed edges** define execution order.
60+
- **Branching and loops** for dynamic logic.
61+
- **Inputs/outputs** explicitly mapped between steps.
62+
- **Nested flows** and **sub-agents** enable modular reuse.
63+
64+
This model ensures predictability, traceability, and easy debugging across runtimes.
65+
66+
---
67+
68+
## 💡 Benefits & Value Proposition
69+
70+
| Stakeholder | Benefits |
71+
|--------------|-----------|
72+
| **Developers** | Portability, validation, and reuse of components. |
73+
| **Framework Vendors** | A standardized interchange format. |
74+
| **Researchers** | Reproducibility and comparability across experiments. |
75+
| **Enterprises** | Governance, modularity, and reduced vendor lock-in. |
76+
77+
> **In essence:** “Write once, run anywhere” for AI agents.
78+
79+
---
80+
81+
## ⚠️ Limitations & Challenges
82+
83+
| Challenge | Description |
84+
|------------|--------------|
85+
| **Early-Stage Adoption** | Specification is still experimental. |
86+
| **Runtime Mismatch** | Execution semantics differ between frameworks. |
87+
| **Performance Overhead** | Translation layer introduces minimal latency. |
88+
| **Safety & Observability** | Delegated to runtime implementations. |
89+
90+
---
91+
92+
## 🗺️ Roadmap & Future Directions
93+
94+
Planned enhancements include:
95+
- **Memory, Planning, and Datastore** extensions.
96+
- **Agent-to-Agent (A2A)** communication protocols.
97+
- SDKs for more languages (Java, TypeScript, Go).
98+
- **Conformance tests** and **visual editors**.
99+
- Community-driven **registry of agents**.
100+
101+
---
102+
103+
## 🔍 Critique & Strategic Considerations
104+
105+
### Strengths
106+
- Framework-agnostic and modular.
107+
- Promotes ecosystem collaboration.
108+
- Declarative, composable design.
109+
110+
### Risks
111+
- Slow adoption curve.
112+
- Runtime complexity.
113+
- Divergent adapter implementations.
114+
115+
### Recommendations
116+
- Start small and modular.
117+
- Contribute runtime adapters early.
118+
- Prioritize **observability** and **safety instrumentation**.
119+
120+
---
121+
122+
## 🧾 Summary & References
123+
124+
The **Open Agent Specification** defines a **declarative, interoperable schema** for building modular AI agents across multiple runtimes and ecosystems.
125+
126+
| Resource | Link |
127+
|-----------|------|
128+
| 📄 Paper | [arXiv 2510.04173](https://arxiv.org/abs/2510.04173) |
129+
| 💻 GitHub | [https://github.com/oracle/agent-spec](https://github.com/oracle/agent-spec) |
130+
| 📘 Docs | [https://oracle.github.io/agent-spec/index.html](https://oracle.github.io/agent-spec/index.html) |
131+
| 📰 Blog | [Oracle AI & Data Science Blog](https://blogs.oracle.com/ai-and-datascience/post/introducing-open-agent-specification) |
132+
133+
---
134+
135+
### ✅ Summary Statement
136+
137+
> **Open Agent Specification** is a key step toward **standardizing AI agent design**, enabling transparent, portable, and interoperable agent systems across enterprise and open-source ecosystems.
138+
139+
---
140+
141+

0 commit comments

Comments
 (0)