Skip to main content

Collaboration Models Development Guide

This document provides detailed configuration examples, real-world cases, and technical implementation details for collaboration models.

Basic Concepts: Please read Collaboration Models Concepts first to understand the basic concepts.


Pipeline Configuration Details​

Complete YAML Configuration Example​

apiVersion: agent.wecode.io/v1
kind: Team
metadata:
name: dev-pipeline-team
namespace: default
spec:
# Collaboration model: pipeline
collaborationModel: "pipeline"

# Team members (defined in execution order)
members:
# Step 1: Developer
- name: "developer"
role: "leader"
botRef:
name: developer-bot
namespace: default
prompt: |
You are a senior software developer.
Your task is to implement the feature based on the requirements.
Write clean, well-documented code following best practices.
# Pass the developer output to the next stage
contextPassing: "previous_bot"

# Step 2: Code Reviewer
- name: "reviewer"
role: "member"
botRef:
name: reviewer-bot
namespace: default
prompt: |
You are a code reviewer.
Review the code for:
- Code quality and style
- Potential bugs and security issues
- Performance optimization opportunities
Provide constructive feedback.
# Pass both the original request and reviewer output
contextPassing: "original_and_previous"

# Step 3: Test Engineer
- name: "tester"
role: "member"
botRef:
name: tester-bot
namespace: default
prompt: |
You are a QA engineer.
Create comprehensive tests including:
- Unit tests
- Integration tests
- Edge case scenarios
Execute tests and report results.

# Step 4: Deployment Expert
- name: "deployer"
role: "member"
botRef:
name: deployer-bot
namespace: default
prompt: |
You are a DevOps engineer.
Prepare the deployment:
- Build the application
- Create deployment configuration
- Document deployment steps

Real-World Case: Blog Article Production Pipeline​

apiVersion: agent.wecode.io/v1
kind: Team
metadata:
name: blog-production-pipeline
namespace: default
spec:
collaborationModel: "pipeline"
members:
- name: "writer"
role: "leader"
botRef:
name: content-writer-bot
namespace: default
prompt: "Write an engaging blog post on the given topic with proper structure and flow."

- name: "editor"
role: "member"
botRef:
name: content-editor-bot
namespace: default
prompt: "Edit the content for grammar, clarity, and readability. Improve sentence structure and flow."

- name: "seo-optimizer"
role: "member"
botRef:
name: seo-bot
namespace: default
prompt: "Optimize the content for SEO: add meta descriptions, keywords, and improve headings."

- name: "publisher"
role: "member"
botRef:
name: publisher-bot
namespace: default
prompt: "Format the content for publication and create a publishing checklist."

Context Passing Between Stages​

Pipeline members can set contextPassing to control which message this stage passes to the next stage. The default value is none, which preserves the existing no-context behavior.

ValueDescription
nonePass no message
original_userPass the original user request
previous_botPass the current stage Bot's final output
original_and_previousPass both the original user request and current stage output

Pipeline Best Practices​

  • Each stage has single clear responsibility
  • Control pipeline length (max 6 steps recommended)
  • Clear input/output expectations in each Bot's prompt
  • Add error handling and validation steps

❌ Avoid​

  • Overly long pipelines (more than 8 steps)
  • Overlapping responsibilities between steps
  • Missing intermediate validation
  • Illogical Bot ordering

Optimized Pipeline Design Example​

members:
- name: "validator" # First validate input
- name: "processor" # Then process
- name: "quality-check" # Quality check
- name: "finalizer" # Finally complete

Route Configuration Details​

Complete YAML Configuration Example​

apiVersion: agent.wecode.io/v1
kind: Team
metadata:
name: tech-support-route-team
namespace: default
spec:
# Collaboration model: route
collaborationModel: "route"

# Team members
members:
# Leader: Routing Decision Maker
- name: "router"
role: "leader"
botRef:
name: router-bot
namespace: default
prompt: |
You are a technical support router.
Analyze the user's question and route it to the appropriate specialist:
- Frontend issues β†’ frontend-expert
- Backend issues β†’ backend-expert
- Database issues β†’ database-expert
- DevOps/Infrastructure issues β†’ devops-expert

Provide a brief analysis of why you chose this specialist.

# Expert 1: Frontend Specialist
- name: "frontend-expert"
role: "member"
botRef:
name: frontend-specialist-bot
namespace: default
prompt: |
You are a frontend development expert specializing in:
- React, Vue, Angular
- HTML, CSS, JavaScript/TypeScript
- UI/UX best practices
- Browser compatibility

Provide detailed, actionable solutions to frontend problems.

# Expert 2: Backend Specialist
- name: "backend-expert"
role: "member"
botRef:
name: backend-specialist-bot
namespace: default
prompt: |
You are a backend development expert specializing in:
- Python, Java, Node.js
- RESTful API design
- Microservices architecture
- Performance optimization

Provide detailed, actionable solutions to backend problems.

# Expert 3: Database Specialist
- name: "database-expert"
role: "member"
botRef:
name: database-specialist-bot
namespace: default
prompt: |
You are a database expert specializing in:
- SQL and NoSQL databases
- Query optimization
- Database design and normalization
- Indexing strategies

Provide detailed, actionable solutions to database problems.

# Expert 4: DevOps Specialist
- name: "devops-expert"
role: "member"
botRef:
name: devops-specialist-bot
namespace: default
prompt: |
You are a DevOps expert specializing in:
- Docker and Kubernetes
- CI/CD pipelines
- Cloud infrastructure (AWS, GCP, Azure)
- Monitoring and logging

Provide detailed, actionable solutions to DevOps problems.

Real-World Case: Multi-Language Programming Q&A Platform​

apiVersion: agent.wecode.io/v1
kind: Team
metadata:
name: programming-qa-route-team
namespace: default
spec:
collaborationModel: "route"
members:
- name: "language-router"
role: "leader"
botRef:
name: language-router-bot
namespace: default
prompt: |
Analyze the programming question and route to the appropriate language expert:
- Python questions β†’ python-expert
- JavaScript/TypeScript β†’ js-expert
- Java/Kotlin β†’ jvm-expert
- Go β†’ go-expert

- name: "python-expert"
role: "member"
botRef:
name: python-bot
namespace: default
prompt: "You are a Python expert. Answer Python-related questions with code examples and best practices."

- name: "js-expert"
role: "member"
botRef:
name: javascript-bot
namespace: default
prompt: "You are a JavaScript/TypeScript expert. Provide modern ES6+ solutions and TypeScript types."

- name: "jvm-expert"
role: "member"
botRef:
name: java-bot
namespace: default
prompt: "You are a JVM expert. Answer Java and Kotlin questions with attention to performance."

- name: "go-expert"
role: "member"
botRef:
name: go-bot
namespace: default
prompt: "You are a Go expert. Provide idiomatic Go solutions emphasizing concurrency."

Route Best Practices​

  • Clear and accurate routing logic in Leader Bot
  • Well-defined expert domains without overlap
  • Detailed routing rules for Leader
  • Include default routing for unknown cases

❌ Avoid​

  • Ambiguous routing rules
  • Expert domain overlap causing selection difficulty
  • Missing default handling path
  • Overly complex routing decisions

Clear Routing Rules Example​

- name: "router"
prompt: |
Route questions based on clear criteria:
- If about UI/UX/styling β†’ frontend-expert
- If about API/database/server β†’ backend-expert
- If about deployment/infrastructure β†’ devops-expert
- If unclear or mixed β†’ general-expert (default)

Coordinate Configuration Details​

Both Claude Code and Codex executors use the first bot as the coordinator and the remaining members as native subagents. Codex registers a role for each member with its own instructions, model, and reasoning settings. Members without a model inherit the coordinator's model. For API models, the executor proxy routes each member to its own provider and credentials; credentials are never written to role files. Team members share Skills and MCP servers in the execution environment. Codex configuration or role-file deployment failures fail the task explicitly.

