원클릭으로
letta-development-guide
Comprehensive guide for developing Letta agents, including architecture
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Comprehensive guide for developing Letta agents, including architecture
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling
Guide for adding new AI function examples, for testing specific features against the actual provider APIs.
Use when editing worker/src/constants/default-model-prices.json, packages/shared/src/server/llm/types.ts, pricing tiers, tokenizer IDs, or matchPattern regexes for OpenAI, Anthropic, Bedrock, Vertex, Azure, or Gemini model pricing.
Fixes broken typing checks detected by ty, make typing, or make check-repo. Use when typing errors appear in local runs, CI, or PR logs.
Add documentation for a new AI provider — usage docs, env vars, Docker
Guide for adding new AI provider packages to the AI SDK. Use when creating
SOC 직업 분류 기준
| name | letta-development-guide |
| name_zh | letta-development-guide |
| description | Comprehensive guide for developing Letta agents, including architecture |
| description_zh | Comprehensive guide for developing Letta agents, including architecture |
| category | dev-tools |
| tags | ["ai","api","backend","cli","database"] |
| source | null |
| license | MIT |
| language | en |
| needs_review | false |
| slug | agent-development |
| version | 1.0.0 |
| created | 2026-06-12 |
| updated | 2026-06-12 |
| inputs | [{"name":"request","type":"string","required":true,"description":"User request or task description"}] |
| output | {"format":"markdown","description":"Generated content based on the user request"} |
| author | AI-SKILL |
Use this skill when you need to work with letta-development-guide.
User request or task description.
Generated content based on the user request.
Follow the guidelines in this skill when working on related tasks. Ensure you understand the requirements and constraints before proceeding.
Comprehensive guide for designing and building effective Letta agents with appropriate architectures, memory configurations, model selection, and tool setups.
Use this skill when:
from letta_client import Letta
client = Letta()
agent = client.agents.create(
name="my-assistant",
model="openai/gpt-4o",
embedding="openai/text-embedding-3-small",
memory_blocks=[
{"label": "persona", "value": "You are a helpful assistant."},
{"label": "human", "value": "The user's name and preferences."},
],
)
# Send a message
response = client.agents.messages.create(
agent_id=agent.id,
messages=[{"role": "user", "content": "Hello!"}],
)
print(response.messages[-1].content)
Use letta_v1_agent when:
Use memgpt_v2_agent when:
For detailed comparison, see references/architectures.md.
Memory is the foundation of effective agents. Letta provides three memory types:
Core Memory (in-context):
Archival Memory (out-of-context):
Conversation History:
See references/memory-architecture.md for detailed guidance.
Core principle: One block per distinct functional unit.
Essential blocks:
persona: Agent identity, behavioral guidelines, capabilitieshuman: User information, preferences, contextAdd domain-specific blocks based on use case:
company_policies, product_knowledge, customerproject_context, coding_standards, current_taskschedule, preferences, contactsMemory block guidelines:
See references/memory-patterns.md for domain examples and references/description-patterns.md for writing effective descriptions.
Match model capabilities to agent requirements:
For production agents:
Avoid for production:
See references/model-recommendations.md for detailed guidance.
Start minimal: Attach only tools the agent will actively use.
Common starting points:
Tool Rules: Use to enforce sequencing when needed (e.g., "always call search before answer")
Consult references/tool-patterns.md for common configurations.
When approaching character limits:
customer_profile → customer_business, customer_preferencesinteraction_history → recent_interactions, archive older to archival memorySee references/size-management.md for strategies.
When multiple agents share memory blocks or an agent processes concurrent requests:
Safest operations:
memory_insert: Append-only, minimal race conditionsRisk of race conditions:
memory_replace: Target string may change before writememory_rethink: Last-writer-wins, no mergeBest practices:
Consult references/concurrency.md for detailed patterns.
Before finalizing your agent design:
Architecture:
Memory:
Tools:
Too few memory blocks:
# Bad: Everything in one block
agent_memory: "Agent is helpful. User is John..."
Split into focused blocks instead.
Too many memory blocks: Creating 10+ blocks when 3-4 would suffice. Start minimal, expand as needed.
Poor descriptions:
# Bad
data: "Contains data"
Provide actionable guidance instead. See references/description-patterns.md.
Ignoring size limits: Letting blocks grow indefinitely until they hit limits. Monitor and manage proactively.
Python:
from letta_client import Letta
client = Letta() # Uses LETTA_API_KEY env var
# Create agent with custom memory blocks
agent = client.agents.create(
name="my-agent",
model="openai/gpt-4o", # or "anthropic/claude-sonnet-4-20250514"
embedding="openai/text-embedding-3-small",
memory_blocks=[
{"label": "persona", "value": "You are a helpful assistant..."},
{"label": "human", "value": "User preferences and context..."},
{"label": "project", "value": "Current project details..."},
],
description="Agent for helping with X",
)
print(f"Created agent: {agent.id}")
TypeScript:
import Letta from "letta-client";
const client = new Letta();
const agent = await client.agents.create({
name: "my-agent",
model: "openai/gpt-4o",
embedding: "openai/text-embedding-3-small",
memoryBlocks: [
{ label: "persona", value: "You are a helpful assistant..." },
{ label: "human", value: "User preferences and context..." },
{ label: "project", value: "Current project details..." },
],
description: "Agent for helping with X",
});
console.log(`Created agent: ${agent.id}`);
Note: Letta Code CLI (letta command) creates agents interactively. Use letta --new-agent to start fresh, then /rename and /description to configure.
For detailed information on specific topics, consult the reference materials:
references/architectures.md - Architecture comparison and selectionreferences/memory-architecture.md - Memory types and when to use themreferences/memory-patterns.md - Domain-specific memory block examplesreferences/description-patterns.md - Writing effective block descriptionsreferences/size-management.md - Managing memory block size limitsreferences/concurrency.md - Multi-agent memory sharing patternsreferences/model-recommendations.md - Model selection guidancereferences/tool-patterns.md - Common tool configurationsDo not use this skill for tasks outside its scope or when simpler alternatives are available.
# 使用 letta-development-guide 技能
skill = load_skill("agent-development")
result = skill.execute()
print(result)