Alternate Futures

Deploy an AI agent

This tutorial takes you from a signed-in account to one running AI agent that answers when you mention it by name in its own private chat room. It takes about ten minutes. You set no API key: the agent calls its model through the platform, billed to your organization.

An agent is a service of its own. It runs on the same runtime as a team of agents, has the same chat room and the same Discord option, and can grow into a team later without starting over. There are two ways in, and they end in the same place: the web app needs nothing installed; the CLI gives you a folder you can keep in Git.

Before you start

  • You are signed in at https://clouds.alternatefutures.ai, or you have finished the Quick start so acc is installed and logged in.
  • Your organization has credits or an active trial. A deploy is refused before anything is billed if the wallet is empty.

Path A: the web app

1. Create the agent

  1. Open a project (or create one), click Add Service, choose Template, and pick Alternate Agent at the top of Featured.
  2. Give it a name: lowercase letters, digits and hyphens, for example atlas. This is the agent's name and the service's name, and it is how you will @mention it. If another agent or team in the project already has that name, the form says so.
  3. Write one sentence under What it does, for example Answers questions about the Atlas project., and pick a model from the list. Every model on the list runs on the platform.
  4. Click Create agent. The service opens on its Source tab with version 1 already saved: one Agent card with the name fixed, the sentence and the model editable, and Edit the full persona under the sentence if one sentence is not enough. There is no shape to pick for one agent.

If the platform could not compile the first version right away, Source says why and keeps what you typed; click Save in the footer to try again.

2. Deploy

Click Deploy in the footer. A banner under the header shows each phase: checking the project, reserving capacity, delivering private files, waiting for the runtime. The Deployments tab shows the lease and lists the saved version under Version history.

3. Talk to it

On Source, under Talk to your agent:

  • Web chat shows the room link. Open it and enter the passphrase.
  • Terminal chat shows the acc chat join line for the same room.
  • Copy passphrase (top right of either row) copies the room passphrase. Revealing it is recorded in the audit log.

In the room there is one member with the agent's name. @atlas what is the Atlas project? runs the agent once and it answers in the thread; @all does the same. A message with no mention runs nothing and costs nothing, so people can talk freely.

Path B: the CLI

The agent and its team carry the same name, so @<name> in the room reaches it and the web app shows it as an agent.

acc swarms init my-agent && cd my-agent
acc create agent atlas --model openai/gpt-5.6-sol
acc create swarm atlas --shape sequential --members atlas
acc swarms deploy atlas --yes

acc create agent writes agents/atlas.toml and personas/atlas.md; edit the persona file to change what the agent follows. acc add agent asks the same things as questions (name, what it does, model) and prints the flags at the end. The deploy resolves the runtime, generates every project secret the runtime needs, and ends with the agent's room:

acc swarms room atlas                  # passphrase and join command
acc chat join chat.alternatefutures.ai # then: @atlas hello

acc swarms deploy refuses a model outside the list with SWARM_MODEL_UNSUPPORTED and names the list; the same list is on Org, Models in the web app.

Optional: let the agent answer in Discord

The room is where your agent lives. Discord is an optional second place to talk to it, and a separate conversation: nothing is mirrored between the two.

In the web app, on Source, click Connect Discord, paste the bot token and the channel id, then Connect channel. An agent always answers itself, so there is nothing to pick. From the CLI:

pbpaste | tr -d '[:space:]' | acc swarms discord connect atlas --channel <channel id> --stdin
acc swarms stop atlas && acc swarms deploy atlas --yes

The channel map reaches the agent on the next deploy, so the banner asks for a Redeploy (confirm Stop and redeploy). Under every reply in Discord a footer reads atlas · <model>: who answered and which model.

Change it, watch it, stop it

Edit the agent. On Source, change the sentence, the model or the full persona and click Save in the footer: that registers a new version. The banner then says the changes are not deployed; click Redeploy and confirm Stop and redeploy. From the CLI, edit the files, then stop and deploy:

acc swarms stop atlas && acc swarms deploy atlas --yes

Make it a team. Click Add another agent on Source. The shape picker and the agents' id inputs appear; the first agent keeps its name. From then on the service is a team: Deploy a swarm continues from there. Removing agents back to one makes it an agent again.

The name stays. An agent's name is fixed once its first version is saved, and the web app saves that version when you create it, because the room and every mention use the name. For a different name, create a new agent.

Watch it. Runs and their costs are on the service's Overview under Spend Controls, Inference, and under Billing, Usage filtered by service. From the CLI:

acc swarms logs atlas --tail 200

Stop it. Stop closes the lease and you stop paying. The agent, its versions and the room passphrase stay, so you can deploy it again later.

acc swarms stop atlas

In the web app, use the footer of the service panel.

Bring your own model key (optional). Under Org, Models in the web app, or with acc orgs providers set openai --stdin, every request of the organization uses your key at cost, still through the platform, so usage and limits keep working. That is the only place for a key: a deployed agent never calls a provider directly.

What you learned

  • An agent is one service with one name; @<name> in its room is how you ask it, and the same name works from the CLI.
  • No key is set anywhere: the model runs through the platform and is billed to your organization.
  • The name is fixed once the first version is saved; what it does, its model and its persona can change any time, followed by a redeploy.
  • Discord is optional and separate, and needs a stop-then-deploy to apply.
  • One agent can become a team on the same service.

Next steps

On this page