Skip to content

docs: clarify how tools work in Atomic Agents (no tools=[...] parameter) and add a dedicated guide #230

@KennyVaneetvelde

Description

@KennyVaneetvelde

Came up again in Discord — beginners coming from frameworks like LangChain/CrewAI/PydanticAI expect to be able to do something like agent = Agent(tools=[calculator]) and are confused when they can't find that in Atomic Agents. The current docs don't explicitly call out that:

  • There is no tools=[...] parameter, and that's intentional.
  • Tools are just atomic components with an input & output schema, and YOU decide when to call them.
  • There are basically two ways to use them in practice:
    1. Call directly when you already know which tool you need at that point in the flow (deterministic, fast, cheap, debuggable).
    2. Use a "choice/decision agent" whose output_schema is a Union of possible tool input schemas — match on the type and run the corresponding tool.
  • The deep-research example (deep_research/agents/choice_agent.py) is a real reference for pattern unexpected character after line continuation characte #2.

Action items:

  • Add a dedicated "Using Tools" guide explaining both patterns with code snippets.
  • Cross-link from the orchestration guide and the README.
  • Mention the philosophy upfront so people coming from other frameworks know what to expect (and why).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions