Components · Layer 3 · copy-in
Agentic
Agent coordination and control. 18 components, distributed copy-in.
What were our top 3 accounts by revenue last quarter?
Support Analyst agent started
Pulling Q1 revenue from the warehouse now.
run_sqlSELECT account, SUM(revenue) ... GROUP BY account LIMIT 3Top 3: Northwind ($1.2M), Acme ($940K), Globex ($710K).
ResearcherWriterSources gathered, drafting the summary
Planner· DoneResearcher· ThinkingWriter· ActingReviewer· IdleDeployer· Error
Approval required · high risk
Delete 23 inactive accounts
The cleanup agent wants to permanently remove accounts inactive for 18+ months.
If approved
23 accounts deleted, data archived for 30 days.
If rejected
No changes made; agent reports back.
92%64%Low confidence · 32%
Total spend$0.0568
Opus 4.8 (reasoning)$0.0421
Haiku (routing)$0.0038
Embeddings$0.0009
Web search tool$0.0100
Tool call failed: send_email (timeout)
The email provider did not respond within 30s. The draft is preserved.
- Plan created12:00:01
- Querying warehouse$0.001212:00:03
- Ranking accounts12:00:05
- Generating summary$0.008912:00:06
- Await human approval
Awaiting review3
Refund $42.00 to order #10281
Support agent flagged a duplicate charge on a Pro subscription.
Publish blog post: "Shipping agents safely"
Draft generated by the writer agent, 1,240 words, tone matches brand voice.
Escalate ticket #4471 to on-call
Classifier is 71% sure this is a production outage report.
Memory
- preferenceUser prefers TypeScript over JavaScript for all examples.
- projectPrimary deploy target is Railway, not Vercel.
- deadlineShip date for the v2 dashboard is 2026-08-15.
Planner
orchestration
Done· DoneResearcher
retrieval
Working· ActingSearching the knowledge base for pricing docs
Writer
synthesis
Thinking· ThinkingDrafting the customer reply
Reviewer
verification
Idle· IdlePermission request
Support Copilot is requesting access
- Read customer recordsNames, plans, and ticket history
- Issue refunds up to $100Larger refunds still require a human
- Send email on your behalfFrom support@charcoal.nickcoma.io
Proposed plan
- Pull the account list
- Filter to 18+ months inactive
- Archive account data (30 day retention)Reversible during the window
- Delete filtered accounts
- Parse the requestUser wants the top 3 accounts by Q1 revenue.
- Choose a data sourceThe analytics warehouse holds finalized revenue.
→ run_sql - Query and aggregateSum revenue per account, order descending, limit 3.
→ run_sql - Format the answerReturn names with rounded dollar figures.
Queued2
Summarize incident #4471
Researcher
Draft release notes
Writer
In progress1
Reconcile Stripe refunds
Billing agent
Done2
Tag support tickets
Classifier
Backfill embeddings
Indexer
Arguments
{
"query": "SELECT account, SUM(revenue) FROM orders GROUP BY account ORDER BY 2 DESC LIMIT 3"
}Result
{
"rows": [
{
"account": "Northwind",
"revenue": 1204300
},
{
"account": "Acme",
"revenue": 942100
}
]
}