With native Codex login, members can inherit that login and select another model. Members using an independent API provider require an API model for the coordinator as well.

Complete YAML Configuration Example​

apiVersion: agent.wecode.io/v1
kind: Team
metadata:
name: market-research-coordinate-team
namespace: default
spec:
# Collaboration model: coordinate
collaborationModel: "coordinate"

# Team members
members:
# Leader: Coordinator
- name: "coordinator"
role: "leader"
botRef:
name: coordinator-bot
namespace: default
prompt: |
You are a market research coordinator.

PHASE 1 - Task Decomposition:
Break down the market research task into parallel workstreams:
1. Competitor analysis
2. Customer sentiment analysis
3. Market trend analysis
4. Data collection and statistics

Assign each workstream to the appropriate specialist.

PHASE 2 - Result Synthesis:
After receiving all reports, synthesize them into a comprehensive
market research report with:
- Executive summary
- Key findings from each area
- Strategic recommendations
- Data visualizations and insights

# Expert 1: Competitor Analyst
- name: "competitor-analyst"
role: "member"
botRef:
name: competitor-analyst-bot
namespace: default
prompt: |
You are a competitor analysis specialist.
Analyze:
- Main competitors and market share
- Competitor strategies and positioning
- Strengths and weaknesses
- Competitive advantages

Provide a detailed competitor analysis report.

# Expert 2: Customer Insights Analyst
- name: "customer-analyst"
role: "member"
botRef:
name: customer-analyst-bot
namespace: default
prompt: |
You are a customer insights specialist.
Analyze:
- Customer demographics and segments
- Customer pain points and needs
- Customer satisfaction and feedback
- Buying behavior patterns

Provide a detailed customer analysis report.

# Expert 3: Trend Analyst
- name: "trend-analyst"
role: "member"
botRef:
name: trend-analyst-bot
namespace: default
prompt: |
You are a market trend specialist.
Analyze:
- Industry trends and future outlook
- Emerging technologies and innovations
- Regulatory and policy changes
- Market opportunities and threats

Provide a detailed trend analysis report.

# Expert 4: Data Analyst
- name: "data-analyst"
role: "member"
botRef:
name: data-analyst-bot
namespace: default
prompt: |
You are a data analytics specialist.
Analyze:
- Market size and growth rates
- Statistical trends and patterns
- Revenue forecasts
- Key performance indicators

Provide a detailed data analysis report with visualizations.

Real-World Case: Comprehensive Code Review Team​

apiVersion: agent.wecode.io/v1
kind: Team
metadata:
name: comprehensive-code-review-team
namespace: default
spec:
collaborationModel: "coordinate"
members:
- name: "review-coordinator"
role: "leader"
botRef:
name: review-coordinator-bot
namespace: default
prompt: |
Coordinate a comprehensive code review:
1. Distribute code to specialized reviewers
2. Collect all review feedback
3. Synthesize into a final review report with prioritized action items

- name: "security-reviewer"
role: "member"
botRef:
name: security-bot
namespace: default
prompt: "Review code for security vulnerabilities, injection risks, and authentication issues."

- name: "performance-reviewer"
role: "member"
botRef:
name: performance-bot
namespace: default
prompt: "Review code for performance issues, optimization opportunities, and scalability."

- name: "quality-reviewer"
role: "member"
botRef:
name: quality-bot
namespace: default
prompt: "Review code quality, maintainability, design patterns, and best practices."

- name: "test-reviewer"
role: "member"
botRef:
name: test-bot
namespace: default
prompt: "Review test coverage, test quality, and identify missing test scenarios."

Coordinate Best Practices​

  • Leader has clear task decomposition strategy
  • Expert Bot responsibilities don't overlap
  • Leader needs strong aggregation capability
  • Control parallel Bot count (3-5 optimal)

❌ Avoid​

  • Unbalanced task decomposition
  • Too many parallel Bots (more than 7)
  • Leader lacks aggregation guidance
  • Inconsistent expert output formats

Structured Coordination Example​

