The heating had been running for five days. I found out on a Sunday night after driving across Melbourne to check on a vacant property I was trying to sell. The real estate agent had shown the place on Tuesday, left the ducted heating on, and when I messaged them about it, the response was that it must have been someone else. There was nobody else. The property was vacant. They had the only key.

That was agent number three. Over a number of years and across multiple properties, I have now been through three of them in Melbourne’s western suburbs. Different agencies, different names, different backgrounds, identical playbook, identical negligence.

The playbook every seller recognises

If you have sold property in Melbourne (or anywhere in Australia), you will recognise what comes next. The script does not vary. I have sat through it three times and watched neighbours sit through it more.

Before you sign the sales authority: ‘We have a database of local buyers looking for a property like yours.’ After you sign: none of those buyers materialise. Before you sign: the sale price projections are optimistic, sometimes aggressively so. After a few open homes with thin attendance: the only conversation becomes why your expectations were too high. The same expectations they set. The database, it turns out, is realestate.com.au and domain.com.au. The same two portals everyone lists on.

Then comes the handling. Gentle pressure to lower the price. Reminders about market conditions they did not mention when pitching for the listing. A slow pivot from ‘we will get you a great result’ to ‘you need to be realistic.’ The commission stays the same regardless.

The open home itself is where the negligence shows. Lights left on after every inspection. Doors left unlocked overnight. Heating running for a full week in a vacant property. I have watched the exact same pattern play out on a property behind mine right now: the outside flood lights have been on since last Saturday’s open home. Five days and counting. Nobody from the agency has noticed or cared.

One agent lost the master keys to my newly built home. Said they were left in his wife’s car, asked for a replacement set. I handed one over without thinking much of it. Four months later I fired that agent for non-performance. One original set came back. The other was a Bunnings key blank copy. The originals had ‘must have been misplaced.’

Agents label their key rings with the property address to stay organised across listings. So a lost key is not just a lost key. It is a labelled key attached to the address it opens, sitting somewhere I cannot account for. I do not know how many copies were cut or who held them. The agent never disclosed the loss, never asked permission to cut replacements, and would not have mentioned it if I had not fired them. Insurance risk, security exposure, months of silence.

And for this, they charge 1.5% to 2.5% of the sale price plus a marketing fee of $3,000 to $5,000 that covers little more than a listing on two portals and a set of photos run through an AI editor.

If you have sold a vacant property and could not attend every open home yourself, you know this feeling. You are trusting someone with a six-figure asset who cannot remember to turn off the lights, who loses your keys and covers it up, and whose only real skill is the sales pitch that got you to sign the authority in the first place.

What if the sale were a pipeline?

I build data pipelines and platform infrastructure for a living. I design systems where every step is validated, every failure is caught, every output is checked before it reaches the next stage. The gap between that discipline and what I was getting from real estate agents was so wide it stopped being frustrating and became interesting.

A property sale is a workflow. Market research feeds into pricing. Pricing feeds into copy and marketing. Marketing generates leads. Leads require qualification, follow-up, and CRM tracking. Open homes produce feedback. Feedback adjusts the strategy. Offers require legal review. Every step has inputs, outputs, validation criteria, and approval gates.

That is an orchestrated pipeline. And orchestrated pipelines are what I do.

The architecture

I built a multi-agent AI system where specialised sub-agents handle each domain of the property sale campaign, coordinated by an orchestrator that enforces the same kind of discipline I would apply to a production data platform.

The topology looks like this:

System topology: orchestrator delegates to specialist agents, all output flows through compliance and evaluation

Each agent owns a bounded domain: market research, pricing evidence, listing copy, property website, photo editing and staging, legal process guidance, buyer CRM operations, open home logistics, or offer negotiation support. The orchestrator delegates one task at a time to one agent. No agent approves its own work. Every artefact follows a status lifecycle from stub through draft, validated, reviewed, to approved, and nothing reaches published without passing through the compliance agent and my explicit sign-off.

The key design decision: agents are not autonomous. They operate inside a harness with skills, hooks, and structured workflows that enforce discipline the same way linting enforces code quality in a codebase.

Skills, hooks, and guardrails

