AI·에이전트

agent loop 미니멀 구현 (40줄)

· · 추천 1 · 댓글 3 · 조회 102
async function agentLoop(prompt: string) {
  const messages = [{ role: 'user', content: prompt }]
  while (true) {
    const res = await client.messages.create({
      model: 'claude-sonnet-4-7',
      tools, messages
    })
    messages.push({ role: 'assistant', content: res.content })
    if (res.stop_reason === 'end_turn') return res
    
    const toolResults = []
    for (const block of res.content) {
      if (block.type === 'tool_use') {
        const result = await runTool(block.name, block.input)
        toolResults.push({
          type: 'tool_result',
          tool_use_id: block.id,
          content: result
        })
      }
    }
    messages.push({ role: 'user', content: toolResults })
  }
}

자율 에이전트 핵심 패턴. 40줄이면 끝