coaiajs 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +56 -0
- package/KINSHIP.md +63 -0
- package/README.md +148 -0
- package/articles/academic/creative-orientation-vs-problem-solving.md +177 -0
- package/articles/academic/jsonl-knowledge-graphs-agent-memory.md +142 -0
- package/articles/academic/langfuse-observability-llm-pipelines.md +144 -0
- package/articles/academic/medicine-wheel-software-architecture.md +163 -0
- package/articles/academic/mmot-autonomous-agents.md +156 -0
- package/articles/academic/model-context-protocol-interagent.md +161 -0
- package/articles/academic/pde-prompt-decomposition.md +186 -0
- package/articles/academic/structural-tension-in-ai-agents.md +134 -0
- package/articles/reviews/mcp-protocol-design-review.md +170 -0
- package/articles/reviews/observability-ai-systems-review.md +176 -0
- package/articles/reviews/prompt-engineering-decomposition-review.md +184 -0
- package/articles/surveys/agent-orchestration-survey.md +186 -0
- package/articles/surveys/knowledge-graph-storage-survey.md +204 -0
- package/articles/surveys/structural-tension-methodology-survey.md +154 -0
- package/articles/technical/aws-sdk-v3-polly.md +270 -0
- package/articles/technical/commander-cli-framework.md +262 -0
- package/articles/technical/dotenv-config-patterns.md +360 -0
- package/articles/technical/ioredis-vs-redis.md +142 -0
- package/articles/technical/langfuse-js-sdk-vs-rest.md +191 -0
- package/articles/technical/mcp-sdk-typescript.md +291 -0
- package/articles/technical/octokit-github-api.md +293 -0
- package/articles/technical/openai-sdk-modern.md +231 -0
- package/articles/technical/yaml-parsing-node.md +266 -0
- package/articles/technical/zod-runtime-validation.md +212 -0
- package/dist/mcp/config.d.ts +14 -0
- package/dist/mcp/config.js +185 -0
- package/dist/mcp/server.d.ts +3 -0
- package/dist/mcp/server.js +324 -0
- package/dist/mcp/tools/coaiapy-tools.d.ts +8 -0
- package/dist/mcp/tools/coaiapy-tools.js +326 -0
- package/dist/mcp/tools/index.d.ts +3 -0
- package/dist/mcp/tools/index.js +3 -0
- package/dist/src/audio.d.ts +12 -0
- package/dist/src/audio.js +57 -0
- package/dist/src/cli-helpers.d.ts +9 -0
- package/dist/src/cli-helpers.js +78 -0
- package/dist/src/cli.d.ts +3 -0
- package/dist/src/cli.js +1086 -0
- package/dist/src/config.d.ts +15 -0
- package/dist/src/config.js +145 -0
- package/dist/src/environment.d.ts +44 -0
- package/dist/src/environment.js +146 -0
- package/dist/src/github.d.ts +47 -0
- package/dist/src/github.js +79 -0
- package/dist/src/langfuse/client.d.ts +30 -0
- package/dist/src/langfuse/client.js +75 -0
- package/dist/src/langfuse/comments.d.ts +16 -0
- package/dist/src/langfuse/comments.js +36 -0
- package/dist/src/langfuse/datasets.d.ts +19 -0
- package/dist/src/langfuse/datasets.js +140 -0
- package/dist/src/langfuse/index.d.ts +13 -0
- package/dist/src/langfuse/index.js +10 -0
- package/dist/src/langfuse/media.d.ts +11 -0
- package/dist/src/langfuse/media.js +167 -0
- package/dist/src/langfuse/observations.d.ts +18 -0
- package/dist/src/langfuse/observations.js +113 -0
- package/dist/src/langfuse/prompts.d.ts +14 -0
- package/dist/src/langfuse/prompts.js +127 -0
- package/dist/src/langfuse/scores.d.ts +54 -0
- package/dist/src/langfuse/scores.js +366 -0
- package/dist/src/langfuse/traces.d.ts +29 -0
- package/dist/src/langfuse/traces.js +225 -0
- package/dist/src/llm.d.ts +23 -0
- package/dist/src/llm.js +76 -0
- package/dist/src/narrative/graph-manager.d.ts +106 -0
- package/dist/src/narrative/graph-manager.js +915 -0
- package/dist/src/narrative/index.d.ts +9 -0
- package/dist/src/narrative/index.js +7 -0
- package/dist/src/narrative/markdown-export.d.ts +21 -0
- package/dist/src/narrative/markdown-export.js +383 -0
- package/dist/src/narrative/tool-definitions.d.ts +21 -0
- package/dist/src/narrative/tool-definitions.js +588 -0
- package/dist/src/narrative/tool-handlers.d.ts +11 -0
- package/dist/src/narrative/tool-handlers.js +462 -0
- package/dist/src/narrative/types.d.ts +2 -0
- package/dist/src/narrative/types.js +2 -0
- package/dist/src/narrative/validation.d.ts +29 -0
- package/dist/src/narrative/validation.js +144 -0
- package/dist/src/pde/index.d.ts +8 -0
- package/dist/src/pde/index.js +8 -0
- package/dist/src/pde/mcp-handlers.d.ts +7 -0
- package/dist/src/pde/mcp-handlers.js +300 -0
- package/dist/src/pde/mcp-tools.d.ts +15 -0
- package/dist/src/pde/mcp-tools.js +191 -0
- package/dist/src/pde/session-manager.d.ts +32 -0
- package/dist/src/pde/session-manager.js +205 -0
- package/dist/src/pde/stc-mapper.d.ts +26 -0
- package/dist/src/pde/stc-mapper.js +234 -0
- package/dist/src/pipeline/index.d.ts +2 -0
- package/dist/src/pipeline/index.js +3 -0
- package/dist/src/pipeline/template-engine.d.ts +20 -0
- package/dist/src/pipeline/template-engine.js +361 -0
- package/dist/src/planning/index.d.ts +7 -0
- package/dist/src/planning/index.js +7 -0
- package/dist/src/planning/mcp-handlers.d.ts +7 -0
- package/dist/src/planning/mcp-handlers.js +310 -0
- package/dist/src/planning/mcp-tools.d.ts +15 -0
- package/dist/src/planning/mcp-tools.js +145 -0
- package/dist/src/planning/plan-parser.d.ts +35 -0
- package/dist/src/planning/plan-parser.js +506 -0
- package/dist/src/redis.d.ts +21 -0
- package/dist/src/redis.js +78 -0
- package/dist/src/types.d.ts +244 -0
- package/dist/src/types.js +8 -0
- package/mcp/config.ts +196 -0
- package/mcp/server.ts +402 -0
- package/mcp/tools/coaiapy-tools.ts +364 -0
- package/mcp/tools/index.ts +4 -0
- package/package.json +52 -0
- package/rispecs/00-coaiajs-platform.spec.md +102 -0
- package/rispecs/01-core-config.spec.md +89 -0
- package/rispecs/02-redis-module.spec.md +62 -0
- package/rispecs/03-langfuse-module.spec.md +101 -0
- package/rispecs/04-narrative-engine.spec.md +185 -0
- package/rispecs/05-pde-engine.spec.md +112 -0
- package/rispecs/06-planning-engine.spec.md +128 -0
- package/rispecs/07-pipeline-templates.spec.md +97 -0
- package/rispecs/08-cli-interface.spec.md +134 -0
- package/rispecs/09-mcp-server.spec.md +140 -0
- package/rispecs/10-audio-module.spec.md +63 -0
- package/rispecs/KINSHIP.md +56 -0
- package/rispecs/README.md +100 -0
- package/src/audio.ts +76 -0
- package/src/cli-helpers.ts +86 -0
- package/src/cli.ts +1223 -0
- package/src/config.ts +172 -0
- package/src/environment.ts +171 -0
- package/src/github.ts +143 -0
- package/src/langfuse/client.ts +105 -0
- package/src/langfuse/comments.ts +52 -0
- package/src/langfuse/datasets.ts +178 -0
- package/src/langfuse/index.ts +33 -0
- package/src/langfuse/media.ts +193 -0
- package/src/langfuse/observations.ts +131 -0
- package/src/langfuse/prompts.ts +157 -0
- package/src/langfuse/scores.ts +456 -0
- package/src/langfuse/traces.ts +276 -0
- package/src/llm.ts +106 -0
- package/src/narrative/graph-manager.ts +1358 -0
- package/src/narrative/index.ts +32 -0
- package/src/narrative/markdown-export.ts +535 -0
- package/src/narrative/tool-definitions.ts +635 -0
- package/src/narrative/tool-handlers.ts +528 -0
- package/src/narrative/types.ts +9 -0
- package/src/narrative/validation.ts +179 -0
- package/src/pde/index.ts +8 -0
- package/src/pde/mcp-handlers.ts +359 -0
- package/src/pde/mcp-tools.ts +201 -0
- package/src/pde/session-manager.ts +248 -0
- package/src/pde/stc-mapper.ts +298 -0
- package/src/pipeline/index.ts +7 -0
- package/src/pipeline/template-engine.ts +398 -0
- package/src/planning/index.ts +13 -0
- package/src/planning/mcp-handlers.ts +369 -0
- package/src/planning/mcp-tools.ts +155 -0
- package/src/planning/plan-parser.ts +587 -0
- package/src/redis.ts +97 -0
- package/src/types.ts +280 -0
- package/tsconfig.json +26 -0
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
# Survey of Multi-Agent Orchestration Patterns: AutoGen, CrewAI, LangGraph, and MCP
|
|
2
|
+
|
|
3
|
+
> Academic survey for the CoAiA.js project — How AI agents coordinate, delegate, and share context across leading orchestration frameworks and the emergent role of MCP as a universal interoperability layer.
|
|
4
|
+
|
|
5
|
+
## Abstract
|
|
6
|
+
|
|
7
|
+
The multi-agent AI ecosystem has fragmented into distinct orchestration paradigms: role-based teams (CrewAI), graph-based state machines (LangGraph), conversation-driven negotiation (AutoGen/AG2), and protocol-standardized tool invocation (MCP). This survey examines the architectural patterns, coordination mechanisms, and operational trade-offs of these four approaches to multi-agent orchestration. We analyze each framework's model for agent specialization, inter-agent communication, context sharing, and error recovery. Our findings reveal a convergence toward hybrid architectures where MCP provides the universal tool interface, while framework-specific patterns handle agent coordination logic. The survey situates CoAiA.js's Four Directions orchestration model within this landscape, demonstrating how structural tension methodology provides an alternative to both role-based and graph-based coordination that naturally prevents the oscillatory patterns common in complex multi-agent workflows.
|
|
8
|
+
|
|
9
|
+
## Introduction
|
|
10
|
+
|
|
11
|
+
The transition from single-agent to multi-agent AI systems introduces coordination challenges that mirror those in distributed computing and organizational management: how do agents divide labor, share context, handle failures, and maintain coherent progress toward shared goals? [1]
|
|
12
|
+
|
|
13
|
+
The 2024–2025 period has seen rapid proliferation of orchestration frameworks, each embodying different assumptions about how agents should interact. This survey examines the four dominant paradigms, identifies their structural properties, and evaluates their implications for the design of CoAiA.js's multi-agent capabilities.
|
|
14
|
+
|
|
15
|
+
## Survey of Orchestration Patterns
|
|
16
|
+
|
|
17
|
+
### 1. Role-Based Team Orchestration: CrewAI
|
|
18
|
+
|
|
19
|
+
**Architecture:** Agents are defined as team members with explicit roles (Researcher, Writer, Reviewer), goals, tools, and behavioral constraints. A "crew" is assembled from these role-defined agents and given a task sequence to execute [2][3].
|
|
20
|
+
|
|
21
|
+
**Coordination Model:**
|
|
22
|
+
```python
|
|
23
|
+
researcher = Agent(role="Senior Researcher", goal="Find comprehensive information", tools=[search, scrape])
|
|
24
|
+
writer = Agent(role="Technical Writer", goal="Create clear documentation", tools=[write, format])
|
|
25
|
+
crew = Crew(agents=[researcher, writer], tasks=[research_task, writing_task], process=Process.sequential)
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
**Communication Pattern:** Primarily sequential task handoff—the output of one agent becomes the input of the next. Limited support for parallel execution and inter-agent negotiation.
|
|
29
|
+
|
|
30
|
+
**Strengths:**
|
|
31
|
+
- Intuitive mental model (mirrors human team organization)
|
|
32
|
+
- Fastest prototyping and lowest learning curve
|
|
33
|
+
- Effective for linear business workflows
|
|
34
|
+
- Clean separation of concerns through role specialization
|
|
35
|
+
|
|
36
|
+
**Weaknesses:**
|
|
37
|
+
- Limited control flow: branching, looping, and conditional logic are constrained
|
|
38
|
+
- Susceptible to "agent loops" where agents repeatedly invoke each other without progress
|
|
39
|
+
- Low determinism: identical inputs can produce different execution paths
|
|
40
|
+
- Debugging is challenging: agent decisions are opaque [4][5]
|
|
41
|
+
|
|
42
|
+
**Structural Tension Analysis:** CrewAI operates without explicit structural tension. Goals are stated but current reality is not formally tracked. This makes CrewAI susceptible to the oscillation pattern: agents work toward goals, partially achieve them, lose momentum, and re-engage when prompted.
|
|
43
|
+
|
|
44
|
+
### 2. Graph-Based State Machine Orchestration: LangGraph
|
|
45
|
+
|
|
46
|
+
**Architecture:** Workflows are modeled as directed graphs where nodes represent processing steps (which may involve agents) and edges represent transitions between steps. State is explicitly managed and passed between nodes [6][7].
|
|
47
|
+
|
|
48
|
+
**Coordination Model:**
|
|
49
|
+
```python
|
|
50
|
+
graph = StateGraph(AgentState)
|
|
51
|
+
graph.add_node("research", research_node)
|
|
52
|
+
graph.add_node("write", write_node)
|
|
53
|
+
graph.add_node("review", review_node)
|
|
54
|
+
graph.add_edge("research", "write")
|
|
55
|
+
graph.add_conditional_edges("review", should_revise, {"revise": "write", "approve": END})
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**Communication Pattern:** State-passing through a shared state object. Each node reads from and writes to the state, enabling complex branching, looping, and conditional logic.
|
|
59
|
+
|
|
60
|
+
**Strengths:**
|
|
61
|
+
- Highest control and determinism among frameworks
|
|
62
|
+
- Explicit branching, looping, error recovery, and conditional logic
|
|
63
|
+
- Production-grade reliability (~94% accuracy in benchmarks)
|
|
64
|
+
- Full visibility into execution state at every point
|
|
65
|
+
- Natural fit for complex, multi-step workflows with failure recovery [8]
|
|
66
|
+
|
|
67
|
+
**Weaknesses:**
|
|
68
|
+
- Steepest learning curve: requires understanding of state machines and graph theory
|
|
69
|
+
- Most verbose code for simple workflows
|
|
70
|
+
- Tightly coupled to LangChain ecosystem
|
|
71
|
+
- Over-engineering risk for straightforward sequential tasks
|
|
72
|
+
|
|
73
|
+
**Structural Tension Analysis:** LangGraph's state machine model can encode structural tension: the state object can carry desired outcome and current reality, and conditional edges can check tension resolution. However, this requires explicit implementation—it is not a native feature.
|
|
74
|
+
|
|
75
|
+
### 3. Conversation-Driven Orchestration: AutoGen (AG2)
|
|
76
|
+
|
|
77
|
+
**Architecture:** Agents communicate through structured conversations—rounds of messages where each agent contributes based on its perspective. Coordination emerges from the conversation rather than being imposed by a workflow graph [9][10].
|
|
78
|
+
|
|
79
|
+
**Coordination Model:**
|
|
80
|
+
```python
|
|
81
|
+
assistant = AssistantAgent("assistant", llm_config=llm_config)
|
|
82
|
+
critic = AssistantAgent("critic", system_message="Critique code quality")
|
|
83
|
+
user_proxy = UserProxyAgent("user", code_execution_config={"work_dir": "coding"})
|
|
84
|
+
groupchat = GroupChat(agents=[user_proxy, assistant, critic], messages=[], max_round=12)
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
**Communication Pattern:** Round-robin or dynamic turn-taking in group chats. Agents see the full conversation history and contribute based on their system messages and observed context.
|
|
88
|
+
|
|
89
|
+
**Strengths:**
|
|
90
|
+
- Most natural model for collaborative reasoning and negotiation
|
|
91
|
+
- Flexible: agent composition can change dynamically
|
|
92
|
+
- Strong for human-in-the-loop workflows
|
|
93
|
+
- Effective for research, brainstorming, and iterative refinement
|
|
94
|
+
- AG2 (successor) adds enterprise reliability features [11]
|
|
95
|
+
|
|
96
|
+
**Weaknesses:**
|
|
97
|
+
- Least deterministic: conversation dynamics are inherently unpredictable
|
|
98
|
+
- Context overflow risk: long conversations exceed context windows
|
|
99
|
+
- Debugging difficulty: tracing which conversational turn caused which outcome
|
|
100
|
+
- Performance unpredictability: conversation length varies significantly
|
|
101
|
+
|
|
102
|
+
**Structural Tension Analysis:** AutoGen's conversational model naturally surfaces tension—critics identify gaps between desired and actual output. However, this tension is implicit in conversation rather than explicitly tracked, making it difficult to measure advancement vs. oscillation.
|
|
103
|
+
|
|
104
|
+
### 4. Protocol-Standardized Tool Invocation: MCP
|
|
105
|
+
|
|
106
|
+
**Architecture:** MCP is not an orchestration framework but a **communication protocol** that standardizes how agents invoke tools. Unlike CrewAI, LangGraph, and AutoGen, MCP does not prescribe coordination patterns—it provides the infrastructure layer upon which coordination is built [12][13].
|
|
107
|
+
|
|
108
|
+
**Coordination Model:** MCP defines tool discovery (tools/list), tool invocation (tools/call), resource access (resources/read), and prompt provision (prompts/get) through JSON-RPC 2.0 messages over stdio or HTTP transport.
|
|
109
|
+
|
|
110
|
+
**Strengths:**
|
|
111
|
+
- Universal: any framework can use MCP for tool invocation
|
|
112
|
+
- Dynamic tool discovery: agents learn available capabilities at runtime
|
|
113
|
+
- Human-in-the-loop: built-in approval gates for sensitive operations
|
|
114
|
+
- Framework-agnostic: works with CrewAI, LangGraph, AutoGen, or custom systems
|
|
115
|
+
|
|
116
|
+
**Weaknesses:**
|
|
117
|
+
- Not an orchestration framework: does not handle agent coordination, context sharing, or workflow management
|
|
118
|
+
- Young ecosystem: tooling and community still developing
|
|
119
|
+
- Potential overhead: JSON-RPC adds latency compared to direct function calls
|
|
120
|
+
|
|
121
|
+
**Structural Tension Analysis:** MCP provides the tool interface through which structural tension charts can be created, read, and updated. MCP servers can expose STC operations as tools, making structural tension accessible to any MCP-compliant agent.
|
|
122
|
+
|
|
123
|
+
### Comparative Analysis
|
|
124
|
+
|
|
125
|
+
| Dimension | CrewAI | LangGraph | AutoGen/AG2 | MCP |
|
|
126
|
+
|-----------|--------|-----------|-------------|-----|
|
|
127
|
+
| **Paradigm** | Role-based teams | Graph state machine | Conversation | Protocol |
|
|
128
|
+
| **Control** | Low–Medium | Very High | Medium | N/A (infra) |
|
|
129
|
+
| **Determinism** | Low | High | Low | N/A |
|
|
130
|
+
| **Learning Curve** | Low | High | Medium | Low |
|
|
131
|
+
| **Best For** | Prototyping, business | Production, complex | Research, negotiation | Tool interop |
|
|
132
|
+
| **STC Support** | None native | Possible via state | Implicit in conversation | Tool interface |
|
|
133
|
+
| **Oscillation Risk** | High | Low (explicit control) | Medium | N/A |
|
|
134
|
+
|
|
135
|
+
### Emerging Pattern: Hybrid Architectures
|
|
136
|
+
|
|
137
|
+
The most effective multi-agent systems in 2025 combine multiple paradigms:
|
|
138
|
+
|
|
139
|
+
1. **MCP as universal tool layer.** All external tool invocations go through MCP, providing standardized access, observability, and security.
|
|
140
|
+
2. **LangGraph for critical workflows.** Mission-critical, multi-step processes use graph-based orchestration for determinism and error recovery.
|
|
141
|
+
3. **CrewAI for team simulation.** Business workflows with clear role divisions use role-based orchestration for intuitive design.
|
|
142
|
+
4. **AutoGen for collaborative reasoning.** Research, brainstorming, and negotiation tasks use conversational orchestration for emergent insights.
|
|
143
|
+
|
|
144
|
+
### The Four Directions Alternative
|
|
145
|
+
|
|
146
|
+
CoAiA.js proposes a fifth paradigm: **directional orchestration** based on the Medicine Wheel framework:
|
|
147
|
+
|
|
148
|
+
- **East Agent:** Vision articulation and creative ideation
|
|
149
|
+
- **South Agent:** Analysis, research, and prompt decomposition (PDE)
|
|
150
|
+
- **West Agent:** Implementation and iterative building
|
|
151
|
+
- **North Agent:** Evaluation (MMOT), documentation, and wisdom synthesis
|
|
152
|
+
|
|
153
|
+
This model is structurally distinct from role-based, graph-based, or conversation-based orchestration:
|
|
154
|
+
|
|
155
|
+
- Unlike CrewAI roles, directional agents represent **phases of creative process**, not job descriptions
|
|
156
|
+
- Unlike LangGraph graphs, the Four Directions form a **cycle**, not a directed acyclic graph
|
|
157
|
+
- Unlike AutoGen conversations, handoffs between directions are **structurally motivated** by the completion of each phase's contribution
|
|
158
|
+
- Structural tension charts provide the coordination mechanism: each direction advances the chart, and the tension between desired outcome and current reality drives the cycle forward
|
|
159
|
+
|
|
160
|
+
## Implications for CoAiA.js
|
|
161
|
+
|
|
162
|
+
1. **MCP as tool layer.** CoAiA.js uses MCP for all external tool invocations, ensuring framework-agnostic tool access.
|
|
163
|
+
2. **Four Directions as orchestration.** Agent coordination follows the directional cycle, not role-based teams or conversation rounds.
|
|
164
|
+
3. **Structural tension as coordination.** The STC's tension measurement drives agent scheduling—the direction with the highest contribution potential receives attention.
|
|
165
|
+
4. **Hybrid compatibility.** CoAiA.js's directional agents can operate within LangGraph workflows, CrewAI teams, or AutoGen conversations when integration with external frameworks is needed.
|
|
166
|
+
5. **Oscillation prevention.** The structural tension chart's advancing structure prevents the oscillation that plagues role-based and conversation-based systems.
|
|
167
|
+
|
|
168
|
+
## Conclusion
|
|
169
|
+
|
|
170
|
+
Multi-agent orchestration in 2025 is characterized by framework proliferation and emerging hybridization. Each paradigm—role-based, graph-based, conversational, and protocol-based—offers distinct trade-offs in control, determinism, and expressiveness. CoAiA.js's Four Directions orchestration model adds a fifth paradigm rooted in structural tension methodology, providing cyclical, balanced coordination that naturally resists oscillation. The convergence on MCP as a universal tool interface layer suggests that orchestration frameworks will increasingly specialize in coordination logic while delegating tool invocation to the protocol layer.
|
|
171
|
+
|
|
172
|
+
## References
|
|
173
|
+
|
|
174
|
+
1. DataCamp. (2024). "CrewAI vs LangGraph vs AutoGen: Choosing the Right Multi-Agent Framework." https://www.datacamp.com/tutorial/crewai-vs-langgraph-vs-autogen
|
|
175
|
+
2. TutorialQ. (2025). "CrewAI vs LangGraph vs AutoGen." https://tutorialq.com/agents/frameworks/crewai-vs-langgraph-vs-autogen
|
|
176
|
+
3. Youngju.dev. (2026). "Comparing LLM Agent Frameworks." https://www.youngju.dev/blog/llm/2026-03-09-llm-agent-framework-autogen-crewai-langgraph-comparison.en
|
|
177
|
+
4. Amplework. (2025). "LangGraph vs AutoGen vs CrewAI." https://www.amplework.com/blog/langgraph-vs-autogen-vs-crewai-multi-agent-framework/
|
|
178
|
+
5. Braincuber. (2025). "CrewAI vs AutoGen vs LangGraph: Framework Comparison." https://www.braincuber.com/blog/crewai-vs-autogen-vs-langgraph-multi-agent-framework-comparison
|
|
179
|
+
6. Meta Intelligence. (2025). "The Complete Guide to AI Agent Development." https://www.meta-intelligence.tech/en/insight-ai-agent-frameworks
|
|
180
|
+
7. SoftwareSeni. (2025). "Navigating the Multi-Agent Framework Landscape." https://www.softwareseni.com/navigating-the-multi-agent-framework-landscape-from-crewai-to-langgraph-to-autogen-and-beyond/
|
|
181
|
+
8. Infinite Lambda. (2025). "CrewAI, AutoGen, Vertex AI, and LangGraph Comparison." https://infinitelambda.com/compare-crewai-autogen-vertexai-langgraph/
|
|
182
|
+
9. Datagrom. (2025). "Top 3 Trending Agentic AI Frameworks." https://www.datagrom.com/data-science-machine-learning-ai-blog/langgraph-vs-autogen-vs-crewai-comparison-agentic-ai-frameworks
|
|
183
|
+
10. Tagline Infotech. (2025). "Choosing the Right AI Agent Framework." https://taglineinfotech.com/blog/langgraph-vs-crewai-vs-autogen/
|
|
184
|
+
11. AG2 (AutoGen successor). https://github.com/ag2ai/ag2
|
|
185
|
+
12. Anthropic. (2024). "Introducing the Model Context Protocol." https://www.anthropic.com/news/model-context-protocol
|
|
186
|
+
13. Model Context Protocol Specification. (2025). https://modelcontextprotocol.io/specification/2025-03-26
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
# Survey of Knowledge Graph Storage Approaches for AI Agent Systems
|
|
2
|
+
|
|
3
|
+
> Academic survey for the CoAiA.js project — Comparative analysis of property graphs, RDF triples, JSONL entity-relation models, and vector embeddings as lightweight, agent-compatible knowledge representation formats.
|
|
4
|
+
|
|
5
|
+
## Abstract
|
|
6
|
+
|
|
7
|
+
AI agent systems require persistent knowledge representation that balances expressiveness, performance, and operational simplicity. This survey examines four primary approaches to knowledge graph storage—property graphs, RDF triple stores, JSONL entity-relation models, and vector embedding databases—with particular focus on their suitability for lightweight, agent-compatible deployments. We analyze each approach across seven dimensions: expressive power, query capabilities, operational complexity, portability, temporal modeling, concurrency support, and ecosystem maturity. Our findings indicate that no single approach dominates all dimensions; rather, the optimal choice depends on the agent's operational context. For single-agent session workloads with moderate graph sizes (under 100K entities), JSONL entity-relation models offer the best balance of simplicity and capability. For multi-agent systems requiring concurrent access and complex traversals, property graph databases remain superior. Vector embeddings complement rather than replace structured graph storage, excelling at semantic retrieval within graph-structured knowledge. The survey concludes with recommendations for hybrid architectures that combine multiple storage approaches based on workload characteristics.
|
|
8
|
+
|
|
9
|
+
## Introduction
|
|
10
|
+
|
|
11
|
+
Knowledge graphs have emerged as the preferred representation for structured knowledge in AI systems, encoding entities, their properties, and the relationships between them in a format amenable to both human understanding and machine reasoning. The knowledge graph storage landscape, however, presents a dizzying array of options—from enterprise-grade graph databases to lightweight file-based formats, from semantically-rich RDF stores to embedding-only vector databases [1][2].
|
|
12
|
+
|
|
13
|
+
For AI agent developers, the selection criteria differ significantly from traditional enterprise knowledge management. Agents need:
|
|
14
|
+
- **Rapid deployment:** Zero-config or minimal-config storage that works immediately
|
|
15
|
+
- **Session-scoped data:** Most agent knowledge is session-specific, not enterprise-wide
|
|
16
|
+
- **Temporal evolution:** Knowledge evolves throughout a session; history matters
|
|
17
|
+
- **Portability:** Storage must be transferable between environments
|
|
18
|
+
- **Moderate scale:** Agent sessions typically produce thousands, not millions, of facts [3]
|
|
19
|
+
|
|
20
|
+
This survey evaluates the major storage approaches against these agent-specific requirements.
|
|
21
|
+
|
|
22
|
+
## Survey of Approaches
|
|
23
|
+
|
|
24
|
+
### 1. Property Graph Databases
|
|
25
|
+
|
|
26
|
+
**Representative systems:** Neo4j, Memgraph, KuzuDB (archived, forked), FalkorDB, Amazon Neptune
|
|
27
|
+
|
|
28
|
+
**Data Model:** Nodes and edges, each with typed key-value properties. Nodes represent entities; edges represent relationships. Both nodes and edges can carry arbitrary property maps.
|
|
29
|
+
|
|
30
|
+
```cypher
|
|
31
|
+
CREATE (s:Server {name: "mcp-server", version: "2.0"})
|
|
32
|
+
CREATE (l:Library {name: "langfuse", license: "MIT"})
|
|
33
|
+
CREATE (s)-[:DEPENDS_ON {since: "2025-01"}]->(l)
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**Query Language:** Cypher (Neo4j, Memgraph, KuzuDB) or Gremlin (Apache TinkerPop). Both support pattern matching, path queries, and graph algorithms.
|
|
37
|
+
|
|
38
|
+
**Strengths:**
|
|
39
|
+
- Native graph traversal with optimized algorithms (shortest path, community detection, centrality)
|
|
40
|
+
- Flexible schema evolution—new properties and relationships added without migration
|
|
41
|
+
- Mature ecosystem with visualization tools, bulk import, and enterprise features
|
|
42
|
+
- KuzuDB (embedded fork by Vela Engineering) claims 374x path query speedup vs. Neo4j for embedded workloads [4]
|
|
43
|
+
|
|
44
|
+
**Weaknesses:**
|
|
45
|
+
- Operational overhead: Neo4j requires JVM server; Memgraph requires separate process
|
|
46
|
+
- Licensing complexity: Neo4j Community vs. Enterprise; varying open-source commitments
|
|
47
|
+
- Heavyweight for session-scoped data: designed for persistent, multi-user access patterns
|
|
48
|
+
- Not naturally append-only; mutations can lose temporal history without explicit versioning
|
|
49
|
+
|
|
50
|
+
**Agent Suitability:** Best for multi-agent systems requiring concurrent access, complex graph queries, or enterprise-scale knowledge. Overkill for single-agent sessions.
|
|
51
|
+
|
|
52
|
+
### 2. RDF Triple Stores
|
|
53
|
+
|
|
54
|
+
**Representative systems:** Apache Jena/Fuseki, GraphDB, Blazegraph, Amazon Neptune (RDF mode), Virtuoso
|
|
55
|
+
|
|
56
|
+
**Data Model:** Subject-Predicate-Object triples with URI-based identification, conforming to W3C standards. Supports ontological reasoning through RDFS and OWL.
|
|
57
|
+
|
|
58
|
+
```turtle
|
|
59
|
+
<http://coaia.js/server/mcp> <http://coaia.js/schema/dependsOn> <http://coaia.js/library/langfuse> .
|
|
60
|
+
<http://coaia.js/server/mcp> <http://coaia.js/schema/version> "2.0" .
|
|
61
|
+
<http://coaia.js/library/langfuse> <http://coaia.js/schema/license> "MIT" .
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Query Language:** SPARQL, supporting complex graph pattern matching, aggregation, and federated queries across multiple endpoints.
|
|
65
|
+
|
|
66
|
+
**Strengths:**
|
|
67
|
+
- Formal semantics enabling automated reasoning and inference
|
|
68
|
+
- Interoperability through standardized vocabularies and ontologies
|
|
69
|
+
- Federated query capability across distributed data sources
|
|
70
|
+
- W3C standardization ensures long-term ecosystem stability [5][6]
|
|
71
|
+
|
|
72
|
+
**Weaknesses:**
|
|
73
|
+
- Verbose data representation; high overhead per fact
|
|
74
|
+
- SPARQL learning curve significantly steeper than Cypher
|
|
75
|
+
- Performance challenges for analytics and complex traversals at scale
|
|
76
|
+
- Schema rigidity through ontological constraints can impede agile development
|
|
77
|
+
- Few lightweight/embedded implementations suitable for agent deployment
|
|
78
|
+
|
|
79
|
+
**Agent Suitability:** Best when semantic reasoning, data interoperability, or integration with linked data ecosystems is required. Poor fit for lightweight, session-scoped agent memory.
|
|
80
|
+
|
|
81
|
+
### 3. JSONL Entity-Relation Models
|
|
82
|
+
|
|
83
|
+
**Representative systems:** CoAiA memory (coaia-narrative), Memento MCP, custom implementations
|
|
84
|
+
|
|
85
|
+
**Data Model:** Line-delimited JSON where each line encodes an entity, relation, or observation. Typically uses a `type` field for discrimination:
|
|
86
|
+
|
|
87
|
+
```jsonl
|
|
88
|
+
{"type":"entity","name":"mcp_server","entityType":"component","observations":["Handles tool dispatch"]}
|
|
89
|
+
{"type":"relation","from":"mcp_server","to":"langfuse","relationType":"depends_on"}
|
|
90
|
+
{"type":"observation","entityName":"mcp_server","content":"Added v2 transport support","timestamp":"2026-03-10T14:00:00Z"}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
**Query Mechanism:** No native query language. Queries are implemented through:
|
|
94
|
+
- Full file load into in-memory graph structure
|
|
95
|
+
- Streaming filter (grep, jq) for simple lookups
|
|
96
|
+
- Application-level query APIs built on top of in-memory data
|
|
97
|
+
|
|
98
|
+
**Strengths:**
|
|
99
|
+
- Zero operational overhead: no server, no driver, no configuration
|
|
100
|
+
- Natural append-only semantics: history is never lost
|
|
101
|
+
- Human-readable and debuggable with standard text tools
|
|
102
|
+
- Git-friendly: clean diffs, version-controllable
|
|
103
|
+
- Portable: copy a single file to transfer knowledge
|
|
104
|
+
- Schema-flexible: new entity and relation types added without migration [7]
|
|
105
|
+
|
|
106
|
+
**Weaknesses:**
|
|
107
|
+
- No native query language; all queries require application code
|
|
108
|
+
- Linear scan for complex queries without in-memory indexing
|
|
109
|
+
- No concurrent write safety without external locking
|
|
110
|
+
- No built-in integrity constraints or validation
|
|
111
|
+
- Performance degrades for large graphs (>100K records) without indexing
|
|
112
|
+
|
|
113
|
+
**Agent Suitability:** Excellent for single-agent session workloads with moderate graph sizes. The dominant choice for development, edge deployment, and scenarios prioritizing simplicity over query power.
|
|
114
|
+
|
|
115
|
+
### 4. Vector Embedding Databases
|
|
116
|
+
|
|
117
|
+
**Representative systems:** Pinecone, Weaviate, Chroma, Milvus, Qdrant, pgvector
|
|
118
|
+
|
|
119
|
+
**Data Model:** Dense vector representations of entities, with metadata for filtering. Each record is an embedding (typically 256–4096 dimensions) associated with source text and structured metadata.
|
|
120
|
+
|
|
121
|
+
```json
|
|
122
|
+
{
|
|
123
|
+
"id": "doc_001",
|
|
124
|
+
"embedding": [0.012, -0.034, 0.891, ...],
|
|
125
|
+
"metadata": {"source": "mcp_server", "type": "documentation"},
|
|
126
|
+
"text": "The MCP server handles JSON-RPC 2.0 tool invocations..."
|
|
127
|
+
}
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
**Query Mechanism:** Approximate Nearest Neighbor (ANN) search returning top-k results by cosine similarity or other distance metrics, with optional metadata filtering.
|
|
131
|
+
|
|
132
|
+
**Strengths:**
|
|
133
|
+
- Semantic search: find conceptually similar entities regardless of lexical overlap
|
|
134
|
+
- Integration with LLM workflows: embeddings are native to the LLM pipeline
|
|
135
|
+
- Scalable to millions of vectors with sub-millisecond search
|
|
136
|
+
- Effective for Retrieval-Augmented Generation (RAG) patterns [8]
|
|
137
|
+
|
|
138
|
+
**Weaknesses:**
|
|
139
|
+
- No explicit relational structure: relationships must be inferred from proximity
|
|
140
|
+
- Loss of precision: embedding compression loses fine-grained factual detail
|
|
141
|
+
- No temporal modeling: similarity search doesn't naturally order by time
|
|
142
|
+
- Embedding model dependency: changing the embedding model invalidates all vectors
|
|
143
|
+
- Not a knowledge graph: lacks the entity-relation structure essential for agent reasoning
|
|
144
|
+
|
|
145
|
+
**Agent Suitability:** Excellent as a complementary retrieval layer within a graph-structured knowledge system. Should not be used as the sole knowledge representation for agents that need explicit relational reasoning.
|
|
146
|
+
|
|
147
|
+
## Comparative Analysis
|
|
148
|
+
|
|
149
|
+
### Seven-Dimension Comparison
|
|
150
|
+
|
|
151
|
+
| Dimension | Property Graph | RDF Triple | JSONL E-R | Vector DB |
|
|
152
|
+
|-----------|---------------|------------|-----------|-----------|
|
|
153
|
+
| **Expressive Power** | High | Very High | Moderate | Low (semantic only) |
|
|
154
|
+
| **Query Capability** | High (Cypher) | High (SPARQL) | Low (app code) | Moderate (ANN+filter) |
|
|
155
|
+
| **Operational Complexity** | High | High | Minimal | Moderate |
|
|
156
|
+
| **Portability** | Low | Moderate | Very High | Low |
|
|
157
|
+
| **Temporal Modeling** | Manual | Manual | Native (append) | Manual |
|
|
158
|
+
| **Concurrency** | High (ACID) | Moderate | Low (single writer) | Moderate |
|
|
159
|
+
| **Ecosystem Maturity** | High | High | Low | Growing |
|
|
160
|
+
|
|
161
|
+
### Workload-Based Recommendations
|
|
162
|
+
|
|
163
|
+
**Single-agent session memory (dominant case):**
|
|
164
|
+
→ JSONL entity-relation model. Zero-config, portable, temporally-native, adequate performance.
|
|
165
|
+
|
|
166
|
+
**Multi-agent shared knowledge:**
|
|
167
|
+
→ Property graph (KuzuDB embedded or Neo4j). Concurrent access, graph algorithms, path queries.
|
|
168
|
+
|
|
169
|
+
**Semantic retrieval within agent context:**
|
|
170
|
+
→ Vector database as retrieval layer, with JSONL or property graph as structural backbone.
|
|
171
|
+
|
|
172
|
+
**Knowledge interoperability across systems:**
|
|
173
|
+
→ RDF triple store. Standardized vocabularies enable cross-system integration.
|
|
174
|
+
|
|
175
|
+
**Hybrid agent architecture:**
|
|
176
|
+
→ JSONL for session state + vector DB for semantic retrieval + property graph for persistent cross-session knowledge.
|
|
177
|
+
|
|
178
|
+
## Implications for CoAiA.js
|
|
179
|
+
|
|
180
|
+
CoAiA.js adopts a layered storage architecture based on this survey:
|
|
181
|
+
|
|
182
|
+
1. **Primary storage: JSONL entity-relation.** Session state, structural tension charts, and agent observations are stored in append-only JSONL files.
|
|
183
|
+
2. **Semantic retrieval: Optional vector layer.** When enabled, entity observations are embedded and stored in a vector index for semantic search.
|
|
184
|
+
3. **Cross-session knowledge: Optional graph database.** For multi-agent deployments, a property graph database can aggregate knowledge across sessions.
|
|
185
|
+
4. **Export capability: RDF.** For interoperability with external knowledge systems, JSONL can be exported to RDF triples.
|
|
186
|
+
|
|
187
|
+
This layered approach ensures minimal operational complexity for simple deployments while enabling richer capabilities when needed.
|
|
188
|
+
|
|
189
|
+
## Conclusion
|
|
190
|
+
|
|
191
|
+
The knowledge graph storage landscape offers no universal solution—each approach optimizes for different dimensions of the expressiveness-simplicity trade-off. For AI agent systems, where operational simplicity and session-scoped temporal modeling are paramount, JSONL entity-relation models provide the best default choice, with property graphs, vector databases, and RDF stores serving as complementary layers for specific capability needs.
|
|
192
|
+
|
|
193
|
+
## References
|
|
194
|
+
|
|
195
|
+
1. Neo4j. (2024). "RDF Triple Stores vs. Property Graphs." https://neo4j.com/blog/knowledge-graph/rdf-vs-property-graphs-knowledge-graphs/
|
|
196
|
+
2. Enterprise Knowledge. (2024). "Cutting Through the Noise: An Introduction to RDF & LPG Graphs." https://enterprise-knowledge.com/cutting-through-the-noise-an-introduction-to-rdf-lpg-graphs/
|
|
197
|
+
3. Graphlit Blog. (2024). "Survey of AI Agent Memory Frameworks." https://www.graphlit.com/blog/survey-of-ai-agent-memory-frameworks
|
|
198
|
+
4. Vela Partners. (2025). "KuzuDB for Production AI Agents." https://www.vela.partners/blog/kuzudb-ai-agent-memory-graph-database
|
|
199
|
+
5. Ontotext. (2024). "Choosing A Graph Data Model." https://www.ontotext.com/blog/choosing-a-graph-data-model-to-best-serve-your-use-case/
|
|
200
|
+
6. TigerGraph. (2024). "RDF vs. Property Graph." https://www.tigergraph.com/blog/rdf-vs-property-graph-choosing-the-right-foundation-for-knowledge-graphs/
|
|
201
|
+
7. Memento MCP. (2024). "A Knowledge Graph Memory System for LLMs." https://github.com/gannonh/memento-mcp
|
|
202
|
+
8. SAP Community. (2025). "Choosing Between Knowledge Graphs and Property Graphs in SAP HANA Cloud." https://community.sap.com/t5/technology-blog-posts-by-sap/choosing-between-knowledge-graphs-and-property-graphs-in-sap-hana-cloud-and/ba-p/14074575
|
|
203
|
+
9. Memgraph. (2024). "LPG vs. RDF." https://memgraph.com/docs/data-modeling/graph-data-model/lpg-vs-rdf
|
|
204
|
+
10. DataWalk. (2024). "Best of Property Graph & RDF for Powerful Analytics." https://datawalk.com/property-graph-vs-rdf/
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
# Survey of Structural Tension Methodology in Organizational Science and Computational Applications
|
|
2
|
+
|
|
3
|
+
> Academic survey for the CoAiA.js project — From Fritz's creative process through Senge's learning organizations to computational structural tension in AI agent systems.
|
|
4
|
+
|
|
5
|
+
## Abstract
|
|
6
|
+
|
|
7
|
+
Structural tension—the creative gap between a desired outcome and current reality—has been a productive concept in organizational science since Robert Fritz introduced it in 1989. This survey traces the evolution of structural tension from its origins in Fritz's creative process methodology, through Peter Senge's integration into learning organization theory, to its contemporary application in computational systems and AI agent architectures. We examine three waves of structural tension research: (1) Fritz's foundational work on creative orientation and advancing vs. oscillating structures; (2) Senge's synthesis with systems thinking, mental models, and organizational learning; and (3) emerging computational implementations that encode structural tension as data structures driving autonomous agent behavior. The survey identifies key theoretical contributions, practical implementations, and open questions for the field, with particular attention to how structural tension provides a computational alternative to reward-based optimization in AI systems.
|
|
8
|
+
|
|
9
|
+
## Introduction
|
|
10
|
+
|
|
11
|
+
The concept of structural tension—tension between what is desired and what currently exists—appears across multiple intellectual traditions. In physics, potential energy stored in a stretched spring drives motion toward equilibrium. In psychology, cognitive dissonance theory describes the tension between conflicting beliefs. In organizational science, the gap between strategic vision and operational reality drives organizational change [1].
|
|
12
|
+
|
|
13
|
+
Robert Fritz, working at the intersection of music composition, organizational development, and structural dynamics, formalized this concept as a methodology for creative work. Unlike prior treatments that viewed tension as a problem to resolve, Fritz positioned structural tension as a **creative force to harness**—the engine that drives purposeful advancement from current reality toward desired outcomes [2].
|
|
14
|
+
|
|
15
|
+
This survey examines the trajectory of structural tension from Fritz's foundational work through organizational science applications to its newest frontier: computational implementation in AI agent systems.
|
|
16
|
+
|
|
17
|
+
## Survey
|
|
18
|
+
|
|
19
|
+
### Wave 1: Fritz's Foundational Framework (1989–2006)
|
|
20
|
+
|
|
21
|
+
#### The Path of Least Resistance (1989)
|
|
22
|
+
|
|
23
|
+
Fritz's seminal work introduced three key concepts:
|
|
24
|
+
|
|
25
|
+
**1. Structural Causality.** Fritz argued that the underlying structure of any system—not the intentions, motivations, or effort of its participants—determines its behavior. A system structured for oscillation will oscillate regardless of how hard participants try to advance. A system structured for advancement will advance even through adversity [2].
|
|
26
|
+
|
|
27
|
+
**2. Creative vs. Reactive Orientation.** Fritz distinguished two fundamental orientations:
|
|
28
|
+
- *Creative orientation:* The desired outcome is the primary reference point. Action is driven by the vision of what one wants to create.
|
|
29
|
+
- *Reactive/responsive orientation:* The problem is the primary reference point. Action is driven by the desire to eliminate what one doesn't want.
|
|
30
|
+
|
|
31
|
+
Fritz demonstrated that reactive orientation produces oscillating structures (the "rocking chair" dynamic—moving away from problems but always returning), while creative orientation produces advancing structures (building upon each achievement) [3].
|
|
32
|
+
|
|
33
|
+
**3. The Structural Tension Chart.** Fritz operationalized his theory as a practical tool: the structural tension chart, which holds two elements simultaneously:
|
|
34
|
+
- A clearly articulated desired outcome (what you want to create)
|
|
35
|
+
- An honest assessment of current reality (what currently exists)
|
|
36
|
+
|
|
37
|
+
The gap between these elements generates structural tension, which resolves through the path of least resistance—ideally, through advancement toward the desired outcome [4].
|
|
38
|
+
|
|
39
|
+
#### Creating (1991) and Corporate Tides (1996)
|
|
40
|
+
|
|
41
|
+
Fritz extended the framework to artistic creation and organizational transformation:
|
|
42
|
+
- *Creating* applied structural tension to the creative process in art, music, and writing, demonstrating that the same structural principles operate across domains.
|
|
43
|
+
- *Corporate Tides* applied the framework to organizational change, showing how corporate structures that are designed for oscillation (cost-cutting → growth → cost-cutting) can be restructured for advancement [5].
|
|
44
|
+
|
|
45
|
+
#### The Managerial Moment of Truth (2006)
|
|
46
|
+
|
|
47
|
+
Co-authored with Bruce Bodaken (CEO of Blue Shield of California), this work introduced the MMOT cycle as the calibration mechanism for structural tension in organizational settings:
|
|
48
|
+
1. Acknowledge the truth about current performance
|
|
49
|
+
2. Analyze how it got to be that way
|
|
50
|
+
3. Create an action plan
|
|
51
|
+
4. Establish a feedback system
|
|
52
|
+
|
|
53
|
+
The MMOT cycle was implemented at Blue Shield of California with documented improvements, providing the first large-scale organizational validation of structural tension methodology [6].
|
|
54
|
+
|
|
55
|
+
### Wave 2: Senge's Learning Organization Integration (1990–2010)
|
|
56
|
+
|
|
57
|
+
#### The Fifth Discipline (1990)
|
|
58
|
+
|
|
59
|
+
Peter Senge, writing contemporaneously with Fritz, integrated structural tension into his learning organization framework. Senge's five disciplines—personal mastery, mental models, shared vision, team learning, and systems thinking—provide the organizational context within which structural tension operates [7].
|
|
60
|
+
|
|
61
|
+
Senge explicitly credited Fritz's concept of creative tension (Senge's term for structural tension) as foundational to personal mastery—the discipline of clarifying personal vision and honestly assessing current reality. Senge argued that creative tension is the generative force that drives learning and growth in organizations [7][8].
|
|
62
|
+
|
|
63
|
+
**Key Senge Contributions:**
|
|
64
|
+
|
|
65
|
+
1. **Systems thinking context.** Senge situated structural tension within systems thinking, showing how organizational structures (feedback loops, delays, archetypes) determine whether creative tension resolves through advancement or oscillation.
|
|
66
|
+
|
|
67
|
+
2. **Shared vision as collective structural tension.** Senge extended Fritz's individual creative process to organizational scale, arguing that shared vision creates collective structural tension that aligns individual efforts.
|
|
68
|
+
|
|
69
|
+
3. **Mental models as reality distortion.** Senge identified mental models as the primary obstacle to honest current reality assessment—the critical foundation of structural tension. If current reality is assessed through distorted mental models, the resulting tension is misaligned [9].
|
|
70
|
+
|
|
71
|
+
#### The Fifth Discipline Fieldbook (1994) and Systems Thinking Applications
|
|
72
|
+
|
|
73
|
+
Practical applications of Senge's framework demonstrated structural tension in:
|
|
74
|
+
- Corporate strategy (Gap Inc., Ford Motor Company)
|
|
75
|
+
- Education (schools as learning organizations)
|
|
76
|
+
- Healthcare (hospital system improvement)
|
|
77
|
+
- Community development (sustainable change initiatives) [10]
|
|
78
|
+
|
|
79
|
+
These applications validated structural tension across diverse organizational contexts while also revealing limitations: without the discipline of honest current reality assessment, structural tension becomes "creative tension theater"—the appearance of advancement without genuine progress.
|
|
80
|
+
|
|
81
|
+
### Wave 3: Computational Structural Tension (2024–Present)
|
|
82
|
+
|
|
83
|
+
#### Structural Tension as Data Structure
|
|
84
|
+
|
|
85
|
+
The emerging wave treats structural tension not as a metaphorical framework but as a **computational construct**—a data structure with defined operations, measurable properties, and algorithmic implications.
|
|
86
|
+
|
|
87
|
+
The key insight enabling this transition is that Fritz's structural tension chart can be formalized as a tuple: `STC = (D, R, A[], T, Δ)` where D is the desired outcome, R is current reality (append-only log), A[] is the action step array, T is computed tension, and Δ is the temporal delta history.
|
|
88
|
+
|
|
89
|
+
This formalization enables:
|
|
90
|
+
- **Tension computation:** Algorithms that measure the gap between D and R
|
|
91
|
+
- **Oscillation detection:** Analysis of Δ history to identify advancing vs. oscillating patterns
|
|
92
|
+
- **Telescoping:** Recursive decomposition where each action step becomes its own STC
|
|
93
|
+
- **MMOT automation:** Systematic evaluation of agent output against Elements of Performance
|
|
94
|
+
|
|
95
|
+
#### AI Agent Goal Management
|
|
96
|
+
|
|
97
|
+
Traditional AI agent goal architectures (goal stacks, utility functions, BDI models) lack the dual-reference-point structure that prevents oscillation. Computational structural tension provides this structure:
|
|
98
|
+
|
|
99
|
+
- **Goal stacks** only encode the desired state; there is no formal "current reality" that evolves.
|
|
100
|
+
- **Utility functions** encode preferences over states but don't maintain the vision-reality duality.
|
|
101
|
+
- **BDI models** maintain beliefs (roughly analogous to current reality) and desires (analogous to desired outcomes) but don't formalize the tension between them as a driving force.
|
|
102
|
+
|
|
103
|
+
Structural tension charts fill this gap by making the tension itself—the measured gap between vision and reality—the primary driver of agent behavior.
|
|
104
|
+
|
|
105
|
+
#### Implementation: CoAiA Framework
|
|
106
|
+
|
|
107
|
+
The CoAiA (Creative Orientation AI Architecture) framework represents the most complete computational implementation of structural tension methodology, encoding:
|
|
108
|
+
- Structural tension charts as JSONL-backed state machines
|
|
109
|
+
- MMOT as automated self-evaluation cycles
|
|
110
|
+
- Four Directions orchestration aligned with the Medicine Wheel framework
|
|
111
|
+
- Elements of Performance as evaluation rubrics
|
|
112
|
+
- Telescoping as recursive goal decomposition
|
|
113
|
+
|
|
114
|
+
### Cross-Wave Themes
|
|
115
|
+
|
|
116
|
+
Several themes persist across all three waves:
|
|
117
|
+
|
|
118
|
+
1. **Honest current reality assessment is the critical capability.** Fritz, Senge, and computational implementations all identify reality distortion as the primary failure mode. If the agent (human or AI) cannot honestly assess current reality, structural tension misfires.
|
|
119
|
+
|
|
120
|
+
2. **Structure determines behavior.** The arrangement of goals, reality assessments, and action plans—not the effort or capability of the agent—determines whether the system advances or oscillates.
|
|
121
|
+
|
|
122
|
+
3. **Creative orientation outperforms problem-solving.** Across domains (personal, organizational, computational), systems oriented toward creating desired outcomes outperform systems oriented toward eliminating problems.
|
|
123
|
+
|
|
124
|
+
4. **Self-evaluation requires a framework.** Left to their own devices, both humans and AI agents rationalize gaps rather than honestly acknowledging them. The MMOT cycle provides the structured framework that overcomes this tendency.
|
|
125
|
+
|
|
126
|
+
## Implications for CoAiA.js
|
|
127
|
+
|
|
128
|
+
This survey establishes CoAiA.js's theoretical lineage:
|
|
129
|
+
|
|
130
|
+
1. **Fritz provides the foundational theory.** Structural tension charts, creative orientation, and advancing structures are direct Fritz implementations.
|
|
131
|
+
2. **Senge provides the organizational context.** Systems thinking, shared vision, and mental models inform multi-agent coordination.
|
|
132
|
+
3. **MMOT provides the calibration mechanism.** The four-step evaluation cycle ensures ongoing honest assessment.
|
|
133
|
+
4. **Computational formalization enables automation.** By treating structural tension as a data structure rather than a metaphor, CoAiA.js enables AI agents to operate from creative orientation.
|
|
134
|
+
|
|
135
|
+
## Conclusion
|
|
136
|
+
|
|
137
|
+
Structural tension methodology has evolved from a personal creativity tool (Fritz, 1989) through an organizational learning framework (Senge, 1990) to an emerging computational paradigm for AI agent design (2024–present). Each wave has deepened the understanding of how the gap between vision and reality can serve as a creative force rather than a source of frustration. The computational wave—represented by implementations like CoAiA.js—promises to make structural tension methodology accessible to AI systems, enabling agents that advance toward creative goals rather than merely reacting to problems.
|
|
138
|
+
|
|
139
|
+
## References
|
|
140
|
+
|
|
141
|
+
1. Senge, P. (1990). *The Fifth Discipline: The Art & Practice of the Learning Organization*. Doubleday.
|
|
142
|
+
2. Fritz, R. (1989). *The Path of Least Resistance*. Fawcett Columbine.
|
|
143
|
+
3. Fritz, R. "The Creative Process." Robert Fritz Inc. https://www.robertfritz.com/wp/the-creative-process/
|
|
144
|
+
4. Fritz, R. "Tension Seeks Resolution." Robert Fritz Inc. https://www.robertfritz.com/wp/principles/tension-seeks-resolution/
|
|
145
|
+
5. Fritz, R. (1996). *Corporate Tides: The Inescapable Laws of Organizational Structure*. Berrett-Koehler.
|
|
146
|
+
6. Fritz, R., & Bodaken, B. (2006). *The Managerial Moment of Truth*. Free Press.
|
|
147
|
+
7. Readingraphics. "Book Summary: The Fifth Discipline." https://readingraphics.com/book-summary-the-fifth-discipline/
|
|
148
|
+
8. Umbrex. "Senge Five Disciplines." https://umbrex.com/resources/frameworks/organization-frameworks/senge-five-disciplines-of-the-learning-organization/
|
|
149
|
+
9. The Fifth Discipline. Wikipedia. https://en.wikipedia.org/wiki/The_Fifth_Discipline
|
|
150
|
+
10. SEBoK. "The Fifth Discipline." https://sebokwiki.org/wiki/The_Fifth_Discipline
|
|
151
|
+
11. KanbanZone. (2025). "Peter Senge's Fifth Discipline: Systems Thinking for Smarter Workflows." https://kanbanzone.com/2025/fifth-discipline-systems-thinking-for-smarter-workflows/
|
|
152
|
+
12. Systems Thinking Alliance. "Why Learning Organizations are Key." https://systemsthinkingalliance.org/peter-senges-framework-for-a-learning-organization/
|
|
153
|
+
13. Buteau, A. "Lessons from Peter Senge." https://www.antoinebuteau.com/lessons-from-peter-senge/
|
|
154
|
+
14. The Systems Thinker. "New Insights on the Path of Least Resistance." https://thesystemsthinker.com/new-insights-on-the-path-of-least-resistance/
|