You should write an agent
TL;DR Highlight
A hands-on tutorial showing that LLM agents can be built with surprisingly simple code — you have to build one to really get it.
Who Should Read
Developers who are curious about building LLM agents from scratch and want a practical, low-ceremony starting point.
Core Mechanics
- A minimal LLM agent requires: an LLM call, a tool registry, a loop that routes tool calls, and a termination condition
- Core agent loop is under 100 lines of Python for a capable task-completing agent
- Most complexity in real agents comes from tool design and error handling, not the agent loop itself
- Tutorial walks through building a file-reading, web-searching, code-executing agent step by step
- Demonstrates that 'agentic' frameworks often add more abstraction than necessary for simple use cases
Evidence
- Working code examples with full source code provided
- Demonstrated on real tasks: file summarization, web research, code execution
- Code complexity analysis comparing framework-based vs. hand-rolled agent implementations
How to Apply
- Start with the minimal agent loop (LLM call + tool dispatch + loop) before reaching for heavyweight frameworks like LangChain or AutoGen.
- Define your tool schemas (name, description, input schema) carefully — this is where most agent quality comes from.
- Add structured output (JSON mode) to your LLM call for reliable tool call parsing.
Code Example
from openai import OpenAI
client = OpenAI()
context = []
def call():
return client.responses.create(model="gpt-5", input=context)
def process(line):
context.append({"role": "user", "content": line})
response = call()
context.append({"role": "assistant", "content": response.output_text})
return response.output_text
# Example Tool definition
tools = [{
"type": "function",
"name": "ping",
"description": "ping some host on the internet",
"parameters": {
"type": "object",
"properties": {
"host": {"type": "string", "description": "hostname or IP"}
},
"required": ["host"]
}
}]Terminology
Related Papers
Show HN: OpenKnowledge – open source AI-first alternative to Obsidian/Notion
Git 기반 동기화와 Claude/Codex/Cursor 연동을 내장한 로컬 우선 마크다운 에디터로, AI 에이전트의 두 번째 뇌(LLM Wiki)로 활용할 수 있는 오픈소스 도구다.
The Unfireable Safety Kernel: Execution-Time AI Alignment for AI Agents and Other Escapable AI Systems
AI 에이전트가 자신의 안전장치를 우회할 수 없도록, 에이전트 프로세스 바깥에 수학적으로 증명된 강제 통제 게이트를 배치하는 아키텍처
RubyLLM: A Ruby framework for all major AI providers
OpenAI, Claude, Gemini 등 주요 AI 프로바이더를 단일 인터페이스로 통합한 Ruby 프레임워크로, Rails 통합과 에이전트 기능까지 지원해 Ruby 개발자가 AI 기능을 빠르게 붙일 수 있다.
Qwen-AgentWorld: Language World Models for General Agents
Alibaba Qwen 팀이 AI 에이전트가 행동 결과를 미리 시뮬레이션할 수 있는 'Language World Model'을 공개했다. 에이전트 훈련과 실행 경로 검증에 새로운 패러다임을 제시하는 연구다.
SHERLOC: Structured Diagnostic Localization for Code Repair Agents
버그 위치만 알려주는 게 아니라 '왜, 어떻게 고쳐야 하는지'까지 진단 리포트를 생성해서 코드 수정 에이전트의 성능을 높이는 training-free 프레임워크
Show HN: peerd – AI agent harness that runs entirely in your browser
백엔드 서버 없이 Chrome/Firefox 확장 프로그램으로만 동작하는 AI 에이전트 실행 환경으로, 브라우저 탭을 직접 조작하고 WASM Linux VM까지 구동할 수 있어 프라이버시와 보안을 동시에 챙길 수 있다.