Osy#betaRun it on Osyrin: osyrin.com

Reference

Agent

82 pages.

A parcel that never came — a case owned until it is right, closed, and opened again

A tea shop's customer reports that her order has not arrived. The shop opens an assignment: a piece of work it owns until she has her tea or her…

A press is repaired — three weeks, a supplier outside, an order refused, and a repair that did not hold

A workshop repairs a customer's press. An agent in charge has three specialists read the fault log, the service history and the manual; the customer…

A skill — a typed job an agent can be given, its check and its tools (Agents kit)

A skill is a class: what goes in, what comes back, and the app's own functions the agent may use to get there. The model is held to the result type's…

A supplier is qualified — five days, four agents, one that failed, and a three-day wait

A tool maker qualifies a new supplier of castings. Four agents do the reading steps of a fixed process. One of them fails twice and a person does its…

A supplier shuts down — three regions, one stock, a plan refused by the stock, and a plan made again

A pump maker's supplier of housings shuts down. The response is one job with a job under it for each sales region. An agent in charge has the stock…

Agents (a class with a job, its own account, a budget and a record)

An agent is a class of the `Osysharp.Agents` kit: a purpose, the skills it holds and what it may spend. A skill is a typed job whose tools are your…

Agents in an Osy# app — what they are, in plain words

An app written in Osy# can have AI agents that people can trust with real work. An agent is a part of the app with a job, an account of its own and a…

Agents in business processes — an agent's work as a step of a workflow, told on the run (Agents.Processes kit)

An agent's work is a step of a business process by being called from the process's workflow: an awaited call in a state's body that answers the…

An agent asks a person, and waits — the person rung of the ladder of help (Agents kit)

An agent that says so may put one focused question to a person: the model chooses to (a tool it is offered), or work that is stuck does before it…

An agent hands work on to other agents — at once, typed, and never with more than it holds (Agents kit)

An agent's class may name work it hands on: skills of other agents, or of its own done apart. Its model is offered each as a tool whose input is what…

An agent's proposals and questions in a person's inbox, and an inbox item in an agent's hands (Agents.HumanRequests kit)

With the Agents kit and the HumanRequests kit both in an app, this bridge is there: what an agent proposes is an approval request in the inbox of the…

Asking for help — an agent that consults a more capable model (Agents kit)

An agent can name one of the app's models to consult. The model doing the work may then ask it one focused question; work that keeps failing asks…

Assignments — a piece of work owned until its outcome is reached (Assignments kit)

An assignment of the `Osysharp.Assignments` kit says who asked, the outcome wanted and what must be true for it to be done. Agent runs, processes…

Building with agents — the developer's guide

Where a developer starts with agents in an Osy# app. Decide what you are building, read the smallest working app for that shape, see which kit gives…

Choosing — I want X, so use Y, not Z, because

Seven tables for the choices that come up in every app with agents in it: an agent or a plain model call or a workflow step; alone, propose, or a…

Correct this, and an agent's Instructions page — the screens people teach an agent on (Agents.Teaching kit)

Osysharp.Agents.Teaching draws the two places people teach an agent. WorkTeaching(task) goes on the page of one piece of work: what it handed back…

Correcting an agent, and what it is told from then on — corrections, instructions, instruction sets and rollback (Agents kit)

An agent gets better through people. Somebody who sees a piece of its work corrects it — what was wrong, what right looks like, why — on that exact…

Deciding what to build — four shapes of app with agents in it

Start from what the app is for, not from the kits. There are four shapes: an assistant for one person, work done for people with approvals, agents…

Giving an agent work — Do, Ask, Stream, For and Decide (Agents kit)

`Do` gives an agent a typed job and answers an `AgentOutcome<TOut>`: the checked result, how it ended, what it cost and the id of its receipt. `Ask`…

Glossary — the words the Agents guide uses

Every term the guide uses, in a sentence or two of plain words, each with a link to the page that explains it in full: agent, skill, tool, account…

Guards and trying again — the app's own checks on an agent's work, and what happens when work fails (Agents kit)

A guard is a class of the app's that is asked at four points of every piece of an agent's work — before a request leaves for a model, after the model…

