⚙️ Hermes X Paperclip - Building a Governed Multi-Agent Architecture with Symfony AI, Flow, and Navi
on April 30, 2026
Multi-agent systems are everywhere:
- orchestrated via Docker: https://blog.darkwood.com/fr/article/ai-tinkerers-paris-agentic-workflows-avec-docker-vers-des-systemes-autonomes-securises-et-orchestres
- Simulated using frameworks like Paperclip + Hermes: https://www.youtube.com/watch?v=j7cKjTMjNLE
- or integrated directly into products: https://docs.langchain.com/oss/python/langchain/multi-agent
But in most cases, they remain:
❌ collections of prompts
❌ without governance
❌ without traceability
❌ without clear responsibility
In this article, we will build an alternative, not as a fictional startup, but as a concrete example:
NoLife Agency - a digital agency entirely driven by a governed multi-agent architecture.
a digital agency that produces client websites with specialized roles.
🏢 NoLife Agency - a complete organization
Unlike simplistic demos, NoLife Agency replicates a real organization:
Direction
- CEO
- CTO
- Governance Director Manager
Client & Delivery
- Account Manager
- Product Owner
- Delivery Manager
Production
- Architect
- Developer
- UX Designer
- UI Designer Graphic Designer
- Motion Designer
- Integrator
Growth
- SEO / GEO
- Marketing
- Sales
- Web Analytics
Support & Reliability
- QA
- DevOps
- Security Officer
- Data Analyst
Internal Organization
- Experience Officer
- Office Manager
- Happiness Chief Officer
- Nolife Resource
👉 Here, each role can be played by an agent.
⚠️ The trap of multi-agent architectures
What many are building:
Prompt → LLM → résultat
The result is:
*no guarantee
- no control
- no auditability
- no contract
- no governance
- no trace
- no trade-in
- no clear responsibility
✅ The NoLife Agency Model
We introduce a strict separation:
- organization (Paperclip) → who does what
- specialization (Hermes) → how to think
- orchestration (Flow) → when to execute
- traceability (Navi) → observe and audit
- intelligence (Symfony AI) → produce content
🧱 Technical architecture
The application is based on a ports & adapters architecture.
Main Ports
NoLife Agency uses ports and adapters to ensure that orchestration and governance remain decoupled from vendor/runtime specifics.
- AI →
AiAgentClient - Workflow →
FlowWorkflowClient - Trace →
NaviTraceClient - Media →
MediaGenerationClient
👉 Each external dependency is isolated.
AgentRunner is the single boundary for execution and governance. Adapters provide functionality, but they do not enforce policy.
flowchart LR
demoCommand[DemoClientWebsiteCommand] --> workflowLoader[WorkflowDefinitionLoader]
workflowLoader --> workflowValidator[WorkflowDefinitionValidator]
workflowValidator --> flowPort[FlowWorkflowClient]
flowPort --> agentRunner[AgentRunner]
agentRunner --> aiPort[AiAgentClient]
agentRunner --> naviPort[NaviTraceClient]
agentRunner --> mediaPort[MediaGenerationClient]
agentRunner --> auditJsonl[Audit JSONL]
agentRunner --> runArtifacts[Run Artifacts]
Symfony AI
↓
Agent Contracts + Registry
↓
AgentRunner + Governance
↓
Flow Workflow Runner
↓
Navi Trace Client
↓
Operational Reports
🧠 Key principle
Agents are not dependent on tools. They are dependent on contracts.
Result :
- testability
- interchangeability
- robustness
⚙️ The heart of the system: AgentRunner
AgentRunner is the central point:
- execution
- governance
- audit
- trace
👉 No agent can circumvent this point.
Main guarantees:
- checks of the
pre-flightandpost-flightpolicy - Application of approval for high-risk states/final delivery
- Workflow status security checks
- confining the artifact path to the execution directory
- Trace the correlation between the lifecycle and audit events
🔐 Integrated IT Governance
Each action is:
- validated
- traced
- audited
With :
- JSONL logs
- trace per run
- validation rules
- mandatory approval
👉 This is not a blind, autonomous system.
👉 It's a controlled system.
AgentRunner is the single point of application for:
- policy checks
- trace the life cycle
- Issuance of audit events
- approval requirements
Key points:
- separation of responsibilities
- auditability
- human validation
- limitation of risky actions
- typed interfaces
- policy tests
🔌 Phase 3 - Typed Ports
The dependencies become ports:
- Symfony AI → intelligence
- Flow → orchestration
- Navi → traceability
- media-bundle → media generation
With one critical point:
The adapters are interchangeable via configuration
Environment variables made available on the project:
NOLIFE_AI_ADAPTER(null|symfony_ai)NOLIFE_FLOW_ADAPTER(null|darkwood_flow)NOLIFE_NAVI_ADAPTER(null|darkwood_navi)NOLIFE_MEDIA_ADAPTER(null|media_bundle)NOLIFE_FLOW_ROOTNOLIFE_NAVI_ROOTNOLIFE_MEDIA_BUNDLE_ROOT
🧪 Use Case - Creating a Client Website
Use case:
Client: Acme SaaS
Contact: John Do
Need: landing page + blog + SEO + short launch video
Order :
php bin/console nolife:demo:client-website acme-saas
Workflow:
- lead_qualified
- brief_created
- architecture_defined
- ux_ready
- content_generated
- development_ready
- SEO optimized
- qa_validated
- media_brief_created
- delivery_reviewed
- human_approval_required
- published
👉 We are intentionally stopping before publication.
Paperclip is modeled as an organizational concept.
Hermès is modeled as a concept of specialization.
Neither is coupled as an execution service.
📂 Generated Outputs
var/nolife-agency/runs/{run_id}/
- brief.json
- landing-page.md
- article-draft.md
- seo-geo.md
- media-brief.yaml
- delivery-report.md
- trace.json
- audit.jsonl
Expected final state: human_approval_required.
🔁 Multi-agent at all levels
1. Infrastructure
- Docker / isolated services
2. Organization
- Paperclip → role structure
3. Intelligence
- Hermes → agent specialization
4. Application
- Symfony → concrete orchestration
👉 NoLife Agency is a point of convergence.
⚠️ Real problem encountered
Today :
AI adapter: null
Using Null AI adapter
👉 The system is correct… but not yet connected.
That's normal.
Because :
- The ports are in place
- but the actual implementations are not enabled
🧠 What this reveals
Building a multi-agent architecture is not the same as calling an LLM.
It is :
- Define contracts
- Isolate the dependencies
- Centralize governance
- Make the system testable
- Gradually activate the integrations
🚀 Next step
Enable :
- Symfony AI (real intelligence)
- Flow (actual workflow)
- Navi (actual track)
👉 Without breaking anything:
- the tests
- governance
- the ports
🎯 Conclusion
Multi-agent architectures are not:
magical autonomous systems
These are :
governed, orchestrated, and traceable software organizations
💡 Darkwood Positioning
NoLife Agency is showing a clear direction:
The future of AI systems is not only autonomous.
It is governed.
🕵 Project source code
- nolife-agency: https://github.com/matyo91/nolife-agency
🔗 Resources
- Multi-Agent Architectures: https://speakerdeck.com/chr_hertel/symfony-ai-in-action-symfonylive-berlin-2026?slide=46
- What is a multi-agent system? https://www.ibm.com/fr-fr/think/topics/multiagent-system
- Multi-Agent Orchestration: How to Build Agent Teams That Actually Work: https://www.mindstudio.ai/blog/multi-agent-orchestration-patterns
- Building AI Teams: How Docker Sandboxes and Docker Agent Transform Development: https://www.docker.com/blog/building-ai-teams-docker-sandboxes-agent/
- How To Build a Multi-Agent AI System with Docker Agent: https://www.digitalocean.com/community/tutorials/how-to-build-multi-agent-ai-system-docker-agent-digitalocean
- Langchain Multi-agent: https://docs.langchain.com/oss/python/langchain/multi-agent
- Github NousResearch/hermes-paperclip-adapter: https://github.com/NousResearch/hermes-paperclip-adapter
- Hermes Agent, how to take advantage of the OpenClaw killer: https://www.youtube.com/watch?v=j7cKjTMjNLE
- The A-Team - AI Agents for SaaS Development: https://github.com/gmoigneu/the-a-team
- New Tech Role Emerging: Product Managers might evolve to “Product CEOs” (Paul Teyssier | Front): https://www.youtube.com/watch?v=J3vCkWbSYI0
- Openai/symphony: https://github.com/openai/symphony
🎶 Music credit
- Keine Freunde bleiben (feat. Mia Julia) - Matthias Reim: https://vm.tiktok.com/ZNRgyxKkE/
@reim.matthias Wenn Freundschaft keinen Sinn mehr macht… Wer fühlt den Song? #miajulia #matthiasreim #keinefreundebleben ♬ Keine Freunde bleiben (feat. Mia Julia) - Matthias Reim
- "That way I eat more!" 😂 #nico #byilhanntwitch: https://vm.tiktok.com/ZNRg5Rsh1/
@leclippeurrapide "That way I eat more!" 😂 #nico #byilhanntwitch ♬ original sound - Le Clippeur Rapide
📖 Selection of the week
- DeepSeek-R1 evolving a Game of Life pattern really feels like a breakthrough: https://www.reddit.com/r/LocalLLaMA/comments/1icqzcz/deepseekr1_evolving_a_game_of_life_pattern_really/
- Unbounded: A Generative Infinite Game of Character Life Simulation: https://arxiv.org/html/2410.18975v1
- LLM Interactive Story Game Architecture: https://montreal.aitinkerers.org/talks/rsvp_c82tFBRQJ9A
- Can an LLM Make a Video Game? https://www.codemag.com/Article/2411061/Can-an-LLM-Make-a-Video-Game
- Harness design for long-running application development: https://www.anthropic.com/engineering/harness-design-long-running-apps
- Elon Musk explains his 5-step algorithm for running companies: https://youtu.be/tdf3luOCNks?is=L6MRoXTHzvFVIUR8
- when you have vibe coder in your office: https://x.com/javinpaul/status/2048425733694124211/video/1?s=46
- Sunday morning science: https://x.com/Soph_astro/status/2048333972615111050/video/1?s=46
- React Native at Cdiscount with Ludwig Vantours: https://www.youtube.com/watch?v=C3toh628KJE&list=PLmewDYeBL3XIx7Lnga-jO3eRjOsKQ-HW0&index=31
- Getgaal - docs(mcp): re-sync with agents/global registry resolution: https://github.com/getgaal/docs/pull/16
- Arize Phoenix: https://arize.com/docs/phoenix
- Design a new professional future with no-code and AI: https://www.youtube.com/watch?v=p-sHtOut884
- The bullshit of open-source AI models: https://www.youtube.com/watch?v=jpg9lvtqrF8
- A former spy uses AI to learn everything about you (Claude Code demonstration): https://www.youtube.com/watch?v=eQXMEvGRld4
- Automate your information monitoring for free and easily: https://www.youtube.com/watch?v=6n_xwJ6YAj0
- A man spent 50 years teaching at MIT. The most important hour you'll watch this week. https://x.com/suryanshti777/status/2049187998936482069?s=46
- The Fastest AI Infrastructure: https://www.cerebras.ai
- Diablo® IV: Lord of Hatred: https://eu.shop.battle.net/fr-fr/product/diablo-iv-lord-of-hatred