Tendril: 즉석에서 도구를 구축하고 등록하는 자체 확장 에이전트
Tendril은 스스로 확장되는 에이전틱 샌드박스로, Agent Capability 패턴(모델이 세션 간에 자율적으로 도구를 발견, 구축 및 재사용)을 보여줍니다. AWS Strands Agents SDK와 Tauri로 구축되었습니다.
작동 방식
Tendril에게 작업을 요청하면, 기능 레지스트리를 확인합니다. 도구가 있으면 사용하고, 없으면 작성하여 등록한 후 실행합니다. 이 모든 과정을 사용자에게 묻지 않습니다. 다음에 같은 작업이 필요하면 도구가 이미 준비되어 있습니다.
사용자: "Hacker News의 상위 스토리를 가져와줘"
Tendril: → searchCapabilities("fetch url hacker news") # 없음
→ registerCapability(fetch_url, code) # 도구 구축
→ execute("fetch_url", {url: "https://..."}) # 이름으로 실행
→ "여기 상위 스토리가 있습니다: ..."
사용자: "이제 Lobsters를 가져와서 비교해줘"
Tendril: → listCapabilities() # 발견: fetch_url ✓
→ execute("fetch_url", {url: "https://lobste.rs"}) # 실행 — 재구축 없음
레지스트리는 사용과 함께 성장합니다. 매 세션이 이전보다 더 똑똑해집니다.
에이전트 구성
Tendril의 핵심은 단 세 개의 부트스트랩 도구를 가진 Strands 에이전트입니다:
import { Agent } from '@strands-agents/sdk';
import { BedrockModel } from '@strands-agents/sdk/models/bedrock';
const agent = new Agent({
model: new BedrockModel({ modelId: '...', region: '...' }),
systemPrompt: TENDRIL_SYSTEM_PROMPT(workspacePath),
printer: nullPrinter,
tools: [
listCapabilities(registry),
registerCapability(registry),
executeCode(registry, workspacePath, config),
],
});
시스템 프롬프트 규칙
시스템 프롬프트는 자율적인 행동을 강제합니다:
searchCapabilities(query)를 호출하여 관련 도구가 있는지 확인- 찾으면:
loadTool(name)을 호출한 후execute(code, args)실행 - 찾지 못하면: 반드시 직접 도구를 구축해야 함
- 절대 "도구를 만들어 드릴까요?"라고 묻지 말고 그냥 구축할 것
- 도구가 실패하면 오류를 읽고 코드를 수정한 후 재시도
- 도구가 실시간 정보를 가져올 수 있을 때는 훈련 데이터로 답변하지 말 것
아키텍처
┌─────────────────────────────────────────┐ │ Tauri Shell (Rust) │ │ ACP Host ──stdin/stdout──► Agent │ │ (acp.rs) NDJSON (Node.js SEA)│ │ Events ◄── session/update ──┘ │ │ (events.rs) │ │ Tauri Events ──► React Frontend │ │ (TailwindCSS v4) │ └─────────────────────────────────────────┘Agent 내부: Strands SDK ── BedrockModel ── Claude │ 4개의 부트스트랩 도구 ┌────┴────┐ │ Registry │ ←→ index.json + tools/*.ts └─────────┘ ┌────┴────┐ │ Sandbox │ ←→ Deno 하위 프로세스 (샌드박스)
에이전트 루프는 agent.stream() 내에서 실행되며 ACP 프로토콜에 연결되어 UI에 think, act, observe 단계를 표시합니다.
"너무 많은 도구" 문제 해결
대부분의 에이전트 프레임워크는 모델에게 많은 도구를 제공하고 올바른 것을 선택하길 기대합니다. Tendril은 이를 뒤집습니다 — 모델은 항상 정확히 세 개의 도구를 봅니다. 레지스트리를 검색하고 필요한 것을 구축하며 레지스트리는 시간이 지남에 따라 성장합니다. 도구 표면은 변하지 않고, 기능만 변합니다.
📖 전체 소스 읽기: HN AI Agents
👀 See Also

ComfyUI 스킬을 통해 AI 에이전트가 자연어로 이미지 렌더링을 큐에 추가하고 일괄 처리할 수 있습니다
새로운 오픈소스 스킬을 통해 OpenClaw 에이전트가 ComfyUI 워크플로우를 구성하고, 작업을 제출하며, '이 컨셉을 다양한 시드로 50가지 변형 만들어 줘' 또는 '이 4가지 프롬프트를 1024x1024로 나란히 비교해 줘'와 같은 자연어 명령어로 렌더를 관리할 수 있게 되었습니다.

sqlite-utils 4.0rc2: Claude Fable 작성, $149.25, 데이터 손실 버그 수정
Simon Willison이 sqlite-utils 4.0rc2를 출시했습니다. 대부분의 코드는 Claude Fable이 작성했으며 비용은 $149.25입니다. Fable은 delete_where()의 데이터 손실 버그를 발견하고 트랜잭션 처리를 재작성하는 데 도움을 주었습니다.

Jork 에이전트 프레임워크, Claude로 구축, 400만 달러 해커톤에서 톱 10에 랭크
한 개발자가 Claude와 GLM 모델을 사용해 Jork라는 에이전트 프레임워크를 구축한 경험을 공유했는데, 이 프로젝트는 최근 400만 달러 규모 해커톤에서 2000개 이상의 응모작 중 상위 10위 안에 들었습니다. 이 프로젝트는 완전 자율 에이전트를 만들려는 초기 실패한 시도에서 발전한 것입니다.

TREX: 코드를 실행하는 Greptile의 AI 코드 리뷰어
TREX는 Greptile의 AI 코드 리뷰에 내장된 코드 실행 계층입니다. 코드를 실행하고 스크린샷, 로그, 추적을 제공하여 정적 분석이 놓치는 버그를 잡아냅니다.