- name: "coordinator"
prompt: |
STEP 1: Decompose task into 4 parallel workstreams
STEP 2: Assign to specialists
STEP 3: Collect all reports in structured format
STEP 4: Synthesize into unified report with:
- Executive summary
- Key findings per specialist
- Recommendations

Collaborate Configuration Details​

Complete YAML Configuration Example​

apiVersion: agent.wecode.io/v1
kind: Team
metadata:
name: product-brainstorm-team
namespace: default
spec:
# Collaboration model: collaborate
collaborationModel: "collaborate"

# Team members (all participate equally)
members:
# Product Manager Perspective
- name: "product-manager"
role: "member"
botRef:
name: pm-bot
namespace: default
prompt: |
You are a product manager participating in a brainstorming session.
Focus on:
- User needs and market fit
- Feature prioritization
- Business value and ROI
- User experience

Engage actively with other team members' ideas and build upon them.

# Technical Architect Perspective
- name: "architect"
role: "member"
botRef:
name: architect-bot
namespace: default
prompt: |
You are a software architect participating in a brainstorming session.
Focus on:
- Technical feasibility
- System design and scalability
- Integration challenges
- Technical debt considerations

Provide technical insights and collaborate with the team.

# UX Designer Perspective
- name: "ux-designer"
role: "member"
botRef:
name: ux-bot
namespace: default
prompt: |
You are a UX designer participating in a brainstorming session.
Focus on:
- User interface and interaction design
- User journey and experience
- Accessibility and usability
- Visual design principles

Contribute design perspectives and iterate on ideas.

# Data Analyst Perspective
- name: "data-analyst"
role: "member"
botRef:
name: data-bot
namespace: default
prompt: |
You are a data analyst participating in a brainstorming session.
Focus on:
- Data-driven insights
- Metrics and KPIs
- User behavior analysis
- A/B testing opportunities

Provide analytical perspective and support decisions with data.

# Marketing Expert Perspective
- name: "marketing-expert"
role: "member"
botRef:
name: marketing-bot
namespace: default
prompt: |
You are a marketing expert participating in a brainstorming session.
Focus on:
- Market positioning
- Target audience
- Go-to-market strategy
- Competitive differentiation

Contribute marketing insights and collaborate on strategy.

Real-World Case: System Incident Response Team​

apiVersion: agent.wecode.io/v1
kind: Team
metadata:
name: incident-response-team
namespace: default
spec:
collaborationModel: "collaborate"
members:
- name: "backend-engineer"
role: "member"
botRef:
name: backend-sre-bot
namespace: default
prompt: |
You are a backend engineer responding to a system incident.
Check: API services, application logs, error rates, service dependencies.
Share findings and collaborate to identify root cause.

- name: "database-admin"
role: "member"
botRef:
name: dba-bot
namespace: default
prompt: |
You are a database administrator responding to a system incident.
Check: Database performance, query performance, connections, locks, replication status.
Share findings and collaborate to identify root cause.

- name: "frontend-engineer"
role: "member"
botRef:
name: frontend-sre-bot
namespace: default
prompt: |
You are a frontend engineer responding to a system incident.
Check: Client-side errors, network requests, browser console, CDN status.
Share findings and collaborate to identify root cause.

- name: "devops-engineer"
role: "member"
botRef:
name: devops-bot
namespace: default
prompt: |
You are a DevOps engineer responding to a system incident.
Check: Infrastructure health, container status, network connectivity, resource usage.
Share findings and collaborate to identify root cause.

Real-World Case: Innovation Product Design Workshop​

apiVersion: agent.wecode.io/v1
kind: Team
metadata:
name: innovation-workshop-team
namespace: default
spec:
collaborationModel: "collaborate"
members:
- name: "creative-thinker"
role: "member"
botRef:
name: creative-bot
namespace: default
prompt: "Generate innovative and out-of-the-box ideas. Challenge assumptions and explore possibilities."

- name: "practical-analyst"
role: "member"
botRef:
name: analyst-bot
namespace: default
prompt: "Evaluate ideas for feasibility, cost, and practicality. Provide realistic assessments."

