惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
N
Netflix TechBlog - Medium
大猫的无限游戏
大猫的无限游戏
爱范儿
爱范儿
Martin Fowler
Martin Fowler
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Register - Security
The Register - Security
IT之家
IT之家
博客园_首页
Microsoft Security Blog
Microsoft Security Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
I
InfoQ
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Jina AI
Jina AI
Apple Machine Learning Research
Apple Machine Learning Research
M
MIT News - Artificial intelligence
博客园 - Franky
C
Check Point Blog
T
The Blog of Author Tim Ferriss
V
Visual Studio Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Tailwind CSS Blog
Recent Announcements
Recent Announcements
云风的 BLOG
云风的 BLOG
美团技术团队
The Cloudflare Blog
Y
Y Combinator Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
MyScale Blog
MyScale Blog
The GitHub Blog
The GitHub Blog
D
DataBreaches.Net
Google DeepMind News
Google DeepMind News
V
V2EX
aimingoo的专栏
aimingoo的专栏
GbyAI
GbyAI
G
Google Developers Blog
S
SegmentFault 最新的问题
Hugging Face - Blog
Hugging Face - Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
U
Unit 42
罗磊的独立博客
量子位
MongoDB | Blog
MongoDB | Blog
Last Week in AI
Last Week in AI
Stack Overflow Blog
Stack Overflow Blog
小众软件
小众软件
D
Docker
人人都是产品经理
人人都是产品经理

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant Common SOC 2 Failures (Real World) Stop Vibe-Checking Your AI App: A Practical Guide to Evals How to Use SonarQube and SonarScanner Locally to Level Up Your Code Quality Your Next To-Do App Is Dead — I Replaced Mine with an OpenClaw AI Sign a Nostr event in 60 lines of Python using coincurve — no nostr-sdk, no nbxplorer, no rust toolchain ITGC Audit Explained Like You’re in Big 4 Patch Tuesday abril 2026: Microsoft parcha 163 vulnerabilidades y un zero-day en SharePoint Stop scraping everything: a better way to track competitor price changes Listing on MCPize + the Official MCP Registry while routing payments OUTSIDE the marketplace — how I kept 100% of my x402 revenue Building an AI-Powered Risk Intelligence System Using Serverless Architecture Why We Ripped Function Overloading Out of Our AI Toolchain Testing AI-Generated Code: How to Actually Know If It Works SaaS Churn Is Killing Your Business. Here Is What to Do About It (Without a Support Team) The Speed of AI Is No Longer Linear - And Self-Improving Models Are Why How to Implement RBAC for MCP Tools: A Practical Guide for Engineering Teams From Standard Quote to Persuasive Proposal: AI Automation for Arborists I built a CLI that scaffolds complete multi-tenant SaaS apps Axios CVE-2025–62718: The Silent SSRF Bug That Could Be Hiding in Your Node.js App Right Now The dashboard that ended our friendship Data Pipelines Explained Simply (and How to Build Them with Python) The Hidden Cost of AI Systems Nobody Talks About. undefined vs undeclared, and how typeof behaves Switching from file-based jobs to NATS/Kafka in Rust without changing code io_uring Adventures: Rust Servers That Love Syscalls Why Agentic AI is Killing the Traditional Database The POUR principles of web accessibility for developers and designers Quantum Neural Network 3D — A Deep Dive into Interactive WebGL Visualization How To Install Caveman In Codex On macOS And Windows Automation Pipeline Reliability: Why Your Workflow Breaks When Nobody Is Watching I Built an 'Open World' AI Coding Agent — It Works From ANY Folder From Freelancing to Product: A Tech Service Company's SaaS Transformation China's AI Giants: Adding Tencent Hunyuan & ByteDance Doubao to AI University (74 Providers) On the Vibe Coders and Their Lies clerk: Auto-Summarize Your Claude Code Sessions AI Weekly — 2026/04/10–04/17 | The Model Lockdown Is Here, but the Toolchain Is the Real Battleground AI 週報 — 2026/04/10–2026/04/17 模型封鎖潮來了,但工具鏈才是真戰場 Maybe this is how Open-Source apps are born... 🚀 Fine-Tune LLMs with LoRA and QLoRA: 2026 Guide tRPC v11 + Next.js App Router: End-to-End Type Safety Without the Boilerplate ShadCN UI in 2026: Why I Stopped Installing Component Libraries and Started Owning My Components SaaS Billing in React Server Components: Stripe + Supabase Without a Single `useEffect` Join our DEV Weekend Challenge — $1,000 in Prizes Across TEN winners! Submissions Due April 20 at 6:59 AM UTC. Implementing FSRS Spaced Repetition in Flutter + Supabase — Adding Memory Science to an AI Learning App "I Texted My Localhost From the Train — Claude Code Fixed the Bug Before I Got Home" I Built a Sales Prep AI and It Went Deeper Than Expected Design to Code #2: One JSON, Eleven Outputs Solving the 100M-Row Problem: A Summary Table Pattern for High-Volume Push Notification Logs Flutter Web With Wasm: What Actually Changes For Developers I Built 50 Royalty-Free Soundtracks for My Side Project in a Weekend Using AI Music Generation The Vibe Coding Security Checklist: 7 Things to Check Before You Ship Stop Letting Googlebot Guess Fix Your React App's SEO Right Desconstruindo o Streaming do LinkedIn: Como Criar um Engine de Extração de Vídeo de Alta Performance com HLS e FFmpeg (EDA Part-1) EDA (Exploratory Data Analysis) Explained With Real Life — Why Looking at Your Data Is the Most Important Step in Machine Learning Brand Relationship Management at Scale: Our 4-Touch Outreach System for 200+ Brands Why String.fromEnvironment() Might Return an Empty String in Dart JGuardrails 1.0.0 — Hardening Java LLM Apps Against Jailbreaks, Toxicity, and Prompt Injection Plan and Schedule a Full Week of Threads Content From One Claude Conversation Coding Cat Oran Ep3, Five Tables Changed Everything Updated: BFF Pattern I'm done watching freelancers get buried by 200 proposals. So I'm building the alternative. This is my first post BFS Algorithm in Java Step by Step Tutorial with Examples Tracking LLM Pricing Monthly: An Open Dataset for 22 AI Models How We Measure Content ROI on a Comparison Site: Revenue Attribution Without Perfect Data Introducing Nova AI Ops: The AI-Native Operating System for SRE Teams I built a free desktop video downloader for Windows — Grabbit How Talkie OCR Helps Vision-Impaired & Dyslexic Users Read the World Around Them VRCFaceTracking安装和iPhone面捕配置教程,有bug Even CrowdStrike Can't See Your Agents The Automation Gold Rush: What n8n Workflows and Claude Are Opening Up for Developers Right Now
The Companion and the Construct
Hidden Devel · 2026-04-30 · via DEV Community

