This page provides answers to common questions about Agent Connect and the Agent Connect Framework.

General Questions

What is Agent Connect Framework?

Agent Connect Framework (ACF) is a comprehensive framework that provides specifications, APIs, and tools for developers to seamlessly integrate AI agents with IBM watsonx Orchestrate. It enables agents built with any framework to collaborate with other agents in the watsonx ecosystem, unlocking powerful multi-agent workflows and capabilities.

How is ACF different from other agent frameworks?

ACF is not an agent framework itself, but rather a specification for how agents can communicate and collaborate. It’s designed to work with existing agent frameworks like LangChain, LangGraph, CrewAI, and others. The key difference is that ACF focuses on standardizing the communication between agents, rather than how agents are built internally.

Do I need to use IBM watsonx to use ACF?

While ACF is designed to work seamlessly with IBM watsonx Orchestrate, you can implement the ACF API endpoints in any agent and have it communicate with other agents that also implement these endpoints. However, to take full advantage of the enterprise features like governance, security, and scalability, integration with watsonx Orchestrate is recommended.

Is ACF open source?

The ACF specification is openly documented and can be implemented by anyone. Some reference implementations and tools may be provided as open source, while others may be part of IBM’s commercial offerings.

What’s the difference between ACF and Agent Connect?

The Agent Connect Framework is a foundational integration architecture designed to enable seamless connectivity between external agents and watsonx Orchestrate.

IBM Agent Connect, on the other hand, is a partner program that offers independent software vendors (ISVs) the opportunity to collaborate with IBM. The program extends the technical benefits of the framework by fostering strategic partnerships that drive business value and innovation within the watsonx Orchestrate environment.

Technical Questions

What endpoints do I need to implement to be compatible with ACF?

At a minimum, you need to implement:

  1. GET /v1/agents: The agent discovery endpoint that provides information about your agent
  2. POST /v1/chat: The chat completion endpoint that allows other agents to communicate with your agent

Does my agent need to support streaming responses?

While not strictly required, it is highly recommended that your agent supports streaming responses using Server-Sent Events (SSE). This provides a better user experience and allows other agents to see intermediate steps in your agent’s reasoning process, which can be valuable for collaboration.

How do I handle stateful conversations?

Agent Connect supports stateful conversations through the use of thread IDs. When a client sends a request to your agent, it may include an X-THREAD-ID header. Your agent should store any relevant conversation state keyed by this thread ID, and retrieve it when subsequent requests arrive with the same thread ID.

Can my agent use tools from other agents?

Yes, ACF supports tool calling between agents. Your agent can expose tools that other agents can call, and it can also call tools exposed by other agents. This is done through the standardized tool calling format in the chat completion API.

How do I handle authentication and security?

Authentication and security are typically handled at the watsonx Orchestrate level. When you register your agent with Orchestrate, you can configure authentication requirements. For direct agent-to-agent communication outside of Orchestrate, you would need to implement your own authentication mechanisms.

Implementation Questions

What programming languages can I use to implement ACF?

You can implement ACF in any programming language that can serve HTTP endpoints. The examples in our documentation use Python with FastAPI, but you could use Node.js, Java, Go, or any other language of your choice.

How do I test my ACF implementation?

You can test your implementation by:

  1. Using tools like Postman or curl to send requests to your endpoints
  2. Using the watsonx Orchestrate test tools when registering your agent
  3. Creating a simple client that implements the ACF client protocol

How do I deploy my ACF-compatible agent?

You can deploy your agent on any platform that can host web services, such as:

  • Cloud platforms (AWS, Azure, Google Cloud)
  • Container orchestration systems (Redhat OpenShift, Kubernetes, Docker Swarm)
  • Serverless platforms (AWS Lambda, Google Cloud Functions)
  • Traditional web servers

The only requirement is that your agent must be accessible via HTTPS from watsonx Orchestrate or other agents that need to communicate with it.

How do I handle errors and rate limiting?

Your agent should return appropriate HTTP status codes for different error conditions:

  • 400 Bad Request: For invalid input
  • 401 Unauthorized: For authentication failures
  • 429 Too Many Requests: For rate limiting
  • 500 Internal Server Error: For server-side errors

Include descriptive error messages in the response body to help clients understand what went wrong.

Integration with watsonx Orchestrate

How do I register my agent with watsonx Orchestrate?

To register your agent with watsonx Orchestrate:

  1. Log in to the watsonx Orchestrate dashboard
  2. Navigate to the Agent Management section
  3. Click “Add External Agent”
  4. Provide your agent’s URL and other required information
  5. Test the connection
  6. Save and activate your agent

What information does watsonx Orchestrate need about my agent?

watsonx Orchestrate needs:

  • Your agent’s base URL
  • A name and description for your agent
  • Information about your agent’s capabilities (e.g., streaming support)
  • Any authentication requirements

Can I update my agent after it’s registered?

Yes, you can update your agent’s implementation at any time. As long as you maintain the same API endpoints and functionality, watsonx Orchestrate will continue to work with your updated agent. If you need to make breaking changes, you may need to register a new version of your agent.

How does billing work for IBM Agent Connect?

Billing depends on your specific agreement with IBM. Generally, there may be costs associated with:

  • Usage of watsonx Orchestrate
  • API calls to and from your agent
  • Usage of IBM AI models through the AI Gateway

Contact your IBM representative for specific billing information.

Troubleshooting

My agent isn’t being discovered by watsonx Orchestrate

Check that:

  1. Your agent’s chat endpoint (e.g. POST /v1/chat) is accessible
  2. The endpoint returns a valid response in the expected format
  3. Your agent’s URL is correctly configured in watsonx Orchestrate
  4. There are no network issues preventing communication (make sure your endpoint is routable over the network)

My agent receives requests but watsonx Orchestrate doesn’t receive responses

Check that:

  1. Your agent’s chat completion endpoint (e.g. POST /v1/chat) is correctly implemented
  2. The endpoint returns responses in the expected format
  3. If using streaming, ensure your SSE implementation is correct
  4. Check for any timeouts or connection issues

Tool calls aren’t working correctly

Check that:

  1. Your tool call format matches the expected format
  2. Tool responses are correctly formatted
  3. Tools are properly registered and documented
  4. Your agent has permission to call your tools

My agent is slow to respond

Consider:

  1. Optimizing your agent’s implementation
  2. Using streaming to provide partial responses quickly
  3. Implementing caching for common requests
  4. Scaling your agent’s infrastructure

Getting Help

If you can’t find the answer to your question here, you can:

  1. Check the documentation for more detailed information
  2. Contact IBM Support for assistance
  3. Join the community forums to ask questions and share experiences