Knowledge Objects: Advanced Uses + How to Build & Test

A practical, copy/paste guide for storing, using, versioning, validating, and testing knowledge objects.

Works offline Includes templates + test checklist Designed for accuracy and reuse

1) Basics: what “learning” means (2 modes)

A) In-session learning

I can use what you share in this chat to improve answers right now.

B) Cross-session memory

If you explicitly ask me to remember something (and it’s stable/useful), I can store it for future chats.

Rule of thumb: If it’s a stable preference, role, or long-running project context, it’s a good candidate for memory.
Tip: If you do not want it stored, say: “Use this only in this chat (do not remember).”

2) What is a “knowledge object”?

A knowledge object is a structured bundle of facts plus metadata so it can be reused consistently.

  • Type: preference / profile / project / decision / definition / dataset / procedure
  • Content: the actual facts
  • Scope: this chat only vs. remember
  • Source: you, a doc, a link, a meeting note
  • Validity: time-bound or “until changed”
  • Confidence: high/medium/low if uncertain
Safety note: Don’t store sensitive information unless you truly want it remembered.

3) Templates (best way to ask)

Use these templates when you want me to treat input as structured knowledge.

Template 1 — Store as memory (persists)

Please remember this as a knowledge object: Type: Preference | Profile | Project | Decision | Definition | Procedure | Other Content: … Scope: Remember for future chats Source: User Valid until: (optional date) or “until I change it” Confidence: High | Medium | Low Notes/Constraints: (optional)

Template 2 — Use now only (do not store)

Use this as a knowledge object for this conversation only (do not remember): Type: … Content: … Scope: This chat only Source: … Valid until: … Confidence: High | Medium | Low

Template 3 — Versioned object (recommended for projects)

Please remember this as a knowledge object: ID: PROJECT-___-001 Version: 1.0 Type: Project | Decision | Procedure Content: - Goal: … - Definitions: … - Inputs: … - Outputs: … - Acceptance criteria: … Scope: Remember for future chats Source: User Valid until: … Change log: - v1.0 (YYYY-MM-DD): created

4) Advanced uses of knowledge objects

4.1 Layered knowledge (base → overrides)

Use a “base” object for general rules and an “override” object for a specific task/client.

Knowledge Object (Base) Type: Preference Content: For market questions, start with a 3-line summary then a table. Scope: Remember Knowledge Object (Override) Type: Preference Content: For VLCC WS, include TD3C/TD15/TD22 and cite sources. Scope: This chat only

4.2 Schema-driven objects

Define a schema once, then create multiple objects that conform to it.

Schema: DividendEvent Fields: Ticker, Market, AmountPerShare, Currency, ExDate, RecordDate, PayDate, Source, AsOf Knowledge Object Type: DividendEvent Content: Ticker: VAR Market: Oslo Børs AmountPerShare: 1.209 Currency: NOK ExDate: 2026-02-03 PayDate: 2026-02-12 Source: Company release Scope: Remember

4.3 Decision log (auditability)

Keep a running record of decisions with rationale, date, and owner.

ID: DECISION-CHARTER-014 Version: 1.0 Type: Decision Content: - Decision: Use Baltic weekly TD3C as primary source; supplement with CME settlements. - Rationale: Widely referenced benchmark; easy to cite. - Owner: Tore - Date: 2026-04-17 Scope: Remember Change log: - v1.0: created

4.4 Constraints & guardrails

Encode constraints to reduce rework (units, timezone, allowed sources, formatting).

Type: Guardrails Content: - Timezone: Europe/Oslo - Units: NOK, USD/day, WS points - Output format: Summary + table + sources - Ask if missing: route, date range, market Scope: Remember

4.5 Retrieval cues (make it easy to recall)

Add keywords so you can reference it quickly later.

Type: Project Keywords: VLCC, TD3C, Baltic, WS, freight Content: … Scope: Remember

4.6 Expiring knowledge (time boxed)

Set an expiry so stale assumptions don’t live forever.

Type: Assumption Content: Treat April 2026 VLCC market as volatile due to geopolitical risk. Valid until: 2026-05-31 Scope: Remember

