453 lines
12 KiB
Markdown
453 lines
12 KiB
Markdown
# Infinite Loop Variant 3: Pluggable Agent Task Templates
|
|
|
|
A template-based infinite loop system that orchestrates parallel AI agents using reusable, parameterized task blueprints.
|
|
|
|
## Overview
|
|
|
|
This variant introduces **pluggable agent task templates** - a systematic approach to defining reusable agent behaviors through parameterized markdown blueprints. Instead of hardcoding agent instructions, this system loads templates, substitutes parameters, and deploys agents with complete, unambiguous instructions.
|
|
|
|
### Key Innovation
|
|
|
|
**Templates as Contracts:** Each template is a complete specification of how an agent should perform a specific type of task. The orchestrator loads the template, fills in parameters for each iteration, and deploys agents with fully instantiated instructions - treating each agent as a "brilliant but new employee" (following Anthropic's prompt engineering best practices).
|
|
|
|
## Quick Start
|
|
|
|
### 1. Web-Enhanced Generation (5 iterations)
|
|
|
|
```bash
|
|
/infinite-templated web-research-generator specs/example_spec.md viz_output 5 params/viz_params.json
|
|
```
|
|
|
|
Generates 5 visualizations, each learning from a different web resource.
|
|
|
|
### 2. Pure Code Generation (10 iterations)
|
|
|
|
```bash
|
|
/infinite-templated code-generator specs/example_spec.md viz_output 10
|
|
```
|
|
|
|
Generates 10 unique visualizations using creative variation without web research.
|
|
|
|
### 3. Infinite Mode (continuous until context limits)
|
|
|
|
```bash
|
|
/infinite-templated web-research-generator specs/example_spec.md viz_output infinite params/url_strategy.json
|
|
```
|
|
|
|
Runs in waves of 5 iterations until context budget exhausted.
|
|
|
|
### 4. Create Your Own Template
|
|
|
|
```bash
|
|
/create-template my-template-name generation "Description of what it does"
|
|
```
|
|
|
|
Interactive process guides you through creating a new template.
|
|
|
|
## System Architecture
|
|
|
|
### Directory Structure
|
|
|
|
```
|
|
infinite_variant_3/
|
|
├── .claude/
|
|
│ ├── commands/
|
|
│ │ ├── infinite-templated.md # Main orchestrator command
|
|
│ │ └── create-template.md # Template creation utility
|
|
│ ├── templates/
|
|
│ │ ├── base-template.md # Template for making templates
|
|
│ │ ├── web-research-generator.md
|
|
│ │ ├── code-generator.md
|
|
│ │ ├── analyzer.md
|
|
│ │ └── validator.md
|
|
│ └── settings.json
|
|
├── specs/
|
|
│ ├── example_spec.md # Example visualization spec
|
|
│ └── template_spec.md # Spec for creating templates
|
|
├── docs/
|
|
│ └── template_guide.md # How to create/use templates
|
|
├── examples/
|
|
│ └── template_usage.md # Concrete usage examples
|
|
└── README.md
|
|
```
|
|
|
|
### Core Concepts
|
|
|
|
**1. Template System**
|
|
- Templates are markdown files in `.claude/templates/`
|
|
- Use `{{PARAMETER}}` placeholders for customization
|
|
- Follow strict structure (see `specs/template_spec.md`)
|
|
- Based on "be clear and direct" prompt engineering principles
|
|
|
|
**2. Parameter Substitution**
|
|
- Orchestrator loads template and spec
|
|
- For each iteration, creates parameter mapping
|
|
- Replaces all `{{PARAMETER}}` placeholders with values
|
|
- Result is complete, ready-to-execute agent task
|
|
|
|
**3. Parallel Agent Deployment**
|
|
- Each agent receives fully instantiated template
|
|
- Agents work independently (no inter-agent communication)
|
|
- Orchestrator manages coordination and batching
|
|
- Results collected after parallel execution
|
|
|
|
**4. Template Categories**
|
|
- **generation**: Create new artifacts
|
|
- **analysis**: Analyze and extract insights
|
|
- **quality-assurance**: Validate and verify
|
|
- **research**: Gather and apply information
|
|
- **testing**: Execute tests
|
|
- **documentation**: Create/update docs
|
|
|
|
## Available Templates
|
|
|
|
### web-research-generator
|
|
|
|
Fetches web resources, extracts techniques, applies learning to generate artifacts.
|
|
|
|
**Use Cases:**
|
|
- Progressive learning from documentation
|
|
- Tutorial-driven development
|
|
- Best practice implementation
|
|
- Technique discovery and application
|
|
|
|
**Key Parameters:**
|
|
- `WEB_URL`: URL to fetch and learn from
|
|
- `LEARNING_FOCUS`: What to extract from URL
|
|
- `MIN_TECHNIQUES`: Minimum techniques to apply
|
|
- `OUTPUT_DIR`: Where to write generated file
|
|
|
|
**Example:**
|
|
```json
|
|
{
|
|
"WEB_URL": "https://d3js.org/d3-force",
|
|
"LEARNING_FOCUS": "Force simulation physics",
|
|
"MIN_TECHNIQUES": 2,
|
|
"OUTPUT_DIR": "viz_output"
|
|
}
|
|
```
|
|
|
|
### code-generator
|
|
|
|
Pure code generation based on specifications without web dependencies.
|
|
|
|
**Use Cases:**
|
|
- Iteration-based variations
|
|
- Component creation
|
|
- Theme-based implementations
|
|
- Creative coding
|
|
|
|
**Key Parameters:**
|
|
- `THEME`: Unique theme for iteration
|
|
- `UNIQUE_FEATURES`: What makes this unique
|
|
- `OUTPUT_DIR`: Where to write file
|
|
- `SPEC_FILE`: Specification to follow
|
|
|
|
**Example:**
|
|
```json
|
|
{
|
|
"THEME": "bioluminescent ocean",
|
|
"UNIQUE_FEATURES": "Glow effects, wave animations",
|
|
"OUTPUT_DIR": "components"
|
|
}
|
|
```
|
|
|
|
### analyzer
|
|
|
|
Analyzes artifacts to extract patterns, metrics, and insights.
|
|
|
|
**Use Cases:**
|
|
- Code quality analysis
|
|
- Pattern detection
|
|
- Performance assessment
|
|
- Trend identification
|
|
|
|
**Key Parameters:**
|
|
- `TARGET_PATTERN`: Files to analyze (glob)
|
|
- `CRITERIA_FILE`: Analysis criteria
|
|
- `METRICS`: Metrics to collect
|
|
- `OUTPUT_FILE`: Report destination
|
|
|
|
**Example:**
|
|
```json
|
|
{
|
|
"TARGET_PATTERN": "viz_output/*.html",
|
|
"METRICS": "LOC, complexity, uniqueness score",
|
|
"OUTPUT_FILE": "reports/analysis.md"
|
|
}
|
|
```
|
|
|
|
### validator
|
|
|
|
Validates artifacts against requirements and standards.
|
|
|
|
**Use Cases:**
|
|
- Specification compliance checking
|
|
- Quality validation
|
|
- Standard adherence verification
|
|
- Pre-deployment checks
|
|
|
|
**Key Parameters:**
|
|
- `VALIDATION_SPEC`: Validation rules
|
|
- `TARGET_PATTERN`: Files to validate
|
|
- `CRITERIA_LIST`: Specific criteria
|
|
- `OUTPUT_FILE`: Report destination
|
|
|
|
**Example:**
|
|
```json
|
|
{
|
|
"VALIDATION_SPEC": "specs/validation_rules.md",
|
|
"TARGET_PATTERN": "viz_output/*.html",
|
|
"OUTPUT_FILE": "reports/validation.md"
|
|
}
|
|
```
|
|
|
|
## How It Works
|
|
|
|
### Orchestration Flow
|
|
|
|
```
|
|
1. Load Template
|
|
↓
|
|
2. Load Specification
|
|
↓
|
|
3. Analyze Existing Iterations
|
|
↓
|
|
4. For Each Iteration:
|
|
- Create parameter set
|
|
- Substitute into template
|
|
- Verify uniqueness
|
|
↓
|
|
5. Deploy Agents in Parallel
|
|
↓
|
|
6. Collect Results
|
|
↓
|
|
7. (If infinite) Launch Next Wave
|
|
```
|
|
|
|
### Parameter Substitution Example
|
|
|
|
**Template (excerpt):**
|
|
```markdown
|
|
### Step 1: Fetch Web Resource
|
|
Use WebFetch with URL: `{{WEB_URL}}`
|
|
Focus on: `{{LEARNING_FOCUS}}`
|
|
Extract minimum {{MIN_TECHNIQUES}} techniques.
|
|
```
|
|
|
|
**After Substitution:**
|
|
```markdown
|
|
### Step 1: Fetch Web Resource
|
|
Use WebFetch with URL: `https://d3js.org/d3-force`
|
|
Focus on: `Force simulation physics and node positioning`
|
|
Extract minimum 2 techniques.
|
|
```
|
|
|
|
## Creating Custom Templates
|
|
|
|
### Step 1: Use Template Creation Command
|
|
|
|
```bash
|
|
/create-template my-template category "Description"
|
|
```
|
|
|
|
The command guides you through:
|
|
1. Requirements gathering
|
|
2. Structure design
|
|
3. Parameter definition
|
|
4. Instruction writing
|
|
5. Documentation
|
|
|
|
### Step 2: Follow Template Spec
|
|
|
|
See `specs/template_spec.md` for complete requirements:
|
|
- Required sections (11 total)
|
|
- Parameter naming conventions
|
|
- Instruction writing guidelines
|
|
- Quality standards
|
|
|
|
### Step 3: Apply "Be Clear and Direct" Principles
|
|
|
|
Templates follow Anthropic's prompt engineering guidance:
|
|
- Provide complete context
|
|
- Use explicit, step-by-step instructions
|
|
- Define success criteria clearly
|
|
- Treat agent as capable but uninformed
|
|
- Show examples
|
|
|
|
### Step 4: Test and Iterate
|
|
|
|
- Mentally walk through as if you're the agent
|
|
- Verify no ambiguous instructions
|
|
- Check all parameters documented
|
|
- Test with actual execution
|
|
|
|
## Design Philosophy
|
|
|
|
### Based on Anthropic's "Be Clear and Direct"
|
|
|
|
This system embodies prompt engineering best practices:
|
|
|
|
1. **Contextual Clarity**
|
|
- Templates explain task purpose
|
|
- Define workflow position
|
|
- Specify success criteria
|
|
|
|
2. **Explicit Instructions**
|
|
- Numbered, sequential steps
|
|
- Specific about outputs
|
|
- Clear constraints
|
|
|
|
3. **New Employee Metaphor**
|
|
- Explain norms and styles
|
|
- Provide examples
|
|
- Don't assume knowledge
|
|
|
|
4. **Precision**
|
|
- Exact language
|
|
- No ambiguity
|
|
- All terms defined
|
|
|
|
### Template Benefits
|
|
|
|
**Reusability**: Write once, use for unlimited iterations
|
|
**Consistency**: All agents follow same structure
|
|
**Clarity**: No ambiguous instructions
|
|
**Flexibility**: Parameters enable wide variation
|
|
**Composability**: Templates can reference other templates
|
|
**Maintainability**: Update template, all uses improve
|
|
|
|
## Advanced Usage
|
|
|
|
### Custom Parameter Files
|
|
|
|
Create JSON file with parameters:
|
|
|
|
```json
|
|
{
|
|
"PROJECT_NAME": "My Project",
|
|
"PROJECT_DESCRIPTION": "Description here",
|
|
"MIN_TECHNIQUES": 3,
|
|
"URL_STRATEGY": {
|
|
"foundation": ["url1", "url2"],
|
|
"intermediate": ["url3", "url4"],
|
|
"advanced": ["url5", "url6"]
|
|
},
|
|
"CUSTOM_PARAM": "value"
|
|
}
|
|
```
|
|
|
|
Use with command:
|
|
```bash
|
|
/infinite-templated template-name spec.md output_dir 10 params.json
|
|
```
|
|
|
|
### Template Composition
|
|
|
|
Templates can reference other templates:
|
|
|
|
```markdown
|
|
**Step 3:** Execute validation using validator template
|
|
See `.claude/templates/validator.md` for validation process.
|
|
```
|
|
|
|
### Progressive URL Strategy
|
|
|
|
For web-research-generator, provide URL progression:
|
|
|
|
```json
|
|
{
|
|
"URL_STRATEGY": {
|
|
"foundation": [
|
|
"Getting started guides",
|
|
"Basic tutorials"
|
|
],
|
|
"intermediate": [
|
|
"Advanced tutorials",
|
|
"API documentation"
|
|
],
|
|
"advanced": [
|
|
"Techniques articles",
|
|
"Performance guides"
|
|
],
|
|
"expert": [
|
|
"Advanced patterns",
|
|
"Optimization guides"
|
|
]
|
|
}
|
|
}
|
|
```
|
|
|
|
System assigns URLs based on iteration sophistication level.
|
|
|
|
## Examples
|
|
|
|
See `examples/template_usage.md` for detailed examples:
|
|
- Web-enhanced visualization generation
|
|
- Code-based component creation
|
|
- Quality analysis workflow
|
|
- Validation pipeline
|
|
- Custom template creation
|
|
|
|
## Documentation
|
|
|
|
- **README.md** (this file): System overview and quick start
|
|
- **CLAUDE.md**: Project instructions for Claude Code
|
|
- **docs/template_guide.md**: How to create and use templates
|
|
- **specs/example_spec.md**: Example specification
|
|
- **specs/template_spec.md**: Requirements for creating templates
|
|
- **examples/template_usage.md**: Concrete usage examples
|
|
|
|
## Key Features
|
|
|
|
✅ **Pluggable Templates**: Reusable task blueprints
|
|
✅ **Parameter Substitution**: Flexible customization
|
|
✅ **Parallel Execution**: Multiple agents simultaneously
|
|
✅ **Web Learning**: Progressive knowledge from web sources
|
|
✅ **Quality Assurance**: Built-in validation templates
|
|
✅ **Template Creation**: Tools to create new templates
|
|
✅ **Infinite Mode**: Continuous generation in waves
|
|
✅ **Clear Instructions**: Based on prompt engineering best practices
|
|
|
|
## Comparison with Other Variants
|
|
|
|
**vs. Original Infinite Loop:**
|
|
- Original: Hardcoded agent instructions
|
|
- This: Reusable template system
|
|
|
|
**vs. Web-Enhanced Loop:**
|
|
- Web-Enhanced: Web learning hardcoded into command
|
|
- This: Web learning as one template option
|
|
|
|
**vs. Pipeline Variant:**
|
|
- Pipeline: Sequential stages
|
|
- This: Parallel agents with flexible templates
|
|
|
|
**Unique Value:** Maximum flexibility through template pluggability while maintaining clarity through structured instructions.
|
|
|
|
## Contributing
|
|
|
|
To add new templates:
|
|
1. Use `/create-template` command
|
|
2. Follow `specs/template_spec.md`
|
|
3. Test with real execution
|
|
4. Document in `docs/template_guide.md`
|
|
5. Add example to `examples/template_usage.md`
|
|
|
|
## License
|
|
|
|
Part of the Infinite Agents experimental project.
|
|
|
|
---
|
|
|
|
**Web Source:** https://docs.claude.com/en/docs/build-with-claude/prompt-engineering/be-clear-and-direct
|
|
**Learning Applied:**
|
|
1. **Clear role definitions** - Each template defines agent role explicitly
|
|
2. **Step-by-step instructions** - All templates use numbered, sequential steps
|
|
3. **Context provision** - Templates explain task purpose, workflow position, success criteria
|
|
4. **"New employee" approach** - Templates don't assume knowledge, explain everything
|
|
5. **Explicit outputs** - Every step specifies expected output
|
|
|
|
**Generated:** 2025-10-10
|
|
**Iteration:** 3 of Infinite Loop Variants
|