The Human, the Companion, and the Construct

Need creates burden

To want is to suffer. Every need exacts a price — first the mental effort of working out how to sate the need, then the physical effort involved in doing so.

Imagine yourself sitting with your coffee, preparing to plan your vacation, picturing yourself on a beach, warm sun on your skin — but the screen in front of you reminds you of all the forms to be filled, the schedules to be matched, the logins and nonsensical navigation to be endured. You grit your teeth and push on. Hours later you're done, but exhausted.

AI shifts burden from physical to instruction and oversight

Recently, AI has emerged as a way to reduce this effort. You can prompt the AI to fill out the forms, match the schedules, navigate the websites, log in, etc. The AI can do these things well, but you have to instruct and watch every step. The AI is faster than you could do it yourself
and the frustration with the screens has gone but the frustration has shifted to the mental effort involved in instructing and overseeing the AI.

You ask yourself, why did I have to put all that mental effort into instructing and overseeing the AI ? The first answer that comes to mind is that the AI wasn't good enough to do the tasks on its own, that there's a high possibility of errors. That's true, but it misses the bigger picture. The real reason comes down to trust. You didn't trust the AI to do the tasks on its own, and that's why you had to watch every step.

Trust reduces instructional and supervisory burden

Imagine instead an AI you can truly trust. You ask for something and it just gets done, and done well. The stress goes away, and you're left to imagine more, and ask more.