Skills are reusable knowledge modules loaded at runtime. I have built skills for Victorian private sale compliance, property market research methodology, and offer negotiation support, among others. When the compliance agent reviews listing copy, it loads the compliance skill which contains checklists derived from Consumer Affairs Victoria guidelines, advertising accuracy requirements, and Section 32 disclosure rules.

A simplified skill structure:

name: vic-private-sale-compliance
description: >
  Checks Victorian private property sale artefacts for
  Section 32, contract readiness, due diligence checklist,
  deposit handling, advertising accuracy, and approval gates.

reference:
  - cav-sources.md        # Consumer Affairs Victoria links
  - public-claims.md      # Claim safety checklist
  - escalation.md         # When to route to conveyancer

validators:
  - compliance-check.md   # Automated validation rubric

Hooks are deterministic gates. They fire before or after specific agent actions and block progress when a rule is violated. Unlike instructions (which an LLM can drift from), hooks are hard stops enforced by the harness runtime.

Hook: public-claim-gate
Trigger: any artefact marked public_safe: true
Blocks when: factual claim lacks source link or owner confirmation
Output: claim audit report → routes to compliance agent

Hook: legal-gate
Trigger: offer, contract, deposit, or settlement mentioned
Blocks when: conveyancer review status missing
Output: legal review required notice → blocks workflow

The hooks are the part that matters most. An agent handling 15 listings forgets things. A hook does not forget.

Loop engineering, not prompt engineering

There is a persistent idea that working with AI is about crafting better prompts. Write the right instruction, get the right output. Prompt engineering. It is a useful skill for a single interaction, and it is about 10% of what makes a system like this work.

The other 90% is loop engineering.

The industry is converging on this. Andrej Karpathy coined ‘context engineering’ to describe the art of filling the context window with the right information for each step. Anthropic published detailed guides on building effective agents with orchestrator-worker patterns and designing harnesses for long-running agents that maintain progress across context windows. OpenAI released their practical guide to building agents and an orchestration framework covering handoffs between specialised agents. Google Cloud’s 2026 AI Agent Trends report describes the ‘agent leap’ where multi-agent systems orchestrate complex workflows semi-autonomously, with their Agent2Agent protocol enabling cross-agent delegation.

Boris Cherny, head of Claude Code at Anthropic, put it directly: ‘I don’t prompt Claude anymore. I have loops running that prompt Claude and figuring out what to do.’ That is the shift. Not better prompts, but better loops. Orchestration loops that sequence work across agents. Feedback loops that turn operational failures into harness improvements. Validation loops that catch drift before it compounds. Quality loops that block bad output before it reaches a human.

This system has four distinct loop types running concurrently:

  • Orchestration loop: the orchestrator delegates a task to one agent, collects the output, validates it against the artefact schema, and routes the next task. One task, one agent, one validation. No parallelism, no ambiguity about who owns what.
  • Feedback loop: when the evaluation agent catches a recurring validation failure (say, missing source links on market claims), it does not patch the artefact. It recommends a new hook or a checklist update. The harness tightens. Next run, that failure class is blocked before it reaches evaluation.
  • Market intelligence loop: the weekly research cycle (search, extract, normalise, score, validate, accumulate) runs every Monday with a fresh context window per property. Each iteration adds to the evidence base. By week four, the loop is producing trend analysis that week one could not.
  • Quality loop: a hook fires, blocks an artefact, logs the reason. I investigate, fix the underlying issue (sometimes the agent’s skill, sometimes the validation rubric itself), and the artefact re-enters the pipeline. The loop counter caps at three revision cycles before escalating to me directly.

The prompts in this system are largely static. I have not rewritten them since the first week. What improves is the loops. The hooks get tighter. The validation rubrics get more specific. The source register gets deeper. The confidence calibration gets more anchored. None of that is prompt engineering. It is system design applied to AI operations, and it is the part that separates a production agentic workflow from a collection of clever ChatGPT conversations.

The market intelligence pipeline

This is where the system started paying for itself in the first week.

Every Monday morning, the research agent produces a structured market brief covering my target suburb and surrounding areas. The pipeline follows a defined orchestration loop:

Orchestration pipeline: search, extract, normalise, score, cite, validate, update, hand off

The brief includes:

  • Comparable sales scored on location, land, build, condition, recency, and feature match, with explicit adjustment notes for material differences
  • Active listings tracked by price, sale method, days on market, and campaign quality
  • Auction results and clearance rates from multiple sources, with demand signals extracted
  • Agent tactics observed across competing campaigns: copy angles, photo quality, staging decisions, price changes, withdrawals

