<p align="center">
<img src="https://raw.githubusercontent.com/cogitator-ai/Cogitator-AI/HEAD/logo.png" alt="Cogitator" width="200">
</p>
<div align="center">
Cogitator
실제로 행동하는 AI 에이전트.
License: MIT
TypeScript
Node
npm
npm downloads
CI
Quick Start · Examples · Docs · Cookbook · Discussions
코딩 에이전트는 마크다운 형식으로 문서를 읽을 수 있습니다: cogitator.app/llms.txt (index) 및 cogitator.app/llms-full.txt (모든 내용을 하나의 파일로).
</div>
Cogitator란 무엇인가?
ChatGPT와 Claude가 _말하는 것_에 능하다는 것을 아시죠? Cogitator는 실제로 행동할 수 있는 AI를 만듭니다.
**에이전트(agent)**란 **도구(tools)**를 가진 AI입니다. 웹 검색, 파일 읽기, API 호출, 코드 작성, 쿼리 실행 등이 가능합니다. 목표를 주면, 에이전트는 어떤 도구를 어떤 순서로 사용할지 스스로 파악합니다.
Cogitator는 이러한 에이전트를 구축하기 위한 TypeScript 프레임워크입니다. 하나의 에이전트든 백 개든, 로컬 모델을 사용하든 클라우드 API를 사용하든, 간단한 스크립트든 프로덕션 서비스든 동일한 코드와 패턴을 사용합니다.
import { Cogitator, Agent, tool } from '@cogitator-ai/core';
import { z } from 'zod';
...
이것으로 충분합니다. 에이전트는 질문을 읽고 get_weather를 호출하기로 결정한 다음, 결과를 받아 인간 친화적인 응답을 작성합니다.
Quick Start (빠른 시작)
옵션 A - 프로젝트 스캐폴딩:
npx create-cogitator-app my-agents
cd my-agents && npm run dev
npm run dev:studio
실행 시 필요한 사항을 출력합니다: 로컬 모델의 경우 ollama pull, 또는 클라우드 제공업체의 키를 위해 cp .env.example .env가 필요합니다. Docker로 실행할 경우, 스택 서비스(Postgres, Redis, 모델을 가져오는 Ollama 컨테이너)를 먼저 시작하고 정상 상태가 될 때까지 대기합니다.
16가지 프리셋 중 하나(agent, personal assistant, memory, Express, Hono 또는 Tetsu API, Next.js chat, messaging bot, RAG, MCP, swarm, workflow, durable workflow, A2A, realtime voice, evals)에서 시작하거나, 이 리포지토리의 모든 예제(--example core/basic-agent) 또는 GitHub 템플릿을 사용하여 플래그로 직접 스택을 선택할 수 있습니다. 모든 프로젝트에는 에이전트 레지스트리, 모킹된 모델에 대한 테스트, AGENTS.md, 그리고 에이전트를 코딩하기 위한 문서가 포함되어 있으며, 나중에 npx cogitator add rag를 통해 확장됩니다.
옵션 B - 기존 프로젝트에 추가:
pnpm add @cogitator-ai/core zod
.env 파일에 GOOGLE_API_KEY를 설정하고(여기서 무료로 받기) 다음 예제 중 아무거나 실행합니다:
npx tsx examples/core/01-basic-agent.ts
모든 LLM과 작동: google/gemini-3.8-flash를 openai/gpt-6.1-sol, anthropic/claude-sonnet-5-5, ollama/llama3.3 또는 11가지 내장 제공업체의 다른 어떤 것으로든 교체할 수 있습니다.
개인 AI 비서 (Personal AI Assistant)
Telegram, Discord 또는 Slack에서 24시간 작동하는 자신만의 AI를 구축하세요. 코딩이 필요 없습니다. YAML 설정 파일만 있으면 됩니다.
대화형 위자드가 모든 과정을 안내합니다: LLM 제공업체, 모델, 채널, 기능(capabilities), 메모리, MCP 서버. 이는 cogitator.yml을 생성합니다:
name: Jarvis
personality: '당신은 날카로운 개인 비서인 Jarvis입니다.'
llm:
...
위자드는 사용자 이름을 묻고, 채널을 선택하며, 기능을 구성하고, 모든 내용을 cogitator.yml과 .env에 작성합니다. 그런 다음 실행합니다:
cogitator up
cogitator daemon start
cogitator daemon install
YAML 대신 프로그래밍 방식 API를 선호하는 경우, `cogitator init`을 사용하여 `package.json`, TypeScript 설정 및 소스 파일이 포함된 전체 프로젝트 구조를 만들 수도 있습니다.
**채팅으로 모든 것을 관리하세요** — 웹 대시보드가 필요하지 않습니다:
| 명령어 | 기능 |
| :--- | :--- |
| `/status` | 가동 시간, 모델, 세션, 오늘 메시지 수 |
| ... |
**기본적으로 제공되는 기능:**
- 다중 채널(Multi-channel) — Telegram + Discord + Slack + WhatsApp에서 동시에 작동하는 동일한 어시스턴트
- 스트리밍(Streaming) — 청크 단위 메시지 편집을 통한 실시간 타이핑
- 음성 메시지(Voice messages) — Deepgram, Groq, OpenAI 또는 로컬 Whisper를 통한 자동 STT(Speech-to-Text)
- 이미지 이해(Image understanding) — 봇으로 전송된 사진은 비전 기능을 통해 분석됨
- 접근 제어(Access control) — 소유자/승인됨/공개 레벨, 신규 사용자를 위한 페어링 코드
- 예약 작업(Scheduled tasks) — 크론/간격/일회성 지원을 통한
| 사용 사례 | 설명 | 시도해 보기 |
| :--- | :--- | :--- |
| **기억 기능을 갖춘 챗봇 (Chatbot with memory)** | 에이전트가 사용자 이름, 선호 사항, 과거 대화를 기억합니다. | [`examples/memory/01-basic-memory.ts`](./examples/memory/01-basic-memory.ts) |
| ... |
필요한 것만 설치하세요. 모든 것이 별도의 npm 패키지입니다.
| 패키지 | 기능 | 예시 |
| :--- | :--- | :--- |
| [`@cogitator-ai/core`](https://www.npmjs.com/package/@cogitator-ai/core) | 에이전트, 도구 (tools), LLM 백엔드, 스트리밍 등 시작하는 데 필요한 모든 것 | [20개의 핵심 예시](./examples/core/) |
| ... |
**서버 어댑터 (Server adapters)** - 한 줄로 에이전트를 REST API로 마운트합니다:
[`express`](https://www.npmjs.com/package/@cogitator-ai/express) · [`fastify`](https://www.npmjs.com/package/@cogitator-ai/fastify) · [`hono`](https://www.npmjs.com/package/@cogitator-ai/hono) · [`koa`](https://www.npmjs.com/package/@cogitator-ai/koa) · [`tetsu`](https://www.npmjs.com/package/@cogitator-ai/tetsu) · [`next`](https://www.npmjs.com/package/@cogitator-ai/next) · [`ai-sdk`](https://www.npmjs.com/package/@cogitator-ai/ai-sdk) · [`openai-compat`](https://www.npmjs.com/package/@cogitator-ai/openai-compat)
모두 `server-shared`의 공유 프로토콜을 기반으로 하며, Swagger 문서 지원, SSE 스트리밍, WebSocket을 지원합니다: 모든 어댑터에 대해 요청 유효성 검사기 하나, 응답 형태 하나, 그리고 스트림 세션 하나가 존재하며, 이는 공유 컨포먼스 스위트(conformance suite)를 통해 확인됩니다. 클라이언트는 서버가 허용하지 않는 한 시스템 프롬프트 `context`를 설정하거나 `system` 쓰레드 메시지를 추가할 수 없으며 (`acceptContext`, `threadMessageRoles`), 비-JSON 본문은 `415` 상태 코드로 거부됩니다. [통합 예제](./examples/integrations/)를 참조하세요.
---
| 기능 | 의미 |
| :--- | :--- |
| **모든 제공업체 지원** (Any provider) | OpenAI, Anthropic, Google, Ollama, vLLM, Azure, Bedrock, Mistral, Groq, Together, DeepSeek - 동일한 코드|
| ... |
| 기능 | 의미 |
| :--- | :--- |
| **6가지 저장 백엔드** (6 storage backends) | Redis, Postgres, SQLite, MongoDB, Qdrant, 인메모리(in-memory)|
| ... |
| 기능 (Feature) | 의미 (What it means) |
| :--- | :--- |
| **7개 군집 전략 (swarm strategies)** | 계층적(Hierarchical), 합의(consensus), 라운드 로빈(round-robin), 경매(auction), 파이프라인(pipeline), 토론(debate), 협상(negotiation) |
| ... | |
| 기능 (Feature) | 의미 (What it means) |
| :--- | :--- |
| **7개 플랫폼 (platforms)** | Telegram, Discord, Slack, WhatsApp, WebChat, Bluesky, Threads: 모든 곳에서 작동하는 에이전트 (one agent everywhere) |
| ... | |
| 기능 (Feature) | 의미 (What it means) |
| :--- | :--- |
| **헌법적 AI (Constitutional AI)** | 비판-수정 루프(critique-revision loops)를 통해 유해한 입력/출력을 자동 필터링합니다. |
| ... | |
| 기능 (Feature) | 의미 (What it means) |
| :--- | :--- |
| **자체 수정 에이전트 (Self-modifying agents)** | 에이전트가 누락된 기능을 감지하고 런타임(runtime)에서 새로운 도구를 생성합니다. |
| ... | |
| 기능 (Feature) | 의미 (What it means) |
| :--- | :--- |
| **OpenTelemetry** | Jaeger, Grafana, Datadog까지 전체 추적(Full tracing)을 지원합니다. |
| ... | |
---
| | Cogitator | LangChain | OpenAI Assistants |
| ----------------- | --------------------------------- | -------------- | ----------------- |
| **Language** | TypeScript | Python | REST API |
...
---
모든 주요 기능에는 지금 바로 실행할 수 있는 작동 예제가 있습니다.
```bash
npx tsx examples/core/01-basic-agent.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112