Model spend — budgets, the meter and the price book (Llm kit)

The Llm kit keeps three things about what model calls cost. The METER: one `ModelCall` row for every attempt, with the model, the router's reason…

One piece of work, followed end to end

One piece of an agent's work followed through every kit it touches: it is given, runs as the agent's account for a person, calls a tool, proposes…

Osysharp.Agents — an agent given a real job inside an app, and trusted with it

`Osysharp.Agents` is the core: an agent is a class with an account of its own, a skill is a typed job whose tools are the app's own functions, and…

Osysharp.Agents.HumanRequests — an agent's proposals and questions, in the inbox of the person they are for

`Osysharp.Agents.HumanRequests` is the bridge between agents and requests: what an agent proposes becomes an approval in a person's inbox, what it…

Osysharp.Agents.Inspector — one piece of an agent's work, readable by a person who was not there

`Osysharp.Agents.Inspector` draws one page for one piece of work: who asked and for whom, as which account it ran, what it was given and handed back…

Osysharp.Agents.Management — the place a person runs an app's agents from

`Osysharp.Agents.Management` is eight screens under one path: every agent with who answers for it; one agent; all the work; one piece of work…

Osysharp.Agents.Processes — an agent's work as a step of a business process, seen from both sides

`Osysharp.Agents.Processes` is the bridge between agents and processes: each piece of an agent's work given in a run is told on that run, and the…

Osysharp.Agents.Teaching — the two screens people teach an agent on

`Osysharp.Agents.Teaching` draws "Correct this" on a piece of an agent's work, and an agent's Instructions page: what is waiting to be read, what is…

Osysharp.Agents.Testing — testing an agent without a model

`Osysharp.Agents.Testing` scripts what the model answers, turn by turn, and reads back what the agent then did. Only the model is scripted: the loop…

Osysharp.Assignments — a piece of work somebody asked for, owned until its outcome is reached

`Osysharp.Assignments` keeps a piece of work that somebody asked for: who asked, the outcome wanted, and what must be true for it to be done. It…

Osysharp.Assignments.Agents — an agent's work, attached to the assignment it is for

`Osysharp.Assignments.Agents` is the bridge between assignments and agents: `AssignedWork.Do` is the ordinary call that gives an agent work, with the…

Osysharp.Assignments.WorkQueues — what an assignment asks of people, in their inboxes and on the assignment

`Osysharp.Assignments.WorkQueues` is the bridge between assignments and requests: a request put for an assignment is a piece of the assignment's work…

Osysharp.Color — colour maths for apps that let people choose colours

`Osysharp.Color` reads and writes hex colours, measures contrast the way the accessibility guidelines do, nudges a colour until text on it can be…

Osysharp.HumanRequests — something put to a person, and their answer coming back

`Osysharp.HumanRequests` puts a question, an approval of one exact thing, or a form to a person, and brings the answer back typed to whatever waits…

Osysharp.HumanRequests.Processes — what a business process asks of people, told on the process's own run

`Osysharp.HumanRequests.Processes` is the bridge between requests and processes: each request a workflow's run puts to a person — a question, an…

Osysharp.Llm — every call to a model: which one, what it may cost, what it did cost

`Osysharp.Llm` is the one road every model call in an app takes: the app's router picks the model, room is reserved against every budget the call…

Osysharp.LlmRouter — the cheapest model that is good enough for each kind of work

`Osysharp.LlmRouter` is a routing policy for an app with more than one model: filters by what a model can do, a quality floor for each kind of work…

Osysharp.Models.Anthropic — Anthropic's models as a provider

`Osysharp.Models.Anthropic` is the class that talks to Anthropic's Messages API. Name it on the models it serves and every call to those models goes…

Osysharp.Models.Gemini — Google's Gemini models as a provider

`Osysharp.Models.Gemini` is the class that talks to Google's Gemini API. Name it on the models it serves and every call to those models goes through…

Osysharp.Models.OpenAi — OpenAI's models, and anything that speaks the same wire, as a provider

`Osysharp.Models.OpenAi` is the class that talks to OpenAI's Chat Completions API — and to any endpoint that speaks the same wire: a gateway of your…