Here is the executive signals section from a real Monday brief, addresses redacted:

SignalEvidenceConfidenceImplication
Property A PASSED IN at auctionREIV suburb page; auction 20 Jun; SOI guide $670k–$720khighGuide not met on auction day; critical demand signal for 4/2/2 on 400 m² at sub-$720k
Melbourne clearance rate at year low55.9% week ending 20 Jun; down from 60.1% prior, 71.0% YoYhighBuyers have strong leverage; market firmly in buyer’s territory
Suburb median declining$680k median, –6.5% quarterly, DOM 54 days (vs 37 metro avg)highSuburb-level softening confirmed; pricing discipline critical before launch
Active supply surging60 houses for sale (was 42 four days ago; +43%)highDramatically increased competition; launch timing and differentiation matter more
New listing: Property BSame agency as Property A; 4-bed upgraded, same streetmediumNear-neighbour competitor; agency may adjust strategy after Property A failure
Sold evidence recoveredFour independently sourced sales: $705k–$870k across configsmediumBracket evidence tightening; cross-confirmed against SOI mentions
Property C auction scheduledNo cancellation found; guide conflict ($780k–$830k SOI vs $860k–$880k display)mediumNext critical demand signal in 5 days; guide conflict still unresolved
Market commentary: winter chillMelbourne median house $954k, –3.5% YoYhighSeasonal and structural softening; private-sale campaign may face extended DOM

When a nearby property passed in at auction recently, the brief flagged it as a critical demand signal within the same run. It noted the guide price that was not met, assessed the implications for my pricing strategy, and recommended monitoring the relist price. That kind of analysis is what a top 1% campaign analyst would produce. Most agents hand you a two-page PDF with four cherry-picked comparables and a number.

The sold evidence table from the same week, with addresses redacted:

AddressPriceDateConfigLandSourcePricing implication
[Redacted] St$870,00013 Jun 20265/3/2429 m²HomelyPremium 5-bed/3-bath; ceiling row for target after bed/bath adjustment
[Redacted] Blvd$800,00027 May 20264/3/2400 m²HomelyStrong anchor for 4-bed/3-bath on 400 m²; compare land premium (448 vs 400) and bath count (2 vs 3)
[Redacted] Dr$707,5001 Jun 20264/2/2294 m²HomelyLower-floor anchor; 294 m² land too small for direct comp but confirms sub-$710k floor
[Redacted] Way$705,0003 Jun 20265/2/2362 m²HomelySmaller-land bracket; $705k for 5-bed/2-bath on 362 m²
[Redacted] Dr$540,0003 Jun 20263/2/1177 m²HomelyVery small lot; context only

And the active pricing bracket matrix the system maintains, summarising all captured guides and SOIs:

BandObserved guide spanStrongest signalCaveats
Under 300 m² (lower floor)$549k–$659kDefends against cheap-listing objections by showing material land/product differencesNot direct comps; useful as lower anchors only
300–400 m² (smaller land)$640k–$860kMain same-suburb buyer-substitution band; 4/2/2 rows cluster $700k–$820k before land adjustmentAdjust for land, bedroom/bathroom differences, two-storey layout, SOI/page conflicts
400–449 m² (close target land)$690k–$899kClosest land-size anchors; passed-in relist $690k–$750k above failed SOI top; zero-comp SOI at $730k–$750kMonitor price reductions; zero SOI comps challenge guide credibility
450–550 m² (larger land)$780k–$879kTests upper buyer tolerance for larger/similar land and extra-bathroom stockResolve guide conflicts; capture auction results
Luxury/presentation ceiling$899k–$1,355kShows ceiling only if presentation/spec/build materially superiorDo not anchor target price here unless verified feature gap supports it

The system tracks 20+ properties across multiple rings of geography, separates sold evidence from active asking prices, and produces weekly delta reports. No agent I have worked with has come close.

The data lifecycle underneath

The market intelligence pipeline generates a growing body of structured data: comparable sales, active listings, auction results, clearance rates, agent tactics, buyer feedback, campaign metrics. Managing that data over weeks and months is a data engineering problem in its own right, and treating it like one is what separates this from a spreadsheet that rots.

