Task 1 · 8 tasks

Basic agent and prompting

Build a polite concierge whose entire knowledge of the company lives in its system prompt.

15 minEasy
Alice’s ask

The “Simple Greeting” problem

Alice's first ask is modest: an assistant that can hold a professional conversation and knows what DataStream's departments do. No database yet, just good instructions.

You

Build it

  1. Build the concierge

    Challenge

    Write a system prompt and create a Strands agent that answers questions about DataStream's departments (Sales, HR, Engineering) in a helpful, professional tone.

    Work in phase1/starter/t1_basic_agent.py (look for TODO; an unfinished one prints [starter] TODO …) and run it with uv run bootcamp.py phase1 t1 --starter. The reference solution is phase1/t1_basic_agent.py; uv run bootcamp.py phase1 t1 runs it.

    Hint 1

    A Strands Agent is a model plus a system_prompt (plus tools, later). Use make_model() from common.py so calls go through the gateway. See Strands: prompts.

    Hint 2

    The prompt is the agent's only knowledge, so list each department with one line about what it does, then state the tone. common.run(agent) gives you one-shot and chat modes.

    sketchread only
    agent = Agent(name="Concierge", model=..., system_prompt="""You are ... Our departments: ...""")
    Solution
    phase1/t1_basic_agent.py
    from strands import Agent
    
    from common import SYSTEM_PROMPT, make_model, run
    
    agent = Agent(name="Concierge", model=make_model(), system_prompt=SYSTEM_PROMPT)
    
    if __name__ == "__main__":
        run(agent)

    The reference prompt is SYSTEM_PROMPT in phase1/common.py: one line per department and a request for helpful, professional answers. Your starter defines its own.

  2. Talk to it

    terminal · your starter file
    uv run bootcamp.py phase1 t1 --starter "What departments do we have?"
    terminal · reference solution
    uv run bootcamp.py phase1 t1 "What departments do we have?"

    Leave out the prompt for an interactive chat; type exit to quit.

  3. Experiments

    • Add a Finance department and a rule like “always answer in two sentences”. Re-run.
    • Ask about Marketing. The real company has it, but the prompt doesn't. Does the agent admit it doesn't know, or invent an answer? How would you prompt against that?

Check your work

Phase 1 has no automated test: you check it by running the task and looking for the result below.

Asked “What departments do we have?”, the agent lists Sales, HR and Engineering in a helpful, professional tone. Asked about the Sales team, it paraphrases the prompt.

Under the hood

Each call sends the system prompt plus the conversation so far to the model through LiteLLM. With no tools, the agent loop is a single model call. The prompt is the agent's only source of truth, which is exactly why Task 2 gives it real data.