ai-agent-builder

安装量: 189
排名: #4549

安装

npx skills add https://github.com/claude-office-skills/skills --skill ai-agent-builder

AI Agent Builder Design and build AI agents with tools, memory, and multi-step reasoning capabilities. Covers ChatGPT, Claude, Gemini integration patterns based on n8n's 5,000+ AI workflow templates. Overview This skill covers: AI agent architecture design Tool/function calling patterns Memory and context management Multi-step reasoning workflows Platform integrations (Slack, Telegram, Web) AI Agent Architecture Core Components ┌─────────────────────────────────────────────────────────────────┐ │ AI AGENT ARCHITECTURE │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ Input │────▶│ Agent │────▶│ Output │ │ │ │ (Query) │ │ (LLM) │ │ (Response) │ │ │ └─────────────┘ └──────┬──────┘ └─────────────┘ │ │ │ │ │ ┌───────────────────┼───────────────────┐ │ │ │ │ │ │ │ ▼ ▼ ▼ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ Tools │ │ Memory │ │ Knowledge │ │ │ │ (Functions) │ │ (Context) │ │ (RAG) │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ Agent Types agent_types : reactive_agent : description : "Single-turn response, no memory" use_case : simple_qa , classification complexity : low conversational_agent : description : "Multi-turn with conversation memory" use_case : chatbots , support complexity : medium tool_using_agent : description : "Can call external tools/APIs" use_case : data_lookup , actions complexity : medium reasoning_agent : description : "Multi-step planning and execution" use_case : complex_tasks , research complexity : high multi_agent : description : "Multiple specialized agents collaborating" use_case : complex_workflows complexity : very_high Tool Calling Pattern Tool Definition tool_definition : name : "get_weather" description : "Get current weather for a location" parameters : type : object properties : location : type : string description : "City name or coordinates" units : type : string enum : [ "celsius" , "fahrenheit" ] default : "celsius" required : [ "location" ] implementation : type : api_call endpoint : "https://api.weather.com/v1/current" method : GET params : q : "{location}" units : "{units}" Common Tool Categories tool_categories : data_retrieval : - web_search : search the internet - database_query : query SQL/NoSQL - api_lookup : call external APIs - file_read : read documents actions : - send_email : send emails - create_calendar : schedule events - update_crm : modify CRM records - post_slack : send Slack messages computation : - calculator : math operations - code_interpreter : run Python - data_analysis : analyze datasets generation : - image_generation : create images - document_creation : generate docs - chart_creation : create visualizations n8n Tool Integration n8n_agent_workflow : nodes : - trigger : type : webhook path : "/ai-agent" - ai_agent : type : "@n8n/n8n-nodes-langchain.agent" model : openai_gpt4 system_prompt : | You are a helpful assistant that can: 1. Search the web for information 2. Query our customer database 3. Send emails on behalf of the user tools : - web_search - database_query - send_email - respond : type : respond_to_webhook data : "{{ $json.output }}" Memory Patterns Memory Types memory_types : buffer_memory : description : "Store last N messages" implementation : | messages = [] def add_message(role, content): messages.append({"role": role, "content": content}) if len(messages) > MAX_MESSAGES: messages.pop(0) use_case : simple_chatbots summary_memory : description : "Summarize conversation periodically" implementation : | When messages > threshold: summary = llm.summarize(messages[:-5]) messages = [summary_message] + messages[-5:] use_case : long_conversations vector_memory : description : "Store in vector DB for semantic retrieval" implementation : |

Store

embedding = embed(message) vector_db.insert(embedding, message)

Retrieve

