Skip to content
/

Start here

ConceptsChapter 1 of 142 min read

Ask a large language model a question and you get an answer back. Build an agent and you give that model a role, tools, and the authority to decide its next step.


In this course, you build a production multi-agent system in Python that reviews commercial software contracts, flags legal and financial risks, and verifies its own citations.

What you'll build#

A three-agent pipeline that reviews vendor agreements:

Drawing diagram…
InputAgentToolResultData flows between agents; dashed lines indicate tool calls.

The crew returns structured, validated data, offloads date arithmetic to tested code, and writes a verified Markdown memo.

Objectives#

By the end of this course, you will be able to:

  1. Distinguish agent architectures: Contrast single prompts, deterministic workflows, and autonomous agent loops.
  1. Evaluate use cases: Identify when an agent is necessary versus when a plain function or prompt suffices.
  1. Apply core building blocks: Implement role, focus, tools, cooperation, guardrails, and memory.
  1. Orchestrate crews: Configure multi-agent pipelines with YAML definitions and class-based decorators.
  1. Enforce structured outputs: Use Pydantic models to eliminate markdown code-fence parsing failures.
  1. Integrate custom tools: Build and unit-test deterministic Python tools to prevent LLM calculation errors.

Dependencies#

  • Python: 3.10 to 3.13 (tested on 3.13)
  • CrewAI: crewai and crewai-tools (1.15.28)
  • Pydantic: 2.12.5
  • PyYAML: 6.0.3
  • pytest: 9.1.1
  • LLM Access: OpenAI API key or local Ollama instance

All code samples are verified against these exact versions. See the Changelog for newer releases.