전체 글 1336

LangChain // DeepAgent를 이용한 자율형 에이전트 구현

조대협 (http://bcho.tistory.com) Claude Code를 리서치 하면서, 요즘 에이전트의 구조 특히 SKILL, SubAgent, MultiAgent 등을 이해하다 보니, 실제로 만드는것도 어렵지 않겠다. 생각이 들어서 어떤 프레임웍이 지원하는지 찾아보던중 Langchain에서 얼마전에 발표한 DeepAgent를 찾아서 간단한 시나리오를 구현해봤다. DeepAgent는 Langchain의 LangGraph (복잡한 LLM 간의 연결 구조를 구현하는 프레임웍)을 한단계 더 추상화 시켜서 Agent 개발에 최적화된 프레임워크 이다. 다른 Agent가 가지고 있는 SubAgent,Skill 등의 개념을 잘 지원하고 있으며, 무엇보다 구현이 매우 쉽게 되어 있다. Claude Code과 ..

AI 코딩의 발전단계 - 하네스 엔지니어링과 완전 자율형 에이전트

근래에 하네스 엔지니어링에 대한 리서치를 하다가 매우 흥미 있는 글을 하나 찾았는데, 내가 존경하는 마틴파울러님 사이트에, 올라온 Keif Morris의 글이다. 참고 : https://martinfowler.com/articles/exploring-gen-ai/humans-and-agents.html 이 글은 개발에서, AI 에이전트와 사람간의 상호 작용을 단계별로 정의한 모델인데, 지금까지 명확하지 않은 AI 기반 개발에 대한 개념을 꽤 명확하게 설명하였다. 이 글의 이해를 위해서는 두 가지 Loop의 개념을 이해해야 한다. Why Loop : 소프트웨어를 만들기 위한 아이디어를 정의하고, 어떤 소프트웨어를 만들어낼것인가를 정의하는 부분이다. 일종의 기획과 검증에 해당한다. How Loop : ..

Stop Using The Ralph Loop Plugin

요즘 Claude Code 커뮤니티에서 RALF Wiggum 플러그인이 화제다. YouTube 영상마다 "AI가 혼자서 태스크를 10번씩 반복해서 끝내준다!"는 식의 소개가 넘쳐나고 있다. 그런데, 재미있는 유투브 영상을 하나 찾았다. Claude Code의 RALF 루프를 사용하지 말라는 건데, 내용을 보면 다음과 같다. 지금 사람들이 열광하는 그 Claude Code 플러그인은 진짜 RALF Loop가 아니다.RALF 프레임워크를 만든 창시자 본인이 Twitter와 YouTube에서 며칠째 이 점을 직접 지적하고 있다. 원본 RALF Loop와 Claude Code의 RALF Wiggum 플러그인은 겉으로는 비슷해 보이지만, 핵심 동작 방식에서 중요한 차이가 있다고 말이다.그렇다면, 진짜 RALF..

Claude Code Agent Teams: Skill, SubAgent, Agent Team 완전 정복

Claude Code Agent Teams: Skill, SubAgent, Agent Team 완전 정복혼자 일하는 AI에서 팀으로 일하는 AI로 — 언제 무엇을 써야 하는가Claude Code를 처음 쓰기 시작하면 대부분 단순하게 쓴다. 터미널에서 claude를 실행하고, 코드 작성을 시키거나 버그를 고쳐달라고 한다. 그런데 어느 순간 한계가 느껴진다. "이 작업은 병렬로 돌릴 수 있을 텐데", "이 부분은 전문화된 역할이 따로 있으면 좋겠는데" 하는 생각이 드는 순간이 온다.Claude Code는 그 필요를 정확히 인식하고 Agent Teams라는 개념을 도입했다. 그리고 이 안에서 Skill, SubAgent, Agent Team이라는 세 가지 구성 요소가 서로 다른 역할을 맡는다. 이 세 가지를 ..

카테고리 없음 2026.03.15

Claude Code SubAgent - 전문화된 AI 서브에이전트로 생산성 높이기

조대협 (http://bcho.tistory.com)왜 SubAgent가 필요한가? Claude Code로 복잡한 작업을 하다 보면 한 가지 문제를 마주치게 된다. 코드베이스를 탐색하고, 분석하고, 수정하고, 테스트까지 하다 보면 context window가 빠르게 소모된다는 것이다. 그리고 한 AI가 "코드 리뷰어"이면서 동시에 "디버거"이고 "문서 작성자"가 되려다 보면 어느 것도 제대로 못하는 상황이 생긴다. 그렇다면 어떻게 하면 좋을까? 인간 세계에서는 이 문제를 이미 해결했다. 바로 전문화이다. 코드 리뷰는 시니어 개발자가, 테스트는 QA 엔지니어가, 배포는 DevOps가 맡는 것처럼 말이다. SubAgent는 바로 이 개념을 Claude Code에 도입한 것이라고 보면 된다. 마치 Java에서..

카테고리 없음 2026.03.14

Claude Code - Hook을 통한 자동화.

Claude Code-Hook의 개념조대협(http://bcho.tistory.com) Hook은 Claude Code의 실행중에, 특정 이벤트가 발생하였을때 사용자가 정해 지정해놓은 Shell Command나, HTTP 요청 또는 프롬프트를 실행할 수 있는 기능이다. 예를 들어, Claude Code를 통해서 파일을 에디트 했을때 자동으로, 포맷팅을 검사하도록 지시할 수 있다. 물론 프롬프트를 통해서 지시할 수 도 있지만, 프롬프트는 가이드일뿐 Claude 모델이 지킬 수 도, 안 지킬 수 도 있다. 그래서 조금 더 명시적으로 어떤 이벤트가 발생했을때 사용자가 특정 명령을 수정하도록 강제할 수 있다. 클로드코드의 라이프 사이클Claude Code의 Life cycle와, 각각 툴을 걸 수 있는 포인트..

Claude Code - #3 더 똑똑하게, Planning & Thinking Mode

Claude Code 쉽게 따라하기 (기본편)- 3. Claude Code를 더 똑똑하게 만들자 Planning & Thinking ModeClaude Code에는 복잡한 문제를 더 똑똑하게 풀어낼 수 있는 Planning과 Thinking 모드라는 것이 있다. Planning mode코드에 대한 조금 더 디테일한 분석이 필요하거나, 복잡한 구현이 필요하거나 여러 파일을 참고해야 할때는 Claude Code가 더 자세하게 계획을 만들도록 할 수 있는데, 이를 Plan mode라고 한다. Plan mode를 사용하기 위해서는 Shift tab을 누르면 아래 그림과 같이 입력 프롬프트창 아래에 “Plan mode”로 변경된것을 확인할 수 있다. Plan mode 에서는 claude code가 좀 더 깊게 생..

Claude Code - #2 요금제 이해하기

Claude Code 쉽게 따라하기 (기본편)- 2. 요금제 이해하기조대협 (http://bcho.tistory.com) Claude Code 요금제는 크게, Pro, Max 5x, Max 20X 가 있다.구분Claude ProClaude Max 5xClaude Max 20x월 요금 (USD)$20$100$2005시간 세션 한도약 4.5만 토큰(메시지 약 45개)약 22.5만 토큰(메시지 약 225개)약 90만 토큰(메시지 약 900개)주간 누적 한도 (Sonnet 기준)약 500만 토큰( 40~80시간)약 4,200만 토큰(140~280시간)약 8,300만 토큰(240~480시간)Opus 모델 주간 한도매우 낮음 (수 시간)약 15~35시간약 24~40시간추가 사용 불가능 (리셋 대기)가능 (API ..

Claude Code - #1 Project 설정, Claude.md

Claude Code 쉽게 따라하기 (기본편)- 1. Project 설정, CLAUD.md 이해하기조대협 (http://bcho.tistory.com)Project Setup첫번째로 해야 하는 일은, 기존의 프로젝트가 있는 (또는 작업할) 디렉토리에서 claude code 의 /init 명령을 수행하는 것이다. Claude code를 실행한다음 다음과 같이 “/init”명령을 실행한다Init 작업은 현재 디렉토리의 내용을 스캔해서 내용을 요약해서 CLAUDE.md 파일을 생성한다. CLAUDE.MD 파일이란?CLAUDE.MD는 매우매우 중요한 파일인데, 이 파일은 *.md 파일 포맷으로 안에 들어가 있는 내용은 Claude Code가 어떻게 동작할지를 가이드 하는것이다. 예를 들어서, 아키텍처나, 코딩 ..

카테고리 없음 2026.03.09

AI 코딩이 오히려 개발자의 생산성을 떨어뜨린다? - Anthropic 논문

Anthropic에서 개발자 생산성에 AI가 미치는 영향을 탐구한 매우 흥미로운 논문(https://arxiv.org/pdf/2601.20245)을을) 발표했다.놀랍게도, AI 기반 코딩이 실제로는 생산성을 높이지 않을 수도 있다는 결과가 나왔는데, 프롬프트를 작성하고 다듬는 과정, 그리고 생성된 결과를 해석하는 데 상당한 시간이 소요되기 때문이다. 게다가 엔지니어가 핵심 개념을 이해하거나 코드 구조를 파악하고, 직접 디버깅해 볼 기회를 뺏음으로써 전반적인 역량을 저하시키는 역효과를 낼 수도 있다. 이 연구는 1시간이라는 시간 제약과 적은 표본 크기라는 한계가 있지만, 더 넓은 맥락에서 의미 있는 통찰을 제공한다.연구 내용 중 특히 흥미로운 점은 AI 사용 방식을 6가지 패턴으로 분류하여 어떤 접근 방..

카테고리 없음 2026.02.10

AI 코딩 플랫폼 트렌드 비교(Claude Code, Codex,Gemini)

조대협 (http://bcho.tistory.com) 작년이 Cursor, Winsurf등 AI 코딩 도구와 Lovable, Replit 등의 바이브 코딩으로 시작되는 한해였다면, 금년은 Claude Code와 같은 CLI 기반의 에이전트 코딩으로 넘어가는 한해이다. 2026년 트랜드 변화2025년에는 개발자들이 전체 코드가 아니라 일부 모듈이나 코딩 부분을 Cursor 와 같은 IDE에서 개발하는 정도로, AI의 도움을 받아서 개발하는 단계 였다면, 금년은 Claude Code와 같은 에이전트 기반의 AI로 스펙만 작성하면 크고 복잡한 코드도 개발이 가능한 방향으로 변화하고 있다. 2026년 2월5일에 발표된 글을 보면, Anthropic Claude Code 모델을 사용하여, C 컴파일러를 개발한 ..

CDP & Playwright를 이용한 브라우저 자동화

🚀 CDP & Playwright조대협 (http://bcho.tistory.com)아래 코드는 프롬프트를 이용해서, Sonnet-4를 사용해 생성한 컨텐츠 입니다.브라우저 자동화 학습 교본Chrome DevTools Protocol과 Playwright를 활용한 웹 자동화 완벽 가이드📑 목차1. 소개2. 아키텍처 이해3. 프로젝트 설정4. CDP 예제5. Playwright 예제6. 사람처럼 행동하기 (Advanced)7. CDP vs Playwright 비교8. 모범 사례1. 소개🎯 학습 목표이 교본에서는 다음 내용을 학습합니다:Chrome DevTools Protocol (CDP)의 기본 개념과 사용법Playwright를 활용한 브라우저 자동화봇 감지 우회 기법 (CAPTCHA 처리, 사람처럼..

실리콘밸리에서 느낀 AI시대의 인재상

AI 시대의 인재상 - 실리콘 밸리와서 보고 깨달은것들How to do? 에서 What to do?로.조대협 (http://bcho.tistory.com) 이 글은 본인의 개인의 경험을 기반으로 한 개인적인 의견임을 미리 밝혀둡니다. ChatGPT, Gemini와 같은 AI 모델이 개발되면서, IT 엔지니어의 업무의 방식과 요구 되는 역량이 변화하기 시작하였다. 코딩이나 IT Operation은 AI를 통해서 생산성이 극대화 되었고, 이로 인해서 단순 반복 코딩 작업을 하는 신입 엔지니어의 수요가 점점 줄어들게 되었으며, 이러한 단순 반복 작업은 저소득 국가로 옮겨지고 있는 추세이다. 이런 변화에서, IT 엔지니어로써 갖추어야하는 역량은 무엇일까에 대한 고민을 실리콘밸리 IT 엔지니어들의 대화와 경험에..

IT 이야기 2026.01.13

쿠버네티스 Gateway의 이해

아래 글은 Service에 대한 라우팅 메커니즘은 Ingress와 Gateway에 대한 설명이다.아래 글은 Gemini 3.0 Pro를 이용하여 생성되었다. 쿠버네티스 네트워크의 진화: Ingress에서 Gateway API까지쿠버네티스 환경에서 마이크로서비스 아키텍처를 운영하다 보면 필연적으로 네트워크 라우팅 문제에 직면하게 된다. 클러스터 내부에는 수많은 Service가 존재하지만 이들 모두에게 외부 접속용 공인 IP(LoadBalancer 타입)를 할당하는 것은 비용 측면에서나 관리 측면에서나 매우 비효율적이다. 결국 단일 진입점을 통해 들어온 트래픽을 URL 경로나 호스트 이름을 기반으로 적절한 내부 서비스로 분배해 줄 L7 로드밸런서가 필요하게 되며, 이것이 바로 쿠버네티스 Ingress가 탄..

구글 클라우드-AppDev 알아보기 #2 CloudTask 를 이용한 Advanced Message

CloudTask는 GCP의 Pub/Sub 처럼 본질적으로는 메시지 큐라고 보면 된다. 단 Pub/Sub 보다 발전된 메시지 컨트롤 기능을 가지고 있다. 개념을 먼저 이해하자고 하면, 먼저 다음 그림을 참고하자. CloudTask에 전달/저장되는 메시지를 Task라고 하며, 메시지는 CloudTask 내부 큐에 저장이 된다. 그리고, Target Destination으로 최종 전달이 되는데, 이 Task를 받아서 처리하는 부분을 Handler라고 한다. 아래 구조와 같이 Cloud Task를 큐로 사용하여, Cloud Run등에 메시지를 Push (HTTP 호출) 방식으로 전달이 가능하다. 그렇다면, Cloud Task는 기존의 Pub/Sub Message Queue에 비해서 무엇이 다른가?Pub/..

구글 클라우드-AppDev 알아보기 #1 EventArc를 이용한 EDA 구축

AppDev 알아보기 #1 EventArc를 이용한 EDA 구축조대협 (http://bcho.tistory.com) 넷플릭스의 레퍼런스 아키텍쳐로 유명한 EDA (Event Driven Architecture)등은 구축하기 위해서, 이벤트 버스, 비동기큐, 워크플로우 엔진등 여러가지 복잡한 컴포넌트가 필요하고 이를 위한 운영이 어렵기 때문에 일반적인 오픈소스로 구축하기에는 부담이 많이 된다. 클라우드에서 이러한 EDA 아키텍처를 구축하기 위해서 핵심 컴포넌트들을 매니지드 서비스 형태로 제공하고 있다. 이 글에서는 구글 클라우드에서 EDA를 구축하기 위한 핵심 컴포넌트들에 대해서 알아보도록 한다. CloudSchedulerCloudScheduler는 GCP 기반의 Cron이라고 생각하면 된다. 스켈된 일..

Open AI Day 2025 발표 내용 정리 #1

Open AI Day 2025를 한마디로 정리하자면, 기존의 모델의 집중했던 전략에서, 애플리케이션 개발을 위한 전반적인 에코 시스템 확장으로 전략을 확장하였으며, 마케팅 // GTM (Go To Market) 전략의 승리라고 볼 수 있다. 이번에 발표한 Agent Kit나 Model Eval, Tracing 등 다수의 기능들은 이미 오픈소스나 경쟁 벤더들이 제공하고 있는 기술들인데, 몇개의 추가 제품을 잘 녹여서 메세지를 만들어냄으로써 혁신적인 발전으로 보이도록 잘 포장을 하였다. 이 글에서는 이번에 Open AI가 발표한 새로운 제품들에 대해서 간략하게 알아보고, 이 발표가 주는 의미에 대해서 정리해보고자 한다. Apps in ChatGPTChatGPT 기반의 에이전트 웹사이트를 손쉽게 만들 수 있는..

Claude Code 성능 극대화를 위한 베스트 프랙티스

참고한 원본 글 : https://www.anthropic.com/engineering/claude-code-best-practices Anthropic이 공개한 Claude Code는 단순한 코드 자동 완성 도구를 넘어, 개발자의 쉘 환경과 파일 시스템에 직접 접근하여 자율적으로 작업을 수행하는 '에이전트형(Agentic)' 개발 도구다. 하지만 이 강력한 자율성은 명확한 가이드라인 없이는 오히려 예측 불가능한 결과를 낳을 수 있다.이 글에서는 Anthropic이 공식적으로 밝힌 엔지니어링 블로그의 내용을 기반으로, Claude Code의 잠재력을 100% 끌어내기 위한 핵심적인 베스트 프랙티스를 항목별로 심층 분석하고, 실제 적용 가능한 예제와 함께 제시하고자 한다.1. 초기 설정 최적화 (Custo..

AI 자동화와 Zapier, n8n 소개 및 비교

AI 자동화란 무엇인가AI 자동화는 인공지능 기술을 활용하여 반복적인 작업을 자동으로 처리하고, 데이터를 분석하며, 의사 결정을 최적화하는 프로세스이다. 단순한 작업부터 복잡한 비즈니스 워크플로우까지 다양한 영역에서 효율성을 높이고, 수작업으로 인한 오류를 줄이며, 생산성을 향상시킨다. 예를 들어, AI 자동화는 고객 문의를 실시간으로 분류하거나, 데이터를 분석해 보고서를 생성하거나, 소셜 미디어 콘텐츠를 자동으로 게시하는 데 사용된다. 이러한 기술은 비즈니스 운영을 간소화하고, 더 나은 고객 경험을 제공하며, 조직이 더 빠르게 성장할 수 있도록 돕는다.AI 자동화의 실질적인 예시고객 지원: 고객 이메일을 분석해 우선순위를 지정하고, 자동으로 답변 템플릿을 생성한다.마케팅: 소셜 미디어 캠페인 데이터를 ..

Langchain이 있는데, Langgraph가 왜 필요할까?

LLM 애플리케이션을 만드는데, 이미 Langchain과 같은 프레임웍이 있는데, 왜 추가로 Langgraph와 같은 프레임웍이 필요할까?예를 들어서, 질문에 대해서 구글 검색을 하고, 그 내용을 기반으로 답변하는 Agent를 만든다고 하자.아래 구조와 같이 질문을 분석해서 좀 더 명확한 프롬프트로 만들어내고, 구글 검색을 한 후, 검색 내용이 답변을 하는데 충분한 정보를 가지고 있는지 판단을 하고, 만약에 검색된 정보가 충분하지 않으면 질문을 변경해서 다시 구글 검색을 하고, 충분한 정보를 수집할때 까지 이 과정을 반복한 다음에, 이 정보를 이용해서 답변을 생성해서 리턴한다. 이 구조를 Langchain으로 만들 수 없을까?물론 가능은 하다. 대략 다음과 같은 구조를 가지면 된다. chain = ( ..

고급 Agent를 위한 Langgraph 개념 이해 #4 - Tool 호출

4. Tool 호출Graph에서 외부 Tool을 호출하는 방법에 대해서 알아보도록 하자. 먼저 Tool 함수를 정의해야 하는데,Tool을 일반적인 파이썬 함수로 정의한다. 이때 중요한 부분은 함수 첫줄에 툴에 대한 설명을 주석으로 달아줘야 한다. LLM AI 모델이 어떤 툴을 사용해야할지 판단할때 이 정보를 이용해서, 툴의 기능을 파악한 후에, 툴 호출 여부를 결정한다. 아래는 get_weather라는 툴을 정의한 코드로, 특정 지역의 날씨를 리턴하는 테스트 코드이다. (지역명이 sf나 san francisco인 경우에는 온도를 60도로, 아니면 90도 온도로 리턴한다.) 이렇게 툴을 호출하는 노드를 ToonNode라고 하는데, 인자로, 호출할 툴 함수를 정의한다. 아래 코드에서 보면 ToolNode([..

고급 Agent를 위한 Langgraph 개념 이해 #3 - Edge

3. EdgeEdge는 노드가 정의된 후에, 노드에서 호출한 다음 노드를 정의한다. 사용 방법은 매우 간단하다.아래와 같이 노드를 먼저 정의한 후에, add_edge를 이용하여 연결하고자 하는 노드 이름을 지정하면 된다. 아래 코드의 경우 node_1→node_2를 호출하는 구조를 정의하였다. builder.add_node("node_1", node_1)builder.add_node("node_2", node_2)graph.add_edge("node_1", "node_2")Conditional routing일반적인 Edge flow이외에, 조건에 따라서 특정 노드로 Routing 하도록 플로우를 정의할 수 있다. 예를 들어서 아래 그림과 같이, node_1실행후에, 조건에 따라서 node_2또는 node..

고급 Agent를 위한 Langgraph - Multi State 사용시 주의해야할점

Langgraph에서는 하나의 Graph에서 여러개의 State를 동시에 사용할 수 있다. 또한 정의된 State는 전역변수 처럼 인식되서, 다른 Node로 그 값을 넘기지 않아도 그 값이 그대로 유지되고 사용이 가능하다.예를 들어node1(State1)->State2node2(State2)->State3node3(State1)->State3로 호출하는 구조가 있다고 하자.이 경우, node1의 output인 State2는 node2의 Input에 들어가지만, node2의 output이 State3인데, node3에서 State3를 받지 않고, State1을 받을 수 있을까? 답변은 된다.State1,2,3의 정보가 같이 유지되고 있기 때문에, 이전 노드의 State가 아니더라도 사용이 가능하다. 아래 ..

고급 Agent를 위한 Langgraph 개념 이해 #2 - Node

2. NodeNode는 State 정보를 활용해서, State 정보를 변경하거나 action을 취하는 그래프내의 함수이다. 함수내에서는 LLM 모델을 실행해서 질문에 대한 정답을 찾거나 , Tool 등을 이용해서 Action을 취하거나, 또는 RAG를 통해서 질문에 필요한 추가 컨택스트 정보를 검색해와서 State에 저장해서 다음 Node에서 LLM이 답변에 활용할 수 있도록 한다. 예를 들어 web_search,chat 이라는 Node가 있을때, web_search Node에서는 Google 검색을 이용하여, 질문에 필요한 추가 정보를 검색해서 State에 저장한후, 다음 chat 노드에서 해당 State에 저장된 Context 정보를 리턴하는 식으로 구현이 된다. Node는 Python funct..

고급 Agent를 위한 Langgraph 개념 이해 #1-State

먼저 Langgraph의 개념을 이해하려면 3가지 State, Node, Edge에 대해서 알아야 한다. 각 컴포넌트의 개념과 세부 문법에 대한 이해가 없으면 어떻게 Langgraph가 작동하는지에 대해서 이해가 매우 어렵기 때문에, 이 글에서는 개념과 문법에 대해서 설명하도록 한다. 그래프는 Node로 구성이 되어 있는데, State를 받아서, 작업을 하고, State를 출력하는 역할을 한다. Node를 실행한 후에, 다른 Node를 실행하기 위해서는 Edge를 따라서, Node를 이동하게 된다. 이 개념을 그림으로 표현하면 아래와 같다. 사각형이 Node이고, Node들을 연결하는 선이 Edge, 그리고, Node들이 입력으로 받고, 업데이트 하는 것이 State (상태 정보)이다. 1. State..

Python TypedDict

TypedDict는 파이썬의 타입 힌트를 위한 기능으로, 딕셔너리의 키와 값에 대한 타입을 명시적으로 지정할 때 사용한다. 일반 dict와 달리, 정해진 키와 그에 해당하는 값의 타입을 강제하여 코드의 안정성과 가독성을 높여준다.TypedDict란 무엇인가?TypedDict는 typing 모듈에서 제공하는 클래스로, 딕셔너리의 구조를 미리 정의할 수 있게 해준다. 딕셔너리에 어떤 키가 존재해야 하는지, 그리고 각 키에 해당하는 값의 타입이 무엇인지 명시할 수 있다.이는 정적 타입 검사 도구(static type checker)가 코드 실행 전에 잠재적인 오류를 발견하도록 돕는다. 예를 들어, 존재하지 않는 키에 접근하거나 잘못된 타입의 값을 할당하려고 할 때 미리 경고를 받을 수 있다.예제TypedDic..

Google ADK와 LangGraph 비교 (Node,Edge 기반 워크플로우 정의기능)

LangGraph가 노드와 엣지 구성을 통해서 워크플로우를 정교하게 관리할 수 있는데, 그러면 Google ADK도 가능할까 해서, 예제 코드를 Gemini를 이용해서 구성해봤다. 일단 결론 부터 이야기하자면, Google ADK는 노드와 엣지의 개념은 없지만, 노드대신 에이전트로 정의한후, 이를 워크플로우로 연결이 가능하고, Loop와 Branch역시 가능하다. 아직 Node와 ADK의 Agent차이에 대해서는 좀 더 고민해봐야겠지만, 개념상으로 비슷한것은 만들수있다는 이야기.from google.adk.agents import LlmAgent, SequentialAgent, BaseAgentfrom google.adk.events import Event, EventActionsfrom google...

Langgraph tool 호출 튜토리얼

이 문서는 Langgraph의 공식 튜토리얼 두번째 "Add tools"에 대한 코드를 설명한 문서이다.원본 코드 : https://langchain-ai.github.io/langgraph/tutorials/get-started/2-add-tools/모델 생성 및 툴 생성 부분tool = TavilySearch(max_results=2)tools = [tool]llm = init_chat_model("google_genai:gemini-2.5-flash")llm_with_tools = llm.bind_tools(tools)외부 Search tool로 Langchain tool (TavilySearch)툴을 생성하고, 해당 툴을 tools 리스트에 넣은후에,LLM 모델을 생성하고, 해당 tool을 LLM..

LLM 모델 알고리즘 이해를 기반으로, 효율적인 프롬프트 작성하기

LLM의 확률적 생성 프로세스 제어를 위한 방법론: 프롬프트 엔지니어링의 기술적 원리대규모 언어 모델(LLM)과의 상호작용 시, 응답의 비결정성(Non-determinism)과 재현성(Reproducibility)의 부재는 개발자에게 주요한 도전 과제이다. 프롬프트 엔지니어링은 이러한 확률적 모델의 출력을 결정론적으로 제어하기 위한 핵심적인 방법론으로 부상했다. 본 문서는 프롬프트 엔지니어링의 주요 기법들이 LLM의 내부 아키텍처 및 수학적 원리에 기반하여 어떻게 작동하는지 심층적으로 분석한다.1. LLM의 근본 원리: 자기회귀적 확률 모델 (Autoregressive Probabilistic Model)LLM의 모든 출력은 자기회귀(Autoregressive) 모델의 기본 원칙을 따른다. 즉, 주어진 ..

Gemini CLI 활용 방법과 숨겨진 가치

조대협 (http://bcho.tistory.com) 본인은 구글 클라우드의 엔지니어이며, 이 글은 회사의 의견을 대표하지 않고 본인 개인의 의견임을 밝혀둡니다. 얼마전에 Gemini CLI가 발표되고, Google Gemini 서버가 폭주했다는 이야기까지 들려왔다. 사람들은 왜 Gemini CLI에 열광할까? 이미 ChatGPT나 Claude가 웹, 데스크탑 까지 지원하고 있고, Cursor나 Winsurf같은 코딩 AI에서 부터 Lovable, V0와 같은 바이브 코딩 툴이 있는데, 터미널에서 지원하는 CLI 기반의 AI가 나온것 하나가 이 시장에 어떤 영향을 미칠까? 무료 서비스라는 발표로 많은 인기를 얻었지만, 그 보다 Gemini CLI는 SDLC (Software Development Lif..