Osysharp.Privacy — what the app holds about a person, and what their request does to it

`Osysharp.Privacy` answers a person who asks what an app holds about them, asks for a copy, or asks to be erased. Each kit that holds personal data…

Osysharp.Privacy.Agents — what agents did for a person and about a person, under that person's request

`Osysharp.Privacy.Agents` makes every piece of agent work part of what a person can see, have kept out of use, or have erased — and keeps none of it…

Osysharp.Privacy.Agents.HumanRequests — who handed an inbox item to an agent, under that person's request

`Osysharp.Privacy.Agents.HumanRequests` covers the handovers a person made — an inbox item given to an AI agent — under their privacy request: in…

Osysharp.Privacy.Assignments — the people in an assignment, under their privacy requests

`Osysharp.Privacy.Assignments` covers the people *on* an assignment and the person an assignment is *about*: each can see what is held, have it kept…

Osysharp.Privacy.HumanRequests — what was asked of a person, under that person's request

`Osysharp.Privacy.HumanRequests` makes the requests put to a person — and the ones the app marks as about them — part of what they can see, have kept…

Osysharp.Privacy.Llm — the model calls made for a person, under that person's request

`Osysharp.Privacy.Llm` makes the model meter part of a person's privacy request. The meter keeps no text, so what is personal is small: that a person…

Osysharp.Privacy.WorkRepositories — what a piece of work knows about a person, each kind for its own time

`Osysharp.Privacy.WorkRepositories` covers the items of an assignment's repository that are about a person: an application, what each interviewer…

Osysharp.Processes — every run of a business process, findable and readable

`Osysharp.Processes` lists the runs of an app's business processes, draws where each one is, and tells what happened to it in order — for somebody…

Osysharp.Shop.Agents — a description writer on the shop's desk

`Osysharp.Shop.Agents` is the bridge between the shop and agents: a description writer that drafts a product's description from its details when…

Osysharp.WorkQueues — the inbox: queues, who holds what, and the time promised on it

`Osysharp.WorkQueues` is the inbox of an app: named queues, who holds each item, how it is handed on, and the service levels promised on it — over…

Osysharp.WorkRepositories — what an assignment knows, kept as items

`Osysharp.WorkRepositories` keeps an assignment's evidence, correspondence, findings, documents and decisions as items. An item is never overwritten:…

Osysharp.WorkRepositories.Agents — what an agent finds, kept as items and not as lines of a log

`Osysharp.WorkRepositories.Agents` is the bridge between work repositories and agents: tools with which an agent records evidence, findings and…

Privacy for the agent family — agents, the model meter, assignments and work repositories under a person's request

