DEV Community

stockage-courtage.fr
stockage-courtage.fr

Posted on

From Manual API to AI Agent: Automating High-Stakes Art Storage Brokerage

Art from Alexandre Bagrat

The process for finding high-security storage for a valuable art collection is like a terrible, undocumented, human-rate-limited API. You send a "request" (an email), wait an unpredictable amount of time for a "response," and the "data" you get back is unstructured and inconsistent.

As developers, we saw this as a classic automation problem waiting for a modern solution. We decided to replace this broken, manual workflow with an AI agent.

The Problem: A High-Friction, Opaque System
Finding a vault for a multi-million dollar asset involves:

Fragmented Data: Specs on climate control, security certifications (like TAPA), and insurance are spread across dozens of unstructured PDFs and websites.

Complex Logic: The requirements for a classic car (space, fire suppression) are completely different from a 17th-century painting (humidity, temperature stability). This requires complex, domain-specific logic.

Slow, Synchronous "API Calls": The "call" is a human broker contacting their network. The "latency" can be weeks.

Our Solution: Building an AI Brokerage Agent
We're building an AI agent that acts as an orchestrator, using a Large Language Model (LLM) as its reasoning engine to interact with a set of purpose-built tools (or "actions").

The architecture is simple but powerful:

Natural Language Interface: The user specifies their needs in plain language (e.g., "I need to store two large canvases in a freeport near Zurich").

LLM as an Orchestrator: The agent parses this request and identifies the necessary parameters (asset_type: 'art', location: 'Zurich', zone: 'freeport').

Tool Use (API Calls): The agent then calls our internal APIs to get the job done. The most critical tool is our curated database of storage facilities.

The "Find a Vault" Tool
The core of our system is a structured database of vetted storage partners. The agent calls a simple API endpoint to query it.

Here’s a simplified look at the logic we're building, which our agent calls (Python):

# This is the backend logic our agent calls via an API
def find_compatible_storage(asset_type: str, location: str, security_tier: int):
    """
    Filters our partner database for compatible storage solutions.
    """
    results = []
    # Query our structured database (e.g., PostgreSQL or Firestore)
    for facility in db.facilities.find({"location": location}):
        if facility.security_tier >= security_tier:
            # Apply specific logic based on asset type
            if asset_type == 'ART' and facility.has_climate_control:
                results.append(facility)
            elif asset_type == 'VEHICLE' and facility.has_vehicle_access:
                results.append(facility)

    # Returns a clean JSON object for the agent to interpret
    return results
Enter fullscreen mode Exit fullscreen mode

The LLM takes the JSON response from this tool and translates it back into a human-readable recommendation for the client, explaining why each option is a good fit.

The Real Challenge: Structured Data
The biggest hurdle wasn't the AI; it was building the clean, structured, and reliable dataset for our agent to use. An AI agent is only as good as its tools and the data they can access.

We're effectively creating the standardized API for the high-value storage industry that never existed.

This project is a fascinating intersection of AI, data structuring, and solving a real-world problem in a niche, high-stakes market.

We wrote a bit more about the business and market context behind why we're building this. Check it out if you're interested!

https://www.stockage-courtage.fr/stockage-oeuvres-art

Top comments (0)