Every data point enters the system with provenance metadata: source URL, retrieval date, source type, and confidence rating. The source register tracks every external reference used across all agents, so any factual claim can be traced back to its origin.

source_id: homely-16-maradona-2026-05-27
source_type: listing-portal
url: https://homely.com.au/...
retrieved: 2026-06-22
confidence: medium
notes: >
  Cross-confirmed by SOI mention in competing listing.
  Price $800k for 4/3/2 on 400 m2.

Storage tiers mirror the access pattern. Current-week market data sits in the active artefacts where agents read it on every run. Prior-week snapshots are retained as dated briefs (the Monday market brief accumulates as a time-series of the suburb’s market state). Stale listings that have sold, been withdrawn, or dropped off the portals move to a historical register with their final observed state preserved. Nothing is deleted. The comparable sales table from week one and week eight tell different stories, and the delta between them is the pricing signal.

Freshness enforcement is automated. The market freshness hook blocks any agent from using market data older than seven days during an active campaign. During pre-campaign research, the threshold is wider (weekly Monday cadence), but every data point still carries its retrieval date so downstream agents can assess confidence. A comparable sale retrieved three weeks ago and still consistent with this week’s evidence is more trustworthy than one retrieved yesterday from a single unverified source.

Schema evolution is handled the way I would handle it in a data warehouse. When the research agent discovers a new dimension worth tracking (say, competing agents’ use of virtual staging, which was not in the original schema), the artefact tables gain a column. Historical rows get backfilled where the data is recoverable, or marked as not-observed where it is not. The artefact registry tracks which fields were added when, so the pricing agent knows not to weight a feature that has only been tracked for two weeks.

The comparative analysis compounds. By week four, the system has enough historical snapshots to produce trend analysis: which suburbs are softening, which agents are cutting prices, how days on market are shifting, whether auction clearance rates predict private sale activity. By week eight, the evidence base is deeper than anything a single agent could accumulate across their entire portfolio, because the data is structured, timestamped, sourced, and queryable rather than sitting in someone’s memory or a filing cabinet.

This is where the data engineering discipline pays off most. Not in the AI agents themselves, but in the data layer underneath them. Clean, governed, time-aware data is what makes the agents useful. Without it, they are generating opinions from stale inputs. With it, they are generating evidence-backed recommendations from a growing, validated dataset.

How artefacts flow through the system

Every piece of output, from a single listing headline to a full market intelligence report, follows the same lifecycle:

Artefact lifecycle: draft, validate, compliance review, owner approval, published

Every artefact carries structured metadata:

artifact_id: 03-market-intel-weekly-brief
artifact_type: market-brief
owner_agent: Research Agent
status: draft
source_register: 00-control/source-register.md
approval_required: true
public_safe: false

The evaluation agent validates artefacts across the system: checks source links exist, metadata is complete, approval fields are populated, public safety flags match content risk, and time-sensitive market data is not stale. When the same validation failure appears twice, it recommends a checklist update or a new hook. The harness gets tighter over time without me writing new prompts.

Where the loops broke

The system did not work cleanly from day one. Loop engineering is iterative by nature, and the early iterations exposed problems that better prompts would never have solved.

Agent drift in long market intelligence runs. When the research agent processed 20+ comparable properties in a single session, the analysis notes got progressively shorter. Worse, the confidence scores drifted upwards. The agent was getting lazier and more ‘confident’ at the same time, which is exactly the wrong combination for pricing decisions. The fix was not a better prompt. It was a loop architecture change: each comparable now gets its own extraction pass with a bounded context window, and the aggregation happens in a separate downstream step. The per-property analysis stayed consistent. The cost in API calls went up. The accuracy went up more.

Source staleness between loop iterations. The market intelligence loop runs weekly, but the market moves daily. Auction results arrive on Saturday. Price changes happen mid-week. New listings appear without warning. The freshness hook caught stale citations (an agent referencing data retrieved two weeks ago in a current brief), but it caught them late, after the agent had already woven the stale fact into its analysis. The fix: a pre-brief validation loop that checks every source retrieval date against the brief’s target window before the research agent starts writing. Stale sources get flagged for re-retrieval or explicit age-disclosure, not silently included.