5) How to make a knowledge object (step-by-step)

  1. Name the purpose: what should this enable? (e.g., “consistent dividend answers”).
  2. Choose a type: Preference / Project / Definition / Dataset / Procedure.
  3. Define scope: remember vs. this chat only.
  4. Write content as bullet facts: short, unambiguous lines.
  5. Add metadata: ID, version, source, validity, timezone, units.
  6. Add acceptance criteria: how you’ll know it’s being used correctly.

Minimal “good” object

Please remember this as a knowledge object: Type: Preference Content: - For dividend questions, always provide: amount/share, ex-date, pay date, and source. Scope: Remember for future chats Source: User Valid until: until I change it Confidence: High

Strong “best-practice” object (with schema + acceptance tests)

Please remember this as a knowledge object: ID: SCHEMA-DividendEvent-001 Version: 1.0 Type: Definition Content: - Schema: DividendEvent - Fields: Ticker, Market, AmountPerShare, Currency, ExDate, RecordDate, PayDate, Source, AsOf - Output: Always return a one-line summary + a bullet list of key dates. - Acceptance criteria: 1) If AmountPerShare is missing, ask. 2) If dates conflict, warn and ask which source to trust. Scope: Remember Source: User Valid until: until changed Change log: - v1.0 (2026-04-17): created

6) How to test a knowledge object (checklist + test prompts)

Testing ensures the object is clear, non-contradictory, and produces repeatable outputs.

Checklist

  • Clarity: could a stranger follow it without extra questions?
  • Completeness: are required fields present (dates, units, scope)?
  • Non-contradiction: does it conflict with other stored preferences?
  • Scope correctness: did you specify remember vs. do not remember?
  • Expiry: does it become stale? If yes, add Valid until.
  • Acceptance criteria: did you define how success is measured?

Test prompts (copy/paste)

Use the stored knowledge objects and do a self-check: 1) List which knowledge objects you are applying. 2) Show the output. 3) Verify it meets the acceptance criteria. If anything is missing, ask me exactly one clarifying question.
Validation test: Given this knowledge object, generate two answers to the same question. They should be consistent in structure and units. Question: “What is the next dividend for VAR?”
Conflict test: If two knowledge objects disagree, list the conflict and ask which one to prioritize. Then provide the answer using the chosen priority.

7) Examples you can reuse

Example A — Shipping market preference

Please remember this as a knowledge object: Type: Preference Content: - For shipping markets, reply with a 3-line summary first. - Then include a table with routes, WS/levels, date, and source. Scope: Remember Source: User Valid until: until I change it Confidence: High

Example B — Dividend tracking procedure

Please remember this as a knowledge object: ID: PROC-Dividend-Tracking-001 Version: 1.0 Type: Procedure Content: - When asked “next dividend”, do: 1) Identify listing/ticker. 2) Find latest company release. 3) Return AmountPerShare + ExDate + RecordDate + PayDate. 4) If not announced, state “not announced” and give next catalyst date. - Output format: Summary line + bullets + sources. Scope: Remember Source: User Valid until: end of 2026 Change log: - v1.0 (2026-04-17): created

Example C — A full “DividendEvent” object

Use this as a knowledge object for this conversation only (do not remember): Type: DividendEvent Content: Ticker: VAR Market: Oslo Børs AmountPerShare: 1.209 Currency: NOK ExDate: 2026-02-03 RecordDate: 2026-02-04 PayDate: 2026-02-12 Source: Company release AsOf: 2026-04-17 Scope: This chat only Confidence: High

8) Quick Q&A prompts

Ask what I’m using

Before answering, list the knowledge objects you will apply and why (one line each). Then answer.

Force “no assumptions”

Answer using only what’s in the knowledge objects and what I provide. If something is missing, ask.

Forget an object

Please forget the stored knowledge object with ID: _____. Confirm it’s removed.

Update with a changelog

Update the stored knowledge object: ID: _____ New Version: ____ Changes: - … Change log entry: (date + summary) Then restate the updated object.