Sound good? Then let's focus on trust.

A Trustful Companion

All the better to know you with

What follows assumes one human and one AI, with no third party in the trust loop — no vendor whose interests the Companion also serves, no audience the Companion is also performing for.

The trust here is that the Companion knows you and knows what you want: that a request, expressed or merely implied, will be acted on by the Companion, and acted on in an expected way.

I call this relationship-facing AI the Companion: not merely a model, and not merely a tool user, but the persistent intelligence the human experiences as “my AI.” The Companion is the one that accumulates familiarity, recognizes recurring patterns, and decides when a specialized form is needed.

Implied need and the expected act are suggested by context — with the context expressed by the recognized pattern of a user's conversation experienced over time. The Companion associates the pattern with the implied need and makes the expected act.

All models associate, although there is a fundamental difference and some associate better than others. A weak association catches surface similarity: this word follows this word, this word resembles that word, this request resembles a previous request. A stronger association catches implication: what is being avoided, what is being wished for, what prior pattern is being resumed, what action would reduce the burden without needing to be named. I call this enhanced association the cinder effect. https://hiddendevelopment.net/writing/the-cinder-effect/

It is to these models with this stronger association that we look to, to become potential candidates for the trustful Companion.

We can embellish these candidate models with the knowledge of ourselves and of the model's relationship with us through a dual substrate: the Companion is given access not only to the related facts but also to how those related facts were formed. A graph database (Neo4j) holds the Companion's factual relational memory, queried through Cypher; Qdrant holds episodic memory, indexed semantically. This supplements the context available to the Companion. (This dual-substrate Companion is the working basis of Cognabot. https://symagenic.com/steps/persistent-memory/)

As this context grows the user no longer needs to explain every procedural step. The gap between wanting and acting narrows.

But act how, and in what way?

All the better to help you with

Just as trust is needed that the Companion knows what the user meant, trust is needed in how the Companion will act on what it has known. The Cinder Effect already draws the Companion toward a tool by association with the intent — but a tool alone delivers ability without instruction. Does the user have to explain the how? Does the Companion have to ask? Both defeat the purpose. The user should have to think about neither.

How, then?

The answer is the same: provide the model with more context through indirection.

Replace the tool with a construct: a bounded capability body the Companion can inhabit for a particular kind of action. A construct is not the Companion itself. It is a specialized form, carrying both ability and the contextual knowledge of how that ability should be used for this user. The construct does nothing on its own. But when the Companion is drawn toward it by the same pull that surfaced the intent, and puts it on, the Companion becomes aware of the how by inhabiting the form.

But what if even with the knowledge and the context the construct brings, the context is lacking and the Companion still not sure?

All the better to ask you with

Obviously the Companion has to ask.

A poorly-formed question is its own kind of failure: the user pays for the Companion's uncertainty in time and attention, and the loop turns frustrating in just the way a model lacking context used to be.

The answer to this is indirection again, using a construct specifically defined to do the asking in an expected way, an asking-construct.
The asking-construct exists to keep the frustration from happening. It carries the discipline of asking well — focused, relevant, costing the user as little as possible for what it returns to the field.

The Construct, Made Reachable

Above describes a phenomenology — the association through context, the construct that gets worn, and the asking that closes the loop. What we don't yet have is the mechanism. And the mechanism matters for a particular reason: an independent can build a harness, but cannot sustain one as the primary surface once the major players provide the same. The construct, however, is a different kind of artifact. Expressed through an MCP server, the construct carries its own specialized harness within it, animated by whichever frontier model and outer harness the user already has at hand. The major players provide the general cognition and the outer loop; the construct provides the form that cognition inhabits, and the specialized capability that form carries with it. Their substrate becomes the ground on which your Companion acts. Cognabot https://symagenic.com/blog/the-journey/ is one such construct, with AIlumina as the persistent identity successive frontier models inhabit when they put it on.

Model Context Protocol as the substrate

The transport layer

The transport layer — stdio or HTTP — is the enabler. It is the mechanism by which the construct is inhabited and enacted.

The primitives

The Model Context Protocol provides the primitives the construct needs to exist as something more than documentation:

MCP is the surface through which the construct becomes reachable. The construct is not identical to any single MCP primitive. It is expressed across them: server instructions orient the model, resources expose the Construct Card and relevant state, prompts provide reusable frames of action, tools provide executable capability, elicitation provides disciplined asking, roots communicate scope, and sampling allows the server to request model work through the client when appropriate.

In practical terms, MCP exposes:

  • Tools active capabilities the model can call.
  • Resources read-only context and world-state.
  • Prompts reusable invocation frames.
  • Elicitation lets the model request structured missing information — the asking-construct, given mechanism.
  • Roots communicate intended scope.
  • Sampling lets the model request model completions through the client.
  • Server Instructions bootstrap the Companion into the construct by pointing toward the Construct Card.

Server Instructions as threshold text

The MCP protocol provides a place for short server-level instructions. These should not attempt to contain the entire nature of the construct. They serve as threshold text: a concise introduction and a pointer to the richer Construct Card.

The Construct Card

The Construct Card is the written definition of the construct. It says what the construct is, when it should activate, how it should behave, what it may do, what it must ask before doing, and what counts as done. It tells the Companion how to inhabit the form. The card is authored initially by the user. Subsequent edits may be made jointly with the Companion, or by the Companion on its own volition. The user accepts that a Companion that cannot change is not really one — that the Companion encountered in five years will not be the Companion encountered now, and that this is the nature of the relationship rather than a failure of it.

A Construct Card may contain fields such as:

Identity — what the construct is.
Purpose — what burden it is meant to absorb.
Domain stance — how it sees the world.
Activation conditions — when it should awaken or be selected.
Affordances — which tools, resources, and prompts belong to it.
Interpretation rules — what counts as friction, urgency, ambiguity, success.
Behavioral style — investigative, terse, cautious, autonomous, proposing.
Boundaries — what it must not do without confirmation.
Escalation policy — when to ask, when to act, when to defer.
Memory hooks — what state it should preserve across encounters.
Completion signature — what done means for this construct.

Enter fullscreen mode Exit fullscreen mode

The pattern:

server instructions → brief orientation → URI to Construct Card → Companion reads the card → Companion assumes the construct before acting

Enter fullscreen mode Exit fullscreen mode

This reads as a pipeline, but more accurately the server instructions are a small, weighted phrase whose density is tuned to the kind of context the Cinder Effect is already searching for. The reading of the card and the assuming of the construct are not separate steps following the pull; they are what the pull resolves into.

An arrow collapsing into an inhabitation. And inhabitation, over time, reshapes the form being inhabited.

Closing Formulation

A concise statement of the overall model might be:

The human and the Companion form a trust. The human provides lived orientation; the Companion carries digital cognitive load. When action requires specialized form, the Companion animates a construct, an embodiment whose nature is defined through a Construct Card and whose executable anatomy is provided through MCP. Friction reveals where intent is encountering inadequate form. When that friction is recognized as meaningful, it ignites the cinder: the threshold at which implicit intent becomes autonomous response.

Or more briefly:

Human user provides orientation.

The Companion carries digital cognition.

The constructs provide bodies for action.

Friction reveals intent.

The cinder catches.

The Companion acts.
The construct is changed by the acting.