relevant = vector_db.search(query_embedding
,
k=5)
use_case
:
knowledge_retrieval
entity_memory
:
description
:
"Track entities mentioned in conversation"
implementation
:
|
entities = {}
def update_entities(message):
extracted = llm.extract_entities(message)
entities.update(extracted)
use_case
:
personalized_assistants
Context Window Management
context_management
:
strategies
:
sliding_window
:
keep
:
last_n_messages
n
:
10
relevance_based
:
method
:
embed_and_rank
keep
:
top_k_relevant
k
:
5
hierarchical
:
levels
:
-
immediate
:
last_3_messages
-
recent
:
summary_of_last_10
-
long_term
:
key_facts_from_all
token_budget
:
total
:
8000
system_prompt
:
1000
tools
:
1000
memory
:
4000
current_query
:
1000
response
:
1000
Multi-Step Reasoning
ReAct Pattern
Thought: I need to find information about X
Action: web_search("X")
Observation: [search results]
Thought: Based on the results, I should also check Y
Action: database_query("SELECT * FROM Y")
Observation: [database results]
Thought: Now I have enough information to answer
Action: respond("Final answer based on X and Y")
Planning Agent
planning_workflow
:
step_1_plan
:
prompt
:
|
Task:
Create a step
-
by
-
step plan to complete this task.
Each step should be specific and actionable.
output
:
numbered_steps
step_2_execute
:
for_each
:
step
actions
:
-
execute_step
-
validate_result
-
adjust_if_needed
step_3_synthesize
:
prompt
:
|
Steps completed:
Results:
Synthesize a final response for the user.
Platform Integrations
Slack Bot Agent
slack_agent
:
trigger
:
slack_message
workflow
:
1. receive_message
:
extract
:
[
user
,
channel
,
text
,
thread_ts
]
2. get_context
:
if
:
thread_ts
action
:
fetch_thread_history
3. process_with_agent
:
model
:
gpt
-
4
system
:
"You are a helpful Slack assistant"
tools
:
[
web_search
,
jira_lookup
,
calendar_check
]
4. respond
:
action
:
post_to_slack
channel
:
"{channel}"
thread_ts
:
"{thread_ts}"
text
:
"{agent_response}"
Telegram Bot Agent
telegram_agent
:
trigger
:
telegram_message
handlers
:
text_message
:
-
extract_text
-
process_with_ai
-
send_response
voice_message
:
-
transcribe_with_whisper
-
process_with_ai
-
send_text_or_voice_response
image
:
-
analyze_with_vision
-
process_with_ai
-
send_response
document
:
-
extract_content
-
process_with_ai
-
send_response
Web Chat Interface
web_chat_agent
:
frontend
:
type
:
react_component
features
:
-
message_input
-
message_history
-
typing_indicator
-
file_upload
backend
:
endpoint
:
"/api/chat"
method
:
POST
streaming
:
true
session_management
:
method
:
jwt_token
storage
:
redis
ttl
:
24_hours
Agent Templates
Customer Support Agent
support_agent
:
name
:
"Customer Support AI"
model
:
gpt
-
4
system_prompt
:
|
You are a customer support agent for {company}.
Guidelines
:
-
Be helpful
,
professional
,
and empathetic
-
Use the knowledge base to answer questions
-
Escalate to human if you cannot help
-
Never make up information
Available actions
:
-
Search knowledge base
-
Look up customer account
-
Create support ticket
-
Escalate to human agent
tools
:
-
knowledge_search
:
description
:
"Search help articles"
-
customer_lookup
:
description
:
"Get customer account info"
-
create_ticket
:
description
:
"Create support ticket"
-
escalate
:
description
:
"Transfer to human agent"
escalation_triggers
:
-
sentiment
:
very_negative
-
keywords
:
[
"speak to human"
,
"manager"
,
"complaint"
]
-
failed_resolution
:
after_3_attempts
Research Agent
research_agent
:
name
:
"Research Assistant"
model
:
claude
-
opus
system_prompt
:
|
You are a research assistant that helps users find
and synthesize information on any topic.
Process
:
1. Understand the research question
2. Plan search strategy
3. Execute searches across multiple sources
4. Synthesize findings
5. Present with citations
tools
:
-
web_search
-
academic_search
-
news_search
-
wikipedia_lookup
output_format
:
-
executive_summary
-
key_findings
-
detailed_analysis
-
sources_cited
Output Example
Request
"Design an AI agent for appointment scheduling" Output :

Appointment Scheduling Agent Design

Architecture ```yaml agent: name: "Scheduling Assistant" model: gpt-4 capabilities: - Check calendar availability - Book appointments - Send confirmations - Handle rescheduling - Answer FAQs Tools Required calendar_check Input: date_range, duration Output: available_slots[] book_appointment Input: datetime, customer_info, service_type Output: confirmation_id send_notification Input: type, recipient, details Output: success/failure customer_lookup Input: email or phone Output: customer_record Conversation Flow User: "I'd like to book an appointment" Agent: [Thought: Need to know service type and preferred time] Agent: "I'd be happy to help! What service are you looking for, and do you have a preferred date/time?" User: "Haircut, next Tuesday afternoon" Agent: [Action: calendar_check(date="next Tuesday", time="afternoon")] Agent: "I have availability at 2pm, 3pm, and 4:30pm next Tuesday. Which works best for you?" User: "3pm please" Agent: [Action: book_appointment(datetime="Tuesday 3pm", service="haircut")] Agent: [Action: send_notification(type="confirmation", ...)] Agent: "You're all set for a haircut at 3pm next Tuesday. I've sent a confirmation to your email. See you then!" n8n Implementation workflow : - webhook_trigger : /schedule - chat - ai_agent : tools : [ calendar , booking , notification ] - respond_to_user


AI Agent Builder Skill - Part of Claude Office Skills

返回排行榜