An app that uses `Osysharp.Privacy` beside the agent kits gets a holder for each without writing one: `Osysharp.Privacy.Agents` (what an agent was…

Requests to people — a question, an approval, a form, and the answer coming back (HumanRequests kit)

The `Osysharp.HumanRequests` kit puts something to a person — a question with the options it may be answered with, an approval of one exact version…

Shape 1 — an assistant for one person

The smallest app with an agent in it: one agent, one typed job, two tools, working for whoever is signed in. It takes two kits, `Osysharp.Llm` and…

Shape 2 — work done for people, with approvals

The agent may do some things alone and must propose the rest. A proposal lands in a person's inbox as an approval showing the exact call, why, and…

Shape 3 — agents inside a business process

A business process is a workflow, and an agent's work is one of its steps: an ordinary awaited call that answers the skill's typed result. The…

Shape 4 — a team of agents with a coordinator

One agent is in charge of a job and hands typed pieces of it to specialists, several at once. Each piece is a piece of work of its own, with its own…

Somebody is hired — four applications, one read by hand, a candidate who withdraws and is erased, and an offer refused

A consultancy fills a role. An agent in charge asks the hiring manager what her request leaves open, has each application read by a second agent, and…

Testing an agent without a model — Says, AgentScript and Trajectory (Agents.Testing kit)

`Osysharp.Agents.Testing` scripts what the model answers, turn by turn, and reads back what the agent then did. Only the model is scripted: the loop…

Testing model calls without a model — ScriptedModel (Llm kit)

The Llm kit ships a provider whose answers a test writes. Name a `ScriptedModel` where a real provider would go, and answer for it with…

The Llm kit — call a model, and know what each call cost

`Osysharp.Llm` is the road every model call takes, written in Osy#: the operator's AI switch, the app's router, a reservation against every budget…

The inspector — one piece of an agent's work, readable by a person who was not there (Agents.Inspector kit)

Osysharp.Agents.Inspector draws one page for one piece of an agent's work: what it was and how it ended; who gave it, who it was for and as which…

The management screens — where a person runs an app's agents (Agents.Management kit)

Osysharp.Agents.Management draws the place a person runs an app's agents from, eight screens under one path. Agents: every agent with who answers for…

The map of the kits — which sits on which, and what each one is for

The agents family is 29 kits. Two are under everything: `Osysharp.Llm` for every model call and `Osysharp.Agents` for agents themselves. Five more…

The receipt and the record — what every piece of an agent's work leaves (Agents kit)

Every piece of work leaves one receipt, `AgentTask` — who asked, the account it ran as, what it cost against its limit, how it ended — and a record…

The six decisions — what you say about an agent, and what holds if you say nothing

Every app with an agent in it decides six things: who the agent acts as and for whom; what it may do alone, proposes, and never does; what it costs…

Two suppliers for a bakery group — a week's wait, an outsider's answer, and one agent directing three

A bakery group's purchasing office takes on a flour mill and qualifies a dairy. The mill's own contact fills in a form through a link, with no…

Typed answers from a model — Llm.Extract<T> and Llm.Decide<T> (Llm kit)

Two calls of the Llm kit that answer a VALUE instead of text. `Llm.Extract<T>` reads a `T` out of text: the model is sent `T`'s own JSON Schema and…

What a person sees — the screens of an app with agents in it

The screens people meet in an app with agents: an approval in their inbox, a question from an agent, a business process told step by step, one page…

What an agent does alone, what it proposes, what it never does — the gate and proposals (Agents kit)

An agent's class says what it may do alone, what it must propose to a person first, and what it never does — by what a tool DOES (changes data…

What an agent may spend — a hard limit on every piece of work (Agents kit)

Every piece of work has a limit in dollars — the skill's `Budget`, else the agent's `Limits.PerTask`, else the app's `TaskBudget` — and room is…

What an assignment asks of people — requests as an assignment's work and as inbox items (Assignments.WorkQueues kit)

With the Assignments kit and the HumanRequests kit both in an app, a request put for an assignment is a piece of the assignment's work — who the next…

What release 1 does not include

The plain list of what the first release of agents in Osy# does not do: no starter app, no editing of limits on a screen, no screens that update by…

What several assignments compete for — shared pools, claims, and what happens when there is less than was thought (Assignments.Allocations kit)

Assignments opened under one outcome often draw on the same thing — the stock in one warehouse, a line's hours, a sum of money. A shared pool says…

What stays under people's control — ten promises, and where each is shown

Ten things that hold for every agent in an Osy# app: it does alone only what the app says; it never does for a person what that person may not do; a…

What you can build — four kinds of app with agents in it

Four kinds of thing can be built with agents in an Osy# app, from small to large: an assistant for one person; work done for people, with approvals…

Who is in charge of an app's agents — every policy in one table, pausing, sponsoring, and trying work again

One table of who may do what with an app's agents. An app answers UsesAgents and SupervisesAgents; supervising brings four things with it — naming an…

Work repositories — what an assignment knows, kept as items (WorkRepositories kit)

The `Osysharp.WorkRepositories` kit keeps an assignment's evidence, correspondence, findings, documents, proposals and decisions as items. An item is…

Writing an agent — a class with a purpose, skills and an account of its own (Agents kit)

An agent is a class of the `Osysharp.Agents` kit: what it is for, the skills it holds, what it may spend. It runs as an account of its own that holds…

turning AI off (the runtime switch)

An operator can switch an application's AI off while it runs — no recompile, no redeploy. Text generation and embedding are two independent switches…