Platform architecture for trusted orchestration: - PromptRegistry: immutable system prompts per agent, loaded at bootstrap - platform.complete(): assembles LLM calls (prompt + history + user msg) - Handlers use platform API, cannot see/modify prompts - organism.yaml now supports prompt field per listener Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
58 lines
1.7 KiB
YAML
58 lines
1.7 KiB
YAML
# organism.yaml — Multi-agent organism with secure console (v3.0)
|
|
#
|
|
# The SecureConsole is the sole privileged interface.
|
|
# It handles authentication and commands, then injects messages into the flow.
|
|
#
|
|
# Message flow for @greeter hello:
|
|
# SecureConsole.inject(Greeting)
|
|
# -> greeter (Greeting -> GreetingResponse)
|
|
# -> shouter (GreetingResponse -> ShoutedResponse)
|
|
# -> (response captured by SecureConsole via context buffer)
|
|
|
|
organism:
|
|
name: hello-world
|
|
port: 8765
|
|
|
|
# Concurrency settings
|
|
max_concurrent_pipelines: 50
|
|
max_concurrent_handlers: 20
|
|
max_concurrent_per_agent: 5
|
|
|
|
# Thread scheduling: breadth-first or depth-first
|
|
thread_scheduling: breadth-first
|
|
|
|
# LLM configuration
|
|
llm:
|
|
strategy: failover
|
|
retries: 3
|
|
backends:
|
|
- provider: xai
|
|
api_key_env: XAI_API_KEY
|
|
rate_limit_tpm: 100000
|
|
|
|
listeners:
|
|
# Greeter: receives Greeting, sends GreetingResponse to shouter
|
|
- name: greeter
|
|
payload_class: handlers.hello.Greeting
|
|
handler: handlers.hello.handle_greeting
|
|
description: Greeting agent - forwards to shouter
|
|
agent: true
|
|
peers: [shouter]
|
|
prompt: |
|
|
You are a friendly greeter agent.
|
|
When someone sends you a greeting, respond enthusiastically.
|
|
Keep your responses short (1-2 sentences).
|
|
|
|
# Shouter: receives GreetingResponse, sends ShoutedResponse back
|
|
- name: shouter
|
|
payload_class: handlers.hello.GreetingResponse
|
|
handler: handlers.hello.handle_shout
|
|
description: Shouts the greeting in ALL CAPS
|
|
agent: false
|
|
|
|
# Response handler: prints responses to stdout
|
|
- name: response-handler
|
|
payload_class: handlers.hello.ShoutedResponse
|
|
handler: handlers.hello.handle_response_print
|
|
description: Prints responses to console
|
|
agent: false
|