Confidence calibration without anchoring. Early on, I let the research agent self-assess confidence as ‘high’, ‘medium’, or ‘low’. By week three, ‘high’ meant something different from week one, because the agent had seen more evidence and silently recalibrated its own baseline. A ‘medium’ confidence rating in week three was backed by stronger evidence than a ‘high’ from week one. The fix: confidence is now anchored to explicit criteria. ‘High’ requires two or more independent sources with cross-confirmation and retrieval within seven days. ‘Medium’ requires one verified source. ‘Low’ means single-source or unverified. The hook enforces the rubric. The agent does not get to decide what ‘high’ means.

Infinite refinement cycles. The evaluation agent would flag an issue in a market brief. The research agent would revise. The evaluation agent would flag a different issue introduced by the revision. The research agent would revise again, sometimes reintroducing the original issue. I watched this cycle five times on one artefact before I intervened. The fix: a hard cap of three revision cycles per artefact. After three passes, the artefact escalates to me with the evaluation agent’s notes attached. Most artefacts pass on the first or second attempt now that the hooks have tightened. The ones that hit three are genuinely ambiguous edge cases that need human judgement, not another agent pass.

Schema evolution breaking downstream consumers. When I added virtual staging tracking as a new dimension for competing listings, the pricing agent immediately started weighting it in comparisons. Two weeks of virtual staging data does not carry the same analytical weight as eight weeks of price history, but the agent treated every column equally. The fix: field-level provenance. Every new column carries its added_date, and downstream agents are instructed to weight fields relative to their observation window. Short-history fields inform but do not anchor.

These are not exotic failure modes. They are the standard data engineering challenges of schema evolution, data freshness, calibration drift, and pipeline reliability, applied to an AI operations context. The loop engineering discipline is what surfaces them early and resolves them structurally rather than with ad-hoc prompt patches.

The website and marketing layer

The property has its own website on a custom domain, hosted on Cloudflare Pages. The website agent manages page copy, SEO metadata, structured data, image galleries with alt text, lead capture forms, and a document request workflow that requires my approval before sharing the Section 32 or contract.

The design agent handles photo editing and virtual staging (disclosed where used), brochure layouts, QR signage for open homes, and social media image crops. The SEO agent handles search optimisation, sitemap management, and AI-discovery readiness (structured data, llms.txt, crawlable HTML with no critical facts hidden in images or JavaScript).

The site adjusts based on market signals. When competing price drops or rising days on market suggest buyer sentiment is shifting, the system flags copy and presentation changes for my review. I approve or reject. The website updates. No phone tag with someone handling 15 other listings.

This is what real estate agents charge $3,000 to $5,000 for under the label ‘marketing’. They list your property on realestate.com.au and domain.com.au with AI-edited photos and call it a campaign.

This is the part I wish I had when I bought my first property.

The legal guidance agent provides process guidance around Victorian private sale requirements. It is not legal advice and it does not replace a conveyancer. What it does is surface the right questions at the right time, with context drawn from Consumer Affairs Victoria guidelines and the current project state.

When am I required to have a Section 32 ready? What must the due diligence checklist include? How does deposit handling work without an agent trust account? What are the cooling-off period rules for private sales? What happens if a buyer requests a special condition I have not seen before?

These are questions a first-time buyer or seller would not know to ask. The legal guidance agent surfaces them, structures them, and prepares me to have a productive conversation with my conveyancer instead of an overwhelming one. For someone in their twenties buying their first property, this layer alone would be worth more than most buyer’s agents provide.

Two months of results

The system has been running for close to two months. Some observations.

The market intelligence pipeline has generated more actionable insight than all three agents combined ever provided. I have a clearer picture of pricing evidence, buyer demand signals, competitor strategy, and campaign timing than any appraisal pack I was ever handed. The weekly cadence means I am never working from stale data, and the source tracking means I can trace every pricing assumption back to a specific comparable with a retrieval date.

Property interest through the dedicated website has outperformed what the agents generated through the portals. A dedicated domain with SEO optimisation and structured data reaches buyers who are searching for specific suburb and property attributes, not browsing a portal feed.

The cost comparison is stark. The total infrastructure spend for two months (hosting, domain, LLM API usage for weekly intelligence runs and agent operations) is less than the fixed marketing fee a single agent would have charged upfront.

This applies to buyers too

The same architecture works for the other side of the transaction. If anything, the buyer side is simpler because the compliance requirements are lighter.

A buyer agent system runs the market intelligence pipeline against target suburbs, tracks new listings, compares prices to recent sold evidence, monitors days on market to spot flexible vendors, flags auction clearance trends that signal buyer leverage, and produces weekly briefs with prioritised inspection recommendations.

The legal guidance agent works identically. Cooling-off periods. Building and pest clauses. Deposit handling. Settlement terms. Owners corporation status. Planning overlays and easements. The right questions prepared for a conveyancer conversation, not a panicked phone call.

Finding a good buyer’s agent in Melbourne is as difficult as finding a good seller’s agent. The top 1% exist and charge accordingly, because they are genuinely rare. Everyone else charges a flat fee or percentage for ‘access to a database’ that doesn’t exist in any meaningful sense, and provides market research that a well-structured agentic AI system produces with better source tracking and zero conflicts of interest. The alternative without an agent is manually scouring realestate.com.au and domain.com.au every morning, cross-referencing sold prices in a spreadsheet, and hoping you notice the price drop before another buyer does. This system does that work at a fraction of the cost and none of the cognitive overhead.

Monday morning, 9:00 AM. A market brief arrives in your inbox covering every property in your target suburbs that changed in the past week. New listings scored against your criteria. Price movements. Auction results with demand signals. Competing buyer activity inferred from days on market and campaign changes. All produced by scheduled orchestrators working while you sleep.

What this took to build

I am not going to pretend this is a weekend project. The system architecture runs to over a thousand lines of structured agentic workflow: ten agent domains, multiple orchestration loops, compliance hooks, reusable skills, validation rubrics, and a self-improving harness that tightens over time.

The technology: frontier LLM models for agent reasoning. Python for data processing and ingestion pipelines. A harness runtime that manages agent delegation, skill loading, hook enforcement, and artefact lifecycle. Cloudflare Pages for hosting. A structured source register that tracks provenance for every factual claim.

It took the same kind of system design that goes into a production data platform: clear boundaries between components, validation at every handoff, structured metadata, human-in-the-loop approval for irreversible actions, and the loop engineering discipline that turns operational feedback into structural improvements.

The difference between this and a collection of ChatGPT prompts is the same difference between a production data pipeline and a SQL query run in a notebook. Both process data. One is repeatable, validated, observable, and improves over time. The other is a one-shot. The difference between this and a well-crafted prompt chain is that the loops learn. The prompts stay the same. The harness around them gets tighter every week.

Why this matters beyond property

The real estate industry is one example. The pattern applies anywhere an intermediary charges a percentage for services that are mostly research, communication, and process adherence. Insurance brokers. Financial advisers. Recruitment consultants. Customs brokers. Any domain where the ‘expertise’ is knowing which questions to ask and which sources to check, and where the service quality varies wildly because there is no systematic discipline.

Multi-agent AI systems with proper orchestration, compliance gates, and human-in-the-loop approval are not replacing professionals who exercise genuine judgement. They are replacing the 99% who follow a script badly.

My hope is that this kind of system becomes easier to build and more widely adopted. Not because I want real estate agents to disappear. Because I want the industry to feel the pressure that comes when vendors and buyers have a credible alternative. Right now, the barrier to switching away from an agent is high enough that the industry has no incentive to improve. Most sellers do not know how to run their own campaign. Most buyers do not know how to do their own market research. The agents know this, and the service quality reflects it.

When tools like this become more accessible (and they will, as agentic AI frameworks mature and open-source models close the capability gap with frontier providers), the calculation changes. An agent who charges 2% and delivers genuine expertise, local knowledge, negotiation skill, and operational excellence will still be worth every dollar. An agent who charges 2% and leaves the heating on will not survive the comparison.

That is good for everyone. Better-informed vendors. Better-served buyers. And agents who are forced to justify their fees with actual value instead of a script and a lockbox.

I would encourage anyone currently buying or selling property in Melbourne to try this approach at least once. The implementation is not trivial today, but it is within reach for anyone with an engineering background and a willingness to learn agentic AI patterns. The worst case: you learn how much of what agents charge for is automatable. The best case: you run a better-informed campaign than any agent would have run for you.

And your heating stays off.