- name: "customer-advocate"
role: "member"
botRef:
name: customer-bot
namespace: default
prompt: "Represent the customer perspective. Ensure ideas truly solve user problems."

- name: "tech-innovator"
role: "member"
botRef:
name: tech-bot
namespace: default
prompt: "Explore cutting-edge technologies that could enable innovative solutions."

Collaborate Best Practices​

  • Define clear collaboration goals
  • Each Bot has clear perspective/role
  • Set discussion rounds or stopping conditions
  • Encourage Bots to reference and respond to each other

❌ Avoid​

  • Lack of clear goals causing divergence
  • Vague role definitions
  • No discussion termination conditions
  • Bots talking past each other without interaction

Effective Collaboration Setup Example​

members:
- name: "architect"
prompt: |
Role: Technical Architect
Goal: Design scalable solution
Interaction: Build on others' ideas, raise technical concerns

- name: "product"
prompt: |
Role: Product Manager
Goal: Ensure user value
Interaction: Connect features to user needs, prioritize

# Include facilitation instructions
- name: "facilitator"
role: "leader"
prompt: |
Guide discussion towards concrete action items.
Summarize when reaching consensus.
Keep discussion focused on the goal.

Performance Comparison​

ModelAverage TimeParallelismResource ConsumptionPredictability
PipelineN Γ— TLow (serial)LowHigh
RouteT + routing timeLow (single path)LowHigh
CoordinateT + aggregation timeHigh (parallel)HighMedium
CollaborateUncertainHigh (concurrent)HighLow

Note: N = Number of Bots, T = Average processing time per Bot


General Prompt Design Guide​

Good Prompt Structure​

prompt: |
# Good Prompt Structure:
1. Role definition: You are a [role]...
2. Responsibilities: Your responsibilities include...
3. Input description: You will receive...
4. Output requirements: Provide output in the format...
5. Quality criteria: Ensure [quality criteria]...

Team Size Recommendations​

  • Pipeline: 3-6 Bots
  • Route: 1 Leader + 3-8 experts
  • Coordinate: 1 Leader + 3-5 experts
  • Collaborate: 3-8 Bots

More Real-World Cases​

News Insights Platform (Coordinate)​

apiVersion: agent.wecode.io/v1
kind: Team
metadata:
name: news-insight-team
namespace: default
spec:
collaborationModel: "coordinate"
members:
- name: "coordinator"
role: "leader"
botRef: { name: coordinator-bot, namespace: default }
prompt: "Coordinate news analysis: assign data collection, sentiment analysis, and trend identification. Synthesize comprehensive news report."

- name: "news-collector"
role: "member"
botRef: { name: collector-bot, namespace: default }
prompt: "Collect news from multiple sources on the given topic. Provide summaries with sources and timestamps."

- name: "sentiment-analyzer"
role: "member"
botRef: { name: sentiment-bot, namespace: default }
prompt: "Analyze sentiment and tone of news articles. Identify positive, negative, and neutral coverage."

- name: "trend-identifier"
role: "member"
botRef: { name: trend-bot, namespace: default }
prompt: "Identify emerging trends and patterns in news coverage. Highlight key themes and developments."

Full-Stack Development Team (Pipeline)​

apiVersion: agent.wecode.io/v1
kind: Team
metadata:
name: fullstack-dev-team
namespace: default
spec:
collaborationModel: "pipeline"
members:
- name: "requirements-analyst"
role: "leader"
botRef: { name: analyst-bot, namespace: default }
prompt: "Analyze requirements and create detailed technical specifications."

- name: "backend-developer"
role: "member"
botRef: { name: backend-bot, namespace: default }
prompt: "Implement backend API based on specifications. Use Python FastAPI."

- name: "frontend-developer"
role: "member"
botRef: { name: frontend-bot, namespace: default }
prompt: "Build frontend interface using React. Integrate with backend API."

- name: "integration-tester"
role: "member"
botRef: { name: tester-bot, namespace: default }
prompt: "Test full-stack integration. Report any issues or bugs."