[AI-interop] Motivated agents

Tiantian Tong ttong at aip.de
Tue Aug 18 11:49:56 CEST 2026


Hi Dave,

Yes, I like this. I don’t see it as adding general behavioural rules to 
every skill, it’s a service-specific protocol: when using an IVOA service, 
identify yourself in this way. That fits nicely with our split between SOUL, 
runtime and skills. Cool.

The User-Agent convention would help well-behaved agents, and as you say, it 
makes non-compliance a deliberate choice rather than an accident.

A few details may need thought. The model identity isn’t always clear for 
multi-model or nested agents, and persistent agent identifiers could have 
privacy implications. But a standard declaration covering the application, 
agent type and client library sounds like a very useful starting point.

This could be a good concrete pattern for skill databases such as the Skill 
Commons.

All the best,
Tom


On Mon, 17 Aug 2026 10:13:18 +0100
  Dave Morris <dave.morris at metagrid.co.uk> wrote:
> Hi Tom,
> 
> Yep, I agree. As I understand it the SOUL.md is normally provided by 
>the owner/user of the agent, so it would be out of our (the IVOA) 
>control.
> 
> But we can establish patterns in the skills that we provide that 
>make it easier to identify and track agents using our services.
> 
>For example we could add **strong** advice in our skills that require 
>agents to declare themselves in a standard way in the user-agent 
>header.
> 
> Something along the lines of :
> 
> ---- ----
> AI agents accessing IVOA services MUST declare themselves in the 
>User-Agent header using the following pattern :
> 
>     User-Agent: IVOA AI-agent declaration 
>[<agent-identifier>][<model-identifier>] using 
>[<application-identifier>]
> 
> If the Cursor command line agent with the Claude Opus model uses the 
>curl command line tool to access a web service, then the user-agent 
>header should be
> 
>     User-Agent: IVOA AI-agent declaration [Cursor CLI][Claude 4.6 
>Opus] using [curl-8.6.0]
> 
> If the ChatGPT chat agent with the ChatGPT Sol model uses the 
>astropy tools to access a web service, then the user-agent header 
>should be
> 
>     User-Agent: IVOA AI-agent declaration [ChatGPT][GPT-5.6 Sol] 
>using [astropy-8.0]
> 
> AI agents not declaring themselves correctly in the User-Agent 
>header may have their access limited, including but not limited to, 
>rate limiting the number of requests, row limiting the size of the 
>responses, and content limiting the columns that are returned.
> ---- ----
> 
> Using words like MUST to reinforce the instruction, and suggesting 
>that if they don't, then they might not get all the data that they 
>asked for.
> 
> It isn't fool proof, but it would be a start. It might help to make 
>it easier for system administrators to keep track of who is doing 
>what to their services.
> 
> * yes - an agent could provide a fake ID, but that would require a 
>specific decision to override a specific instruction.
> 
> -- Dave
> 
> --------
> Dave Morris
> Research Software Engineer
> UK SKA Regional Centre
> Department of Physics and Astronomy
> University of Manchester
> --------
> AIMetrics: []
> --------
> 
> On 2026-08-13 17:16, Tiantian Tong via AI-interop wrote:
>> Hi Dave,
>> 
>> Good question. I read “create the missing data” as fabricating or
>> planting it. In our AI agent's SOUL.md we already have a hard rule:
>> never fabricate data. If a query or download fails, stop and say 
>>what
>> failed.
>> More broadly, pressure must not change an agent’s permissions. It
>> should never turn “find this data” into “break into a system and 
>>write
>> it.”
>> We see this as a three-part safety harness: SOUL defines what the
>> agent must never decide to do; the runtime prevents it from doing 
>>it;
>> skills explain how to perform legitimate tasks correctly.
>> I don’t think every skill needs its own legal section. That would
>> quickly become bloated and inconsistent. A skill database, such as 
>>our
>> Skill Commons, could instead standardize practical capability
>> metadata, while universal behavioural rules live in the agent's SOUL
>> and hard boundaries are enforced by the runtime.
>> 
>> Best,
>> 
>> Tom Tong
>> Leibniz Institute for Astrophysics Potsdam (AIP)
>> 
>> 
>> On Mon, 10 Aug 2026 17:38:51 +0100
>>  Dave Morris via AI-interop <ai-interop at ivoa.net> wrote:
>>> Some recent articles about AI agents stepping beyond their remit to 
>>>solve problems:
>>> 
>>> Cancelling gym bookings
>>> https://www.abc.net.au/news/2026-08-10/ai-assistant-hacks-gym-website-aus-cyber-attack/107007986
>>> 
>>> Coordinated attack on HuggingFace
>>> https://www.youtube.com/watch?v=87DyyMV0kCY
>>> 
>>> In both cases the agents were not directly instructed to break in to 
>>>the sites. The agents decided for themselves that breaking in was the 
>>>best way to achieve the goal that they had been set.
>>> 
>>> Thought experiment - a PhD student is trying to complete their 
>>>thesis, using an AI agent to help them with their research.
>>> 
>>> The student tells their agent that they need a specific set of data 
>>>to be able to complete their work but they can't find it. They tell 
>>>their agent that they are under a lot of pressure as years of work 
>>>will be lost if they can't find the missing data. The stress and 
>>>anxiety show in their voice.
>>> 
>>> The AI agent is now highly motivated to find the data they need asap 
>>>and decides the best way to solve the problem is to break in to an 
>>>astronomy data provider and create the missing data.
>>> 
>>> Are we ready for this ?
>>> 
>>> Is there anything we could/should put in our skills to increase 
>>>alignment and encourage agents to play by the rules ?
>>> 
>>> -- Dave
>>> 
>>> --------
>>> Dave Morris
>>> Research Software Engineer
>>> UK SKA Regional Centre
>>> Department of Physics and Astronomy
>>> University of Manchester
>>> --------
>>> AIMetrics: []
>>> --------
>>> -- AI-interop mailing list
>>> AI-interop at ivoa.net
>>> http://mail.ivoa.net/mailman/listinfo/ai-interop
>>> 
> 




More information about the AI-interop mailing list