AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
Nous는 AI 에이전트를 위한 지속 메모리 플랫폼으로, 영구 메모리·의사결정 인텔리전스·자체 오류 학습 기능 제공, FORGE 아키텍처 기반
Nous is a continuous memory platform for AI agents: persistent memory, decision intelligence, and the ability to learn from its own mistakes. Built on the FORGE architecture, grounded in Minsky's Soci
개발 도구Python · SvelteGitHub @tfatykhov온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기AI Agent with decisions memory at its core
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A cognitive architecture for AI agents, grounded in Minsky's Society of Mind.
Nous is a framework for building AI agents that think, learn, and grow — not just respond. It applies the decision intelligence principles proven by Cognition Engines, and implements Marvin Minsky's Society of Mind principles as first-class architectural components.
"To explain the mind, we have to show how minds are built from mindless stuff." — Marvin Minsky
Quickstart Guide → — Deploy Nous from scratch in minutes.README 전문 보기 ↗"To explain the mind, we have to show how minds are built from mindless stuff." — Marvin Minsky
Most agents are brilliant for one conversation and blank the next. Nous is built to live for months: one agent, one database, and a growing memory of what it saw, what it decided, what worked and what didn't. It works on its own schedule, carries long jobs in the background, and is held to account by records of what it actually did.
| Most agents and harnesses | Nous | |
|---|---|---|
| Lifetime | One session, then the context resets | Always on, with months of history in one database |
| Memory | A chat log, a notes file or a vector store | Typed memories (episodes, facts, procedures, decisions, censors) linked in a knowledge graph and consolidated every night |
| Decisions | Made and forgotten | Recorded with confidence and reasons, reviewed against outcomes, calibrated over time |
| "Done!" | Taken on trust | Checked against a durable ledger of the tool calls that really ran |
| Rules | Prompt instructions it may ignore | Censors and guardrails that block the action in code |
| Initiative | Waits for your message | Heartbeat checks, schedules, background tasks and multi-step plans |
| Getting better | Only when you edit its prompt | Learns procedures from what worked; every new lesson must pass a gate first |
| Grading | Grades itself | Background work is scored by a separate, deterministic scorer |
Nous is not a wrapper around a chat window. It is the long-lived mind behind one.
Episodes, facts, procedures, censors and working memory, each with its own lifecycle. Recall fuses full-text and vector search, then spreads through a knowledge graph. A nightly sleep cycle consolidates, links and prunes.
Every significant decision is recorded with its confidence, reasons and deliberation trace. Similar past decisions come back before the next choice; outcomes are reviewed and Brier scores track calibration.
Procedures (Minsky's K-lines) are learned from clusters of successful decisions, episode lessons and error recoveries. A lesson gate checks each one against its evidence and against what Nous already knows.
Side-effecting tool calls are recorded in a durable execution ledger. Risky actions are gated by tier, and after each turn the agent's claims are checked against what actually ran.
A heartbeat runs scheduled checks (health, Drive, email, or any check described in plain words) and escalates what matters. Schedules, background subtasks and durable multi-node DAGs carry long work.
Finished background subtasks get a deterministic score from a separate scorer job, built to run under its own database role so the agent can read its scores but not change them.
A dashboard covers memory, the graph, decisions, calibration, retrieval, the ledger, the heartbeat and DAGs. A companion app (web and Android) lets the agent answer with live, interactive UI.
Streaming chat over REST, an MCP server for other agents and tools, and a streaming Telegram bot with attachments. Tools include web search, Python, a shell, files, documents and an optional browser.
Capabilities that change behavior sit behind documented flags. Items marked opt-in ship switched off; see the environment variable reference.
learn_skill from a URL, a file or inline markdown, delivered in full when recalled.ingest_document chunks and stores whole documents; images, PDFs and text files arrive through Telegram and REST.recall_deep, plus multi-query expansion.cache_retrieve away, four-tier pruning of old tool results, and history compaction with a hallucination guard.resolve_decision closes the loop; Brier scores and a calibration factor keep confidence honest.send_email works only toward an allowlist.record_decision, recall_deep, recall_recent, learn_fact, learn_skill, ingest_document, get_procedure, create_censor, cache_retrieve.bash, read_file, write_file, run_python, send_file.web_search (routed by query type across Tavily, Exa and Brave), web_fetch, and browser_task (opt-in), an isolated agent loop on headless Chromium.spawn_task, spawn_sync, schedule_task, dag_create, list_tasks, cancel_task, heartbeat_check_create, heartbeat_check_manage.push_surface and propose_action.The agent tools reference lists every tool and which frames can use it.
nous_chat, nous_recall, nous_status, nous_teach, nous_decide.Every turn runs through the Nous loop, and a sleep cycle feeds what was learned back into recall:
flowchart LR
S([Sense]) --> F[Frame] --> R[Recall] --> D[Deliberate] --> A[Act] --> M[Monitor] --> L[Learn]
L -.->|"sleep cycle: consolidate, link, prune"| R
graph TB
IF["Interfaces<br/>REST · MCP · Telegram · Dashboard · Companion"]
CL["Cognitive layer<br/>frames · context engine · pre/post-turn hooks"]
BR["Brain<br/>decisions · calibration · guardrails · graph"]
HE["Heart<br/>episodes · facts · procedures · censors · working memory"]
BG["Background organs<br/>heartbeat · schedules · subtasks · DAGs · sleep"]
BUS(("Event bus"))
DB[("PostgreSQL 17 + pgvector")]
IF --> CL
CL <--> BR
CL <--> HE
BG --> CL
CL --> BUS --> HE
BR --- DB
HE --- DB
brain, heart, nous_system and scoring.agent_id, so one database can host several agents.| Minsky's idea | In Nous |
|---|---|
| K-lines | Procedures that rebuild the mental state a kind of work needs |
| Censors | Rules that block an action rather than rewrite it |
| Frames | One active interpretation per turn, switched explicitly |
| Papert's principle | Growth through better management of what is already known: detours, not replacements |
| Parallel bundles | Decisions backed by several independent reasons, not one chain |
| B-brains | A critic that watches the agent think (first phase shipped) |
git clone https://github.com/tfatykhov/nous.git
cd nous
cp .env.example .env # set ANTHROPIC_API_KEY; OPENAI_API_KEY enables embeddings
docker compose up -d
curl http://localhost:8000/health
Then say hello:
curl -X POST http://localhost:8000/chat \
-H "Content-Type: application/json" \
-d '{"message": "Hello, who are you?"}'
The dashboard is at http://localhost:8000/dashboard. Migrations run on startup. The Quickstart guide covers Telegram, local development and verification.
| Quickstart | Deploy from scratch, local development, verification |
| Feature index | Every feature and its status, including planned work |
| What's shipped | Ship notes, design rationale and invariants |
| Environment variables | Settings and feature flags |
| REST API · Agent tools | The interfaces |
| Project structure | A map of the code |
| Research | Design rationale, from the Minsky mapping to storage |
Nous applies the decision-intelligence ideas proven by Cognition Engines: decisions, deliberation traces, calibration, guardrails and bridge definitions. It is an independent implementation. Cognition Engines is a standalone server any agent can call; the Nous Brain is an embedded organ with no network overhead. Same ideas, not same code.