From "Using" Agents to "Building" Them
Using ready-made agents like Claude Cowork or Manus is the entrance. To build an agent fitted to your work, you need to know design patterns. This article organizes 3 basic patterns: Tool Use, Sub-agent, control flow.
Pattern 1: Tool Use
Give the LLM, from outside, info it doesn't know or operations it can't do, as "tools (functions)." The AI calls and uses them itself.
Example: An AI That Answers Weather
tools: [
{
name: "get_weather",
description: "Today's weather for a specified city",
input: { city: "string" },
},
{
name: "send_slack",
description: "Send a message to Slack",
input: { channel: "string", text: "string" },
},
]
Asked "post Tokyo's weather to Slack," the AI calls in order get_weather → send_slack itself.
Design Tips
- Make tool name/description concrete so the AI understands "what for, what"
- Strictly define the input schema (JSON Schema). Vague, and the AI passes weird values
- Make failure error text readable too. The AI can recover




