Agent demos look great, but what should you add first?

Let’s say you are building a customer-support agent. Role-based agents may split research and responses, it may look up order details in a browser, and it may remember customer preferences for the next conversation. All of these look useful in a demo, but adding them at once makes it hard to find where a failure occurred.

The Gemini 3 examples introduced by Google also include six cases: ADK, Agno, Browser Use, Eigent, Letta, and mem0. They are not a comparison table where performance is measured on the same task under the same conditions. Each case has different work and components.

Look at where the work first stops, rather than the framework name. Reading them through three axes—orchestration that splits and combines results, actions that work on web screens, and memory that carries state into the next run—makes the scope of a first validation clearer.

The three layers are a failure-diagnosis chart, not product categories

Orchestration, action, and memory are not an official product taxonomy from Google; they are diagnostic axes for bringing the six cases into practice. A single tool may span more than one axis. The ADK case combines specialist agents with Google Search, Maps, and code execution, while Agno combines memory, knowledge, and tools with multi-agent systems. Eigent also coordinates several specialist agents while performing Salesforce tasks in a browser.

First observed failureAxis to inspect firstMinimum validation
Research, calculation, and writing results do not line upOrchestrationDefine only two roles and one result handoff format
Stops during screen tasks such as input or uploadActionOperate only one test form you control
Forgets user conditions in the next conversationMemoryStore one non-sensitive item and retrieve it in a new conversation

If the most recent failure happened while combining results, first reduce the number of agents and handoff formats. If it happened during screen manipulation, reproduce the action flow before adding a memory store. These three axes are not a full architecture that replaces security, evaluation, observability, or access control; they are a tool for choosing where to begin a first experiment.

The Browser Use example is not a tutorial to run as-is

The Browser Use case enters structured applicant information and a PDF into a web form, submits the application, and checks whether it succeeded. It shows how field identification, JSON value mapping, file upload, and multi-step form handling are tied together in the action layer.

However, you should not assume it is a safe sandbox just because the repository description says “mock application form.” The current main.py navigates to a fixed external Appcast URL, and its task instructions say to decide missing options, click the submit button, and verify the success screen.

Do not run this example as-is with real personal information.

It is safer to treat the current repository only as material for reading the code structure that maps JSON to screen fields and uploads a PDF. If you need to validate execution, change the target URL to a local or test form you manage, remove instructions to submit externally, and stop once the input values and attachment are displayed correctly.

Even when you need memory, Letta and mem0 start in different places

The Letta case is closer to managing long-lived personas and per-user relationship state. The public Letta repository includes Core, Recall, and Archival memory, as well as dynamic memory blocks for each user; running the repository requires Letta and Bluesky configuration.

mem0 MCP exposes memory operations such as add_memory, search_memories, get_memory, update_memory, and delete_memory as tools that existing AI clients can call. There are no results comparing the two products under identical conditions, but you can narrow the first candidate by the shape of state you need.

The selection question should be more specific than “Do I need memory?”

If you want to connect storable, searchable memory tools to an existing client, first check the mem0 round trip. If an agent must continuously manage a persona and per-user relationship state, the memory structure in the Letta case is a closer starting point.

Keep the first run to storing, retrieving, and deleting one memory

If you want to confirm a successful connection without causing actions on an external site, a Mem0 MCP memory round trip is a small first exercise. Prepare a Mem0 Platform account, an MCP-compatible client, and non-sensitive test information that can be deleted. Node.js 18 or later is needed only when you choose the quick setup path using npx mcp-add; requirements may differ if you use your client’s manual setup path.

  1. Choose the setup path for the client you use from the official documentation.
    In clients that support npx, register the Mem0 MCP server address https://mcp.mem0.ai/mcp with mcp-add. If you use Claude Desktop, you can choose the manual path and add the same address under Settings > Connectors > Add custom connector.
  2. Save the configuration and restart the client.
    Fully restart the app so the new server is applied. If browser authentication opens on the first tool call, approve access for the Mem0 account you will use. If the client requires an API-key method, connect it in the official format and do not put the key in code or files you will commit.
  3. Confirm that memory tools are exposed.
    Find Mem0’s memory-add and search tools in the client’s MCP or tool list. If the tools are not visible, check the server address and whether the client was restarted first.
  4. Store one preference that can be deleted.
    As example input, ask: “Remember that I prefer TypeScript over JavaScript for example code in new projects.” This is only an example for checking the connection; do not use real personal information or production secrets. Check that add_memory ran in the call history, and record the returned memory_id or the saved item in the Mem0 dashboard.
  5. Find the stored information again in a new conversation.
    Open a new conversation or use a session with reset context so it cannot answer based only on the current conversation, then ask: “What language do I prefer for new projects?” Check that search_memories or get_memory ran in the call history, and verify that the returned memory_id or saved content matches the item from the previous step and is reflected in the answer.
  6. Delete the test memory.
    Use the confirmed memory_id to delete it with delete_memory, then confirm that it has also disappeared from the dashboard.

The success criterion is not that the answer happens to guess TypeScript. You need to confirm Mem0 tool exposure, account authentication, the add_memory call and saved item, a search_memories or get_memory call in a new conversation, matching returned memory_id or saved content, reflection in the answer, and final deletion. This round trip validates connection state only; it does not prove user identification, access permissions, retention periods, or deletion policies for a real service.

Recheck example model names against the current guide

The Browser Use and Letta examples still contain gemini-3-pro-preview, but as of September 7, 2026, the GA quick-start model in the latest official model guide is gemini-3.8-flash. That does not mean the repository will run if you only replace the model string.

The latest guide’s migration section includes removing legacy sampling parameters, moving to thinking_level, using previous_interaction_id, and checking function-calling formats. Before applying it, confirm that your selected framework’s provider supports gemini-3.8-flash and the relevant API approach, and check input formats and tool-call handling as well. This research material does not establish the current support status of Browser Use or Letta.

If you want to dig deeper

Real-World Agent Examples with Gemini 3 is a starting point for seeing what work and components the six cases address together. developers.googleblog.com

Mem0 MCP covers client-specific connections, authentication, memory storage, search and deletion, and dashboard verification. docs.mem0.ai

Application Submission Demo shows the actual scope of code from JSON mapping and PDF upload through external submission. github.com

What's new in Gemini 3.8 Flash is the official guide covering the current quick-start model and API changes to check during migration. ai.google.dev