tools in a loop" Anthropic "AI agents are autonomous software tools that perform tasks, make decisions, and interact with their environment intelligently and rationally" Github "AI agents are software systems that use AI to pursue goals and complete tasks on behalf of users. They show reasoning, planning, and memory and have a level of autonomy to make decisions, learn, and adapt" Google "An AI agent is a software program that can interact with its environment, collect data, and use that data to perform self-directed tasks that meet predetermined goals. Humans set goals" AWS
- training :( or live search CLI tool MCP servers can act by running CLI commands API LLM tools are mostly wrappers on top of APIs LLMs can write code that calls APIs
• HTTP status for errors • Strict inputs ... but machines need a human in the loop to write the code and when something goes wrong AI agents are autonomous
Upsun projects via their API. I'm going to use GET /projects Action: Call GET /projects Observation: Something went wrong as the API returns 400 Bad request. Thought: I get a 400 Bad request but with no details. I'm not sure why it does not work. Let me check the API documentation. Action: Use the web browser tool to read the latest version of the documentation. Observation: I see that the endpoint is deprecated and that I should call /organizations/{id}/projects now. ...
API. I'm going to use GET /projects Action: Call GET /projects Observation: Something went wrong as the API returns 400 Bad request; I see that the endpoint is deprecated and that there is a new /organizations/{id}/ projects endpoint. Thought: I get a 400 Bad request but with no details. I'm not sure why it does not work. Let me check the API documentation. Action: Use the web browser tool to read the latest version of the documentation. Observation: I see that the endpoint is deprecated and that I should call / organizations/{id}/projects now. Faster, cost effective, less context rot Less round-trips
https://github.com/symfony/symfony/issues/61741 /repos/{owner}/{repo}/issues/{issue_number} user_id vs UserId author_id vs user_id Same or different? Use consistent patterns: APIs should be predictable
text means less tokens LLMs can parse and understand Markdown hierarchy Copy/paste directly into an LLM context Clear, complete, and up-to-date docs make AI agent succeed more often Document every API endpoint Concise description Flag required/optional inputs Document responses Document all errors, the conditions that trigger them and explain how to fix Inline examples Describe flows Documentation Write unambiguous, comprehensive, and centralized documentation Remove obsolete information, update blog posts, articles, forums, ... Quick-start guides for multi-step flows Avoid misleading agents Avoid frustrating agents Avoid guessing OpenAPI
Upsun projects via their API. I'm going to use GET /projects Action: Call GET /projects Observation: Something went wrong as the API returns 400 Bad request. Thought: I get a 400 Bad request but with no details. I'm not sure why it does not work. Let me check the API documentation. Action: Use the web browser tool to read the latest version of the documentation. Observation: I see that the endpoint is deprecated and that I should call /organizations/{id}/projects now. ... SLOW FAST SLOW SLOW SLOW Can be avoided SLOW
Upsun projects via their API. I'm going to use GET /projects Action: Call GET /projects Observation: Something went wrong as the API returns 400 Bad request. Thought: I get a 400 Bad request but with no details. I'm not sure why it does not work. Let me check the API documentation. Action: Use the web browser tool to read the latest version of the documentation. Observation: I see that the endpoint is deprecated and that I should call /organizations/{id}/projects now. ... Can be avoided EXPENSIVE CHEAP EXPENSIVE EXPENSIVE EXPENSIVE EXPENSIVE