Skip to main content
Complex Duckie systems work best when deterministic process logic and autonomous reasoning are separated clearly. Use workflows for repeatable state transitions, routing, approvals, retries, and audit-sensitive steps. Use autonomous agents for judgment, research, language, tool selection, and ambiguous work. Use internal channel agents for human approvals and escalations in Slack or another team channel. Use Duckie Assistant agents for reporting, run review, feedback loops, and improvements to Duckie configuration.

The Design Model

The orchestration layer should be explicit:
  • A deployment starts a workflow or agent when an event, webhook, message, or schedule fires.
  • A workflow owns known process states and branches.
  • A workflow can call another workflow when a step is reusable across multiple processes.
  • A workflow can call an agent when a step needs judgment or natural language work.
  • An autonomous agent can call specialized agents when a task should be delegated.
  • An internal escalation agent keeps human approvals and questions inside the operational loop.
  • A Duckie Assistant agent reviews runs, reports on behavior, and proposes improvements to Duckie objects.

What Each Component Owns

ComponentOwnsAvoid using it for
DeploymentTrigger source, channel, mode, and scheduleBusiness logic that belongs in a workflow or agent
WorkflowDeterministic process state, branch logic, approvals, retries, and tool orderOpen-ended reasoning or broad research
Autonomous agentJudgment, language, investigation, and flexible tool useStrict compliance branches that must run the same way every time
Internal channel agentHuman approvals, escalation questions, reviewer decisions, and structured handoffsDuckie workspace maintenance or configuration updates
Duckie Assistant agentRun inspection, workspace inspection, reporting, feedback loops, and configuration improvementsDirect customer support or real-time approval routing
Callable agentA focused subtask with a clear contractGeneral orchestration of the full process
ToolA specific read or write actionPolicy decisions or process ownership
A good design usually uses a workflow backbone with agents at the points where judgment, language, or tool choice matters.

Design From the Business Process

Start by writing the process in normal operational language:
  1. What starts the process?
  2. What facts are always required?
  3. Which branches are deterministic?
  4. Which steps require judgment or language?
  5. Which humans approve, review, or provide missing context?
  6. What should be reported daily or weekly?
  7. How should mistakes become improvements?
Then map each answer to a Duckie component.

Common Patterns

Workflow Backbone With Specialist Agents

Use this when the process has known stages but individual stages need judgment.

Internal Channel Agent for Human Review

Use this when the system needs quick human input without moving people out of Slack or another internal channel.

Scheduled Reporting Agent

Use this when stakeholders need recurring visibility into operational health.

Design Checklist

  • Put deterministic routing in workflows.
  • Put uncertain interpretation in agents.
  • Put repeated subprocesses in callable workflows.
  • Put specialized judgment in callable agents.
  • Put human approvals and escalations in internal channel agents.
  • Put reporting, run review, and behavior improvement in Duckie Assistant agents.
  • Put recurring operational review in scheduled deployments.
  • Put powerful write actions behind clear scopes and approval gates.
  • Track categories, attributes, and outcomes from the start.

Workflows

Build deterministic process logic.

Autonomous Agents

Configure agents that reason and use tools flexibly.

Duckie Assistant Agents

Build agents for reporting, run review, and Duckie configuration improvements.

Scheduled Deployments

Run agents on recurring schedules.