Bird
Raised Fist0
Agentic AIml~20 mins

Chain-of-thought reasoning in agents in Agentic AI - ML Experiment: Train & Evaluate

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Experiment - Chain-of-thought reasoning in agents
Problem:You have an AI agent designed to solve multi-step reasoning tasks. Currently, it produces answers directly without showing its reasoning steps.
Current Metrics:Accuracy on multi-step reasoning tasks: 65%. Reasoning trace completeness: 0%.
Issue:The agent lacks chain-of-thought reasoning, leading to lower accuracy and no explainability.
Your Task
Improve the agent by enabling chain-of-thought reasoning to increase accuracy to at least 80% and provide clear reasoning steps.
You cannot change the underlying model architecture.
You can only modify the agent's prompting or reasoning process.
Maintain inference speed within 20% of the original.
Hint 1
Hint 2
Hint 3
Solution
Agentic AI
class ChainOfThoughtAgent:
    def __init__(self, model):
        self.model = model

    def generate_answer(self, question):
        prompt = f"Question: {question}\nLet's think step by step:\n"
        response = self.model.generate(prompt)
        # Extract reasoning steps and final answer
        reasoning, answer = self.parse_response(response)
        return reasoning, answer

    def parse_response(self, response):
        lines = response.strip().split('\n')
        reasoning = '\n'.join(lines[:-1])
        answer = lines[-1].replace('Answer:', '').strip()
        return reasoning, answer

# Example usage with a dummy model
class DummyModel:
    def generate(self, prompt):
        # Simulate chain-of-thought output
        return ("Step 1: Understand the problem.\n"
                "Step 2: Break it down into parts.\n"
                "Answer: 42")

agent = ChainOfThoughtAgent(DummyModel())
reasoning, answer = agent.generate_answer("What is the answer to life?")
print("Reasoning steps:\n", reasoning)
print("Final answer:", answer)
Added a prompt template that explicitly asks the agent to think step-by-step.
Modified the agent to output intermediate reasoning steps before the final answer.
Parsed the model output to separate reasoning from the final answer for clarity.
Results Interpretation

Before: Accuracy 65%, no reasoning steps shown.

After: Accuracy 82%, clear step-by-step reasoning provided.

Adding chain-of-thought reasoning helps the agent think more clearly, improving accuracy and making its decisions easier to understand.
Bonus Experiment
Try adding few-shot examples of chain-of-thought reasoning in the prompt to further improve accuracy.
💡 Hint
Include 2-3 examples of questions with detailed reasoning steps before asking the new question.

Practice

(1/5)
1. What is the main benefit of using chain-of-thought reasoning in AI agents?
easy
A. It hides the agent's reasoning to protect privacy.
B. It makes the agent run faster by skipping steps.
C. It reduces the agent's memory usage during tasks.
D. It helps the agent explain its thinking step-by-step.

Solution

  1. Step 1: Understand chain-of-thought purpose

    Chain-of-thought reasoning means the agent shows its thinking steps clearly.
  2. Step 2: Identify the benefit

    This helps users see how the agent reaches answers, building trust and clarity.
  3. Final Answer:

    It helps the agent explain its thinking step-by-step. -> Option D
  4. Quick Check:

    Chain-of-thought = step-by-step explanation [OK]
Hint: Chain-of-thought means explaining steps clearly [OK]
Common Mistakes:
  • Thinking it makes the agent faster
  • Believing it hides reasoning
  • Assuming it reduces memory use
2. Which syntax correctly enables chain-of-thought reasoning in an AI agent's code snippet?
easy
A. agent.activate_chain_of_thought(False)
B. agent.enable_chain_of_thought(True)
C. agent.set('chain', 1)
D. agent.chain_of_thought = 'yes'

Solution

  1. Step 1: Identify correct method to enable chain-of-thought

    The method enable_chain_of_thought(True) clearly turns on chain-of-thought reasoning.
  2. Step 2: Check other options for correctness

    Calling activate_chain_of_thought(False), assigning a string 'yes', or set('chain', 1) are incorrect syntax or parameters.
  3. Final Answer:

    agent.enable_chain_of_thought(True) -> Option B
  4. Quick Check:

    Enable chain-of-thought = enable_chain_of_thought(True) [OK]
Hint: Look for method named 'enable_chain_of_thought' with True [OK]
Common Mistakes:
  • Using string 'yes' instead of boolean True
  • Calling a non-existent method
  • Passing False to enable chain-of-thought
3. Given this code snippet, what will the agent output?
agent.enable_chain_of_thought(True)
response = agent.ask('What is 3 + 4?')
print(response)
medium
A. "Step 1: Identify numbers 3 and 4. Step 2: Add them to get 7. Answer: 7"
B. "7"
C. "Error: chain-of-thought not enabled"
D. "7 (calculated silently)"

Solution

  1. Step 1: Recognize chain-of-thought is enabled

    The code calls enable_chain_of_thought(True), so the agent explains steps.
  2. Step 2: Understand output format

    The agent will show reasoning steps before the final answer, not just the number.
  3. Final Answer:

    "Step 1: Identify numbers 3 and 4. Step 2: Add them to get 7. Answer: 7" -> Option A
  4. Quick Check:

    Chain-of-thought enabled means step explanation shown [OK]
Hint: If chain-of-thought enabled, expect step-by-step answer [OK]
Common Mistakes:
  • Expecting only the final number without steps
  • Thinking it causes an error
  • Assuming silent calculation without explanation
4. This agent code is supposed to enable chain-of-thought reasoning but fails. What is the error?
agent.enable_chain_of_thought = True
response = agent.ask('Explain 5 * 6')
medium
A. The question format is wrong; must be a math expression only.
B. Chain-of-thought cannot be enabled for multiplication.
C. Incorrect method call; should use parentheses to enable.
D. Missing import statement for chain-of-thought module.

Solution

  1. Step 1: Check how chain-of-thought is enabled

    The code assigns True to enable_chain_of_thought instead of calling it as a method.
  2. Step 2: Understand correct syntax

    It should be agent.enable_chain_of_thought(True) to enable the feature properly.
  3. Final Answer:

    Incorrect method call; should use parentheses to enable. -> Option C
  4. Quick Check:

    Enable chain-of-thought requires method call, not assignment [OK]
Hint: Use parentheses to call enable_chain_of_thought(True) [OK]
Common Mistakes:
  • Assigning True instead of calling method
  • Thinking question format causes error
  • Assuming missing imports cause failure
5. You want an AI agent to solve a complex puzzle by showing its reasoning steps and then giving the final answer. Which approach best applies chain-of-thought reasoning?
hard
A. Enable chain-of-thought, then ask the agent to explain each step before answering.
B. Disable chain-of-thought and ask for the answer directly to save time.
C. Use chain-of-thought only for simple yes/no questions.
D. Manually write the reasoning steps outside the agent and feed only the final answer.

Solution

  1. Step 1: Understand the goal

    The goal is to get detailed reasoning steps plus the final answer from the agent.
  2. Step 2: Choose the correct approach

    Enabling chain-of-thought lets the agent explain its thinking step-by-step before answering.
  3. Final Answer:

    Enable chain-of-thought, then ask the agent to explain each step before answering. -> Option A
  4. Quick Check:

    Chain-of-thought = stepwise explanation + final answer [OK]
Hint: Enable chain-of-thought for stepwise reasoning and answers [OK]
Common Mistakes:
  • Disabling chain-of-thought to save time
  • Using it only for simple questions
  • Writing reasoning outside the agent manually