49 lines
1.1 KiB
Plaintext
49 lines
1.1 KiB
Plaintext
# Example 14: Composition Blocks
|
|
# Demonstrates do: blocks, block definitions, and inline sequences
|
|
|
|
# Define reusable agents
|
|
agent researcher:
|
|
model: sonnet
|
|
prompt: "You are a thorough research assistant"
|
|
|
|
agent writer:
|
|
model: opus
|
|
prompt: "You are a skilled technical writer"
|
|
|
|
agent reviewer:
|
|
model: sonnet
|
|
prompt: "You are a careful code and document reviewer"
|
|
|
|
# Define a reusable research block
|
|
block research-phase:
|
|
session: researcher
|
|
prompt: "Gather information on the topic"
|
|
session: researcher
|
|
prompt: "Analyze key findings"
|
|
|
|
# Define a reusable writing block
|
|
block writing-phase:
|
|
session: writer
|
|
prompt: "Write initial draft"
|
|
session: writer
|
|
prompt: "Polish and refine the draft"
|
|
|
|
# Define a review block
|
|
block review-cycle:
|
|
session: reviewer
|
|
prompt: "Review for accuracy"
|
|
session: reviewer
|
|
prompt: "Review for clarity"
|
|
|
|
# Main workflow using blocks
|
|
let research = do research-phase
|
|
|
|
let document = do writing-phase
|
|
|
|
do review-cycle
|
|
|
|
# Use anonymous do block for final steps
|
|
do:
|
|
session "Incorporate review feedback"
|
|
session "Prepare final version"
|