Agent crews at the wGrow studio
We field agent crews.
A single agent in production is fragile. A small crew, with narrow agents, a human editor and a real eval harness, is a system you can ship and audit. These are the six crews running inside our studio, each under the same rule of thumb.
- 1 agent: 1 narrow job
- 1 crew: 1 outcome
- 1 human: 1 final approval
- 1 eval: every commit, no exceptions
Six crews
The crews running in our studio.
CrewAgentsFinal approval
- BD Crew scouts.agent (×6)editor.agentverifier.agent BD owner
- Article Crew writers.agent (×7)fact-check.agentreference-verifier.agent Editor
- WaterDoctor Crew ingestor.agentcontroller.agentreporter.agent Engineers
- Image Crew brief.agentrenderer.agentgrader.agent Art director
- Selection Crew scanner.agentpricer.agentsourcer.agent Buyer
- Finance Crew ledger.agentclose.agentreporting.agenttax.agentgovernance.agent Chartered accountant
Crew 01 · Live
BD Crew
Outbound intel, verified pipeline and CRM follow-up
Six scouts sweep CN, SEA and SG weekly for grants, tenders, regulatory triggers and partnerships. A verifier defends every claim against its source documents.
- scouts.agent (×6)grants, tenders, corporate, regulatory, events and academic
- editor.agentdedupe, score fit, urgency and value, EN and 简中
- verifier.agentmulti-source corroboration and deadline plausibility
- BD owner (human)promotes verified opportunities into CRM
Crew 02 · Live
Article Crew
Research-desk pipeline, cited and bilingual
A research desk with nine stages, ten specialists and a source-tier registry. Every DOI is cross-checked at Crossref, and every URL is fetched live. Bilingual.
- writers.agent (×7)brainstorm, outline, research, draft, refine, humanize and translate
- fact-check.agentclaim-coverage gate and verbatim quote check
- reference-verifier.agentDOI/Crossref, URL liveness and source-tier enforcement
- Editor (human)reads every piece end to end before publishing
Crew 03 · Live
WaterDoctor Crew
Live at WaterDoctor, embedded delivery
Sensor data feeds adaptive control loops and reports the regulator can read. Embedded with WaterDoctor, an NUS spinoff building AI-integrated biofilm reactors. This is agentic work at its hardest.
- ingestor.agentin-tank probes (DO, pH, ammonia) and lab assays
- controller.agentadaptive treatment loop with safety envelopes
- reporter.agentauditable run summaries
- Engineerstwo senior wGrow engineers, on the ground
Crew 04 · Active
Image Crew
Hero shots, lifestyle, variants, listing-ready
Hero shots, lifestyle scenes, variant covers and social crops, brand-consistent and listing-ready. One brief goes in and a packaged set comes out, with no manual rework downstream.
- brief.agentturns a product into a shot list (hero, lifestyle, variants)
- renderer.agentgenerates frames against the brand reference set
- grader.agentscores brand fit, removes drift and packages the set
- Art director (human)signs off the set before it ships
Crew 05 · Active
Selection Crew
Category scan, price, supplier and compliance
Scans a target market by category, ranks SKUs by selling range, surfaces qualified suppliers, and flags compliance friction before procurement opens a PO.
- scanner.agentcategory sweep across marketplaces and TAM signals
- pricer.agentselling-range bands, margin map and demand curve
- sourcer.agentsupplier shortlist with MOQ, lead times and certifications
- Buyer (human)signs every shortlist before a PO opens
Crew 06 · Active
Finance Crew
Close cycle, SFRS pack, IRAS and ACRA filings
Five specialists run the monthly close, draft the SFRS pack, and prepare GST F5, Form C-S, AGM and ACRA filings for a Singapore accounting-firm caseload. A chartered accountant signs every figure.
- ledger.agent, close.agentbookkeep, reconcile to bank, accrue and depreciate
- reporting.agentSFRS financial statements: P&L, balance sheet and cash flow
- tax.agent, governance.agentGST F5, Form C-S, ECI, AGM, ACRA AR and XBRL
- Chartered accountant (human)signs every figure and every filing
Under the hood
A crew is a memory architecture with agents on top.
Three things separate a crew that runs for a year from one that runs for a week: how memory is layered, how agents talk to each other, and what tends to state in the background. This is the outline of our default stack.
01 Memory
Four tiers, with one budget per tier.
Most "agent memory" is a single context window stuffed until it overflows. We separate memory by lifetime and write policy, so an agent can hold what doesn't change without paying for it on every turn.
Each tier has its own retention rule, write authority and size budget. Every agent in a crew reads from all four, and only the curator writes across them.
Charter, role and non-negotiables.
Pinned, rarely written and never forgotten. This is what the agent is before it knows its task: its remit, its no-go list and its voice.
Project facts that persist across runs.
Client conventions, past decisions, prior outcomes and names that matter. A separate agent curates entries in and removes them when stale, so each one earns its place.
The current task's scratchpad.
Hot, cheap and disposable. It holds intermediate reasoning, partial drafts and tool outputs in progress, and clears when the task closes unless the curator promotes a fragment.
Cross-agent reference and one source of truth.
Schemas, glossaries, run histories, eval results and ground-truth datasets. Every agent reads it, so no two disagree on a fact. Only the curator and the human editor write to it, which keeps drift out.
02 Protocol
Agents talk to each other in typed messages.
Most agents talk to each other in English. Ours only do when they have to. Reasoning steps stay in natural language, while telemetry, status, routing and structured handoffs go over a typed channel.
Tokens and latency both cost money, and a crew that runs all day pays for every word it doesn't need to say.
"Hi controller, finishing the ingestion pass for batch 0421. The pH readings looked stable across the four sensors I checked, with the third one showing a slight drift around 0.2 above baseline that you might want to flag in the next run. Lab values from this morning are attached as a CSV..."
{
batch: "0421",
status: "ok",
drift: { sensor: 3, dpH: 0.2 },
lab: "ref://lab/0421"
} 03 Curators
Memory rots if nobody tends it.
Every crew runs a curator agent. Its only job is to score what gets written, promote what proves useful, demote what goes stale and prune the rest. Your brain runs the same loop when you sleep, except this one has logs.
Without a curator, long-term memory fills with contradictions. With one, it stays small, recent and relevant, which is when it's worth its tokens.
04 Topology
Why we use crews.
One agent doing five jobs is five prompts braided together. It will fail, and you won't know which of the five failed. A crew separates the jobs so each one has its own eval, budget and failure mode.
The lead routes, the specialists do the work, the shared layer is the only thing they all touch, and the human is the final gate. These roles aren't interchangeable.
1 narrow job, 1 lead, 1 final approval, 1 curator, and 1 eval per commit.
In practice
How we work.
Stack
Anthropic Claude, OpenAI and Gemini, model-agnostic. Postgres and a vector store for memory. An eval harness on every commit.
Comfort zone
Audited workflows, regulated data and long-running loops. Singapore-context compliance: PDPA, MAS and IMDA.
What we avoid
Single-agent demos, chatbots without an outcome, and "AI strategy" without an eval.
First engagement
A one-week diagnostic that ends with a crew shape, an eval plan and a weekly cadence.
Common questions
What buyers ask.
Ten questions we hear in every first call about crews, memory, models, compliance and how engagements start. If yours isn't here, brief us.
What's the difference between a single AI agent and an "agent crew"?
A single agent doing five jobs is five prompts braided together, and when it fails, you don't know which of the five failed. A crew separates the jobs: one narrow agent per task, one lead to route, one curator to tend memory and one human to approve. Each piece has its own eval, budget and failure mode.
Why not just use ChatGPT or one large agent with tools?
Generalist agents demo well and ship badly. Once one is in production with real telemetry, the failures interleave: bad retrieval poisons drafting, bad drafting fools the checker, and the trace becomes unreadable. Crews stay debuggable because each agent has one job and one eval. We do use the big models, but we don't ask any single instance to do five things at once.
How does the four-tier memory architecture prevent context bloat?
Most "agent memory" is one context window stuffed until it overflows. We separate memory by lifetime: tier-01 (charter, pinned), tier-02 (long-term project facts, curator-written), tier-03 (per-task scratchpad, disposable) and tier-04 (shared knowledge base, read by every agent in the crew). Each tier has its own retention rule, write policy and size budget. Nothing crosses a boundary without the curator's approval.
What is the "curator" agent and why does every crew need one?
Memory rots if nobody tends it. The curator is a dedicated agent whose only job is to score what gets written, promote what proves useful, demote what goes stale and prune the rest. Without one, long-term memory fills with contradictory facts. With one, it stays small, recent and relevant, which is when it's worth its tokens.
Why do your agents use structured messages instead of natural language?
Tokens and latency both cost money. A 60-token prose handoff and a 22-token typed handoff can carry the same payload, but one parses on the wire and the other has to be re-read. We keep reasoning steps in natural language, and put telemetry, status and routing on a typed channel. A crew that runs all day pays for every word it doesn't need to say.
How do humans stay in the loop without becoming the bottleneck?
The human is the final gate, who approves, edits or rejects, and doesn't step in on every turn. Agents do the research, drafting, checking and routing on their own. The human sees a packaged outcome with citations and a diff, then signs off or sends it back. For the Article Crew that's an editor on every piece. For the BD Crew it's a person approving every send. For WaterDoctor it's senior wGrow engineers on the ground.
Are your crews compliant with Singapore's PDPA, MAS, and IMDA requirements?
That's our comfort zone. We work with audited workflows, regulated data and long-running loops, designed with PDPA, MAS and IMDA in mind from the first whiteboard session. Every crew run is logged, every memory write is attributable and every human approval is recorded. The crew runs on the audit trail from the start.
Which LLM providers do you use? Are crews locked to one vendor?
Crews are model-agnostic by default. We build on Anthropic Claude, OpenAI and Gemini, and choose per agent based on what each role needs: long-context reasoning, structured output or cost. Memory lives in Postgres and a vector store we control, outside the model provider. If a provider changes pricing, deprecates a model or goes down, we swap. No single vendor owns your crew.
How long does it take to ship a crew into production?
Most engagements start in 2–3 weeks. We open with a one-week diagnostic that ends with a crew shape, an eval plan and a weekly cadence. From there the first crew is usually running against real data inside a month, behind a human gate. We don't ship single-agent demos, and we don't ship without an eval harness on commit.
Do you build crews for clients, or also embed engineers with the team?
Both. For most engagements we design the crew, ship it and hand over with an eval plan you can run yourself. For deeper work, like our WaterDoctor engagement, two senior wGrow engineers embed with the client team on the ground, working on sensor data, control loops and regulator-readable reports. The crew model stays the same, and the operating model changes.
Brief us
Want a crew
embedded with you?
We typically run a one-week diagnostic, then propose a crew shape, eval plan and weekly cadence. Most engagements start in 2–3 weeks.
Brief us