<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Soha patel</title>
    <description>The latest articles on DEV Community by Soha patel (@sohapatel26).</description>
    <link>https://dev.to/sohapatel26</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4233140%2F013fe535-5bad-4c84-a8ed-617683a72017.png</url>
      <title>DEV Community: Soha patel</title>
      <link>https://dev.to/sohapatel26</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sohapatel26"/>
    <language>en</language>
    <item>
      <title>Catch the Risk Before the First Dose - Building an AI Drug Safety Reviewer That Remembers</title>
      <dc:creator>Soha patel</dc:creator>
      <pubDate>Sun, 08 Nov 2026 05:53:55 +0000</pubDate>
      <link>https://dev.to/sohapatel26/catch-the-risk-before-the-first-dose-building-an-ai-drug-safety-reviewer-that-remembers-npo</link>
      <guid>https://dev.to/sohapatel26/catch-the-risk-before-the-first-dose-building-an-ai-drug-safety-reviewer-that-remembers-npo</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;In one line:&lt;/strong&gt; I built &lt;strong&gt;TrialSleuth AI&lt;/strong&gt;, an agent that reviews a new drug &lt;em&gt;before&lt;/em&gt; its first human trial and remembers every past drug result, so it gets smarter with each one.&lt;/p&gt;

&lt;p&gt;🚀 &lt;a href="https://trialsleuthai.streamlit.app/" rel="noopener noreferrer"&gt;&lt;strong&gt;Try the live demo&lt;/strong&gt;&lt;/a&gt; · 💻 &lt;a href="https://github.com/Sohapatel-26/trialsleuth-production" rel="noopener noreferrer"&gt;&lt;strong&gt;See the code&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🧪 The first dose is the scariest moment
&lt;/h2&gt;

&lt;p&gt;Every new medicine eventually reaches a day when it is given to a human for the first time. By then it has passed lab tests and animal studies. Yet people in early trials still sometimes get hurt.&lt;/p&gt;

&lt;p&gt;When you read about those cases afterwards, many of them look &lt;strong&gt;predictable&lt;/strong&gt;:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;What went wrong&lt;/th&gt;
&lt;th&gt;Was it known before?&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;A similar molecule damaged the liver&lt;/td&gt;
&lt;td&gt;✅ Yes, in an earlier drug of the same class&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;A chemical feature affected heart rhythm&lt;/td&gt;
&lt;td&gt;✅ Yes, a well-known warning sign&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;A common medicine pushed drug levels 2.5× higher&lt;/td&gt;
&lt;td&gt;✅ Yes, seen in a past trial&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Six volunteers were dosed on the same morning&lt;/td&gt;
&lt;td&gt;✅ Yes, a lesson learned the hard way&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The knowledge existed. It was just &lt;strong&gt;scattered&lt;/strong&gt; across old reports, papers and people's memories.&lt;/p&gt;

&lt;p&gt;So I asked myself: &lt;em&gt;what if a tool could remember every past drug result and check each new drug against all of it before anyone takes the first dose?&lt;/em&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  📋 What TrialSleuth does
&lt;/h2&gt;

&lt;p&gt;A pharma team describes their drug the way they would in a planning meeting:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🧬 &lt;strong&gt;What it is:&lt;/strong&gt; composition and chemical features&lt;/li&gt;
&lt;li&gt;💊 &lt;strong&gt;How much:&lt;/strong&gt; the dose and how it goes up&lt;/li&gt;
&lt;li&gt;👥 &lt;strong&gt;Who gets it:&lt;/strong&gt; which patients are allowed in&lt;/li&gt;
&lt;li&gt;🗓️ &lt;strong&gt;How:&lt;/strong&gt; the trial design&lt;/li&gt;
&lt;li&gt;🔗 &lt;strong&gt;With what:&lt;/strong&gt; which other medicines are allowed&lt;/li&gt;
&lt;li&gt;🔬 &lt;strong&gt;What we know:&lt;/strong&gt; lab results so far&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;TrialSleuth then gives back a clear review:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;An overall risk level&lt;/strong&gt; (High, Medium or Low)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Risks by body system&lt;/strong&gt; (liver, heart, kidneys…), each with the evidence it used&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Suggested changes:&lt;/strong&gt; lower the starting dose, exclude a patient group, ban an interacting medicine, dose one person first&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tests to run&lt;/strong&gt; before anyone is dosed&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Limits of the review:&lt;/strong&gt; what memory can't tell us&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;/p&gt;
  👉 Click to see a sample TrialSleuth report
  &lt;p&gt;&lt;strong&gt;Risk level:&lt;/strong&gt; High - changes needed before human dosing&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;System&lt;/th&gt;
&lt;th&gt;Risk&lt;/th&gt;
&lt;th&gt;Why (IDs)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Liver&lt;/td&gt;
&lt;td&gt;2–3× higher exposure in Child-Pugh B patients; interaction with strong CYP3A4 inhibitors&lt;/td&gt;
&lt;td&gt;HB-02, HB-03, PC-101, PC-102&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Heart&lt;/td&gt;
&lt;td&gt;Possible hERG block and QT prolongation (aniline + basic amine core)&lt;/td&gt;
&lt;td&gt;PC-702, HB-05&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Whole group&lt;/td&gt;
&lt;td&gt;Six people dosed on the same morning&lt;/td&gt;
&lt;td&gt;PC-801&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Suggested changes&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Exclude Child-Pugh B patients until liver data exists (HB-02)&lt;/li&gt;
&lt;li&gt;Ban strong CYP3A4 inhibitors with a 14-day washout (PC-102)&lt;/li&gt;
&lt;li&gt;Dose one sentinel participant first and wait before the rest (PC-801)&lt;/li&gt;
&lt;li&gt;Run a hERG assay and add ECG monitoring (PC-702)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;em&gt;This is an example of the report format. It flags known risks; it never declares a drug safe.&lt;/em&gt;&lt;/p&gt;



&lt;br&gt;
&lt;p&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;⚠️ &lt;strong&gt;The rule I never broke:&lt;/strong&gt; TrialSleuth never says a drug is "safe" or "will work". No software can promise that. Its job is to make sure &lt;em&gt;known&lt;/em&gt; risks are designed out before human dosing, so experts start from a better plan.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🤖 Why not just ask ChatGPT?
&lt;/h2&gt;

&lt;p&gt;A normal AI chatbot only knows what you paste into the chat, and forgets it when the chat ends. Ask it to review a drug and you get:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Monitor liver function. Watch for drug interactions."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That sounds sensible, but it's generic. It isn't linked to any real past case, and it never learns.&lt;/p&gt;

&lt;p&gt;A real safety expert works differently. They remember &lt;strong&gt;what went wrong before, and what fixed it&lt;/strong&gt;. That's exactly what &lt;strong&gt;agent memory&lt;/strong&gt; gives an AI. If the idea is new to you, Vectorize has a great explainer: &lt;a href="https://vectorize.io/what-is-agent-memory" rel="noopener noreferrer"&gt;What is agent memory?&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 Giving the agent a memory with Hindsight
&lt;/h2&gt;

&lt;p&gt;I built the memory layer on &lt;a href="https://github.com/vectorize-io/hindsight" rel="noopener noreferrer"&gt;&lt;strong&gt;Hindsight&lt;/strong&gt;&lt;/a&gt;, an open-source agent memory system by Vectorize. I used Hindsight Cloud with its Python client, and the &lt;a href="https://hindsight.vectorize.io/" rel="noopener noreferrer"&gt;Hindsight docs&lt;/a&gt; got me from zero to a working memory quickly.&lt;/p&gt;

&lt;p&gt;The agent uses four simple operations:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftb1wey23nwnnt9a7hzwg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftb1wey23nwnnt9a7hzwg.png" alt="How the agent uses Hindsight memory: create bank, retain, recall, reflect" width="800" height="352"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Operation&lt;/th&gt;
&lt;th&gt;What TrialSleuth does with it&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;🏦 &lt;strong&gt;Create bank&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;One memory bank, &lt;code&gt;drug-safety-memory&lt;/code&gt;, told to keep IDs, doses and percentages exact&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;💾 &lt;strong&gt;Retain&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Saves body knowledge, past drug outcomes (with the fix that worked), and a summary of every review&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🔎 &lt;strong&gt;Recall&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;For each new drug, pulls back the relevant body facts, similar past drugs and earlier reviews&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🪞 &lt;strong&gt;Reflect&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;A "What have you learned?" button that sums up lessons across all memory&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/vectorize-io" rel="noopener noreferrer"&gt;
        vectorize-io
      &lt;/a&gt; / &lt;a href="https://github.com/vectorize-io/hindsight" rel="noopener noreferrer"&gt;
        hindsight
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Hindsight: Agent Memory That Learns
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/vectorize-io/hindsight/./hindsight-docs/static/img/hindsight-github-banner.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fvectorize-io%2Fhindsight%2FHEAD%2F.%2Fhindsight-docs%2Fstatic%2Fimg%2Fhindsight-github-banner.png" alt="Hindsight Banner"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://hindsight.vectorize.io" rel="nofollow noopener noreferrer"&gt;Documentation&lt;/a&gt; • &lt;a href="https://hindsight.vectorize.io/integrations" rel="nofollow noopener noreferrer"&gt;Integrations&lt;/a&gt; • &lt;a href="https://hindsight.vectorize.io/cookbook" rel="nofollow noopener noreferrer"&gt;Cookbook&lt;/a&gt; • &lt;a href="https://benchmarks.hindsight.vectorize.io/" rel="nofollow noopener noreferrer"&gt;Benchmarks&lt;/a&gt; • &lt;a href="https://arxiv.org/abs/2512.12818" rel="nofollow noopener noreferrer"&gt;Paper&lt;/a&gt; • &lt;a href="https://ui.hindsight.vectorize.io" rel="nofollow noopener noreferrer"&gt;Hindsight Cloud&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/vectorize-io/hindsight/actions/workflows/release.yml" rel="noopener noreferrer"&gt;&lt;img src="https://github.com/vectorize-io/hindsight/actions/workflows/release.yml/badge.svg" alt="Release"&gt;&lt;/a&gt;
&lt;a href="https://pypi.org/project/hindsight-api/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/9bee43137f632f356c9f336d3414754119b7802eeca1c1bb5b157aef5911d4df/68747470733a2f2f696d672e736869656c64732e696f2f707970692f762f68696e6473696768742d6170693f6c6f676f3d707974686f6e266c6f676f436f6c6f723d7768697465266c6162656c3d76657273696f6e26636f6c6f723d626c7565" alt="Version"&gt;&lt;/a&gt;
&lt;a href="https://pypi.org/project/hindsight-client/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/24168143775d41c5152886f8f9623594113f508e6ecac88190587353ce43de3c/68747470733a2f2f696d672e736869656c64732e696f2f707970692f646d2f68696e6473696768742d636c69656e743f6c6f676f3d70797069266c6f676f436f6c6f723d7768697465266c6162656c3d5079504926636f6c6f723d626c7565" alt="PyPI Downloads"&gt;&lt;/a&gt;
&lt;a href="https://www.npmjs.com/package/@vectorize-io/hindsight-client" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/6fabf3c8dbcf1c23c6a67cfc03212b9cd575841199700bd0dad1387d28f64cda/68747470733a2f2f696d672e736869656c64732e696f2f6e706d2f646d2f253430766563746f72697a652d696f25324668696e6473696768742d636c69656e743f6c6f676f3d6e706d266c6f676f436f6c6f723d7768697465266c6162656c3d4e504d26636f6c6f723d626c7565" alt="NPM Downloads"&gt;&lt;/a&gt;
&lt;a href="https://vectorize.io/slack" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/2fb506aa6dac30c9b2a58f1729069f676eede12a695c3fca71cb86bc612087da/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f536c61636b2d4a6f696e253230436f6d6d756e6974792d3441313534423f6c6f676f3d736c61636b" alt="Slack Community"&gt;&lt;/a&gt;
&lt;a href="https://opensource.org/licenses/MIT" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/fdf2982b9f5d7489dcf44570e714e3a15fce6253e0cc6b5aa61a075aac2ff71b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e737667" alt="License: MIT"&gt;&lt;/a&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://www.star-history.com/vectorize-io/hindsight" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/f33ac97f88980017da908063d7678f0829fe4b2d278c1083db14184e7be3b488/68747470733a2f2f6170692e737461722d686973746f72792e636f6d2f62616467653f7265706f3d766563746f72697a652d696f2f68696e64736967687426747970653d72616e6b" alt="Star History Rank"&gt; &lt;img src="https://camo.githubusercontent.com/3a70b6d50bf5c0b13b9407d0fb2f8d69ad17e68cc00ce830486ddbf5c8e327d6/68747470733a2f2f6170692e737461722d686973746f72792e636f6d2f62616467653f7265706f3d766563746f72697a652d696f2f68696e64736967687426747970653d7472656e64696e67" alt="GitHub Trending Repository of the Day"&gt;&lt;/a&gt;
&lt;/p&gt;


&lt;/div&gt;
&lt;br&gt;


&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;What is Hindsight?&lt;/h2&gt;
&lt;/div&gt;

&lt;p&gt;Hindsight™ is an agent memory system built to create smarter agents that learn over time. Most agent memory systems focus on recalling conversation history. Hindsight is focused on making agents that learn, not just remember.&lt;/p&gt;


  
    
    &lt;span class="m-1"&gt;hindsight-learning-demo.mp4&lt;/span&gt;
    
  

  

  


&lt;p&gt;It eliminates the shortcomings of alternative techniques such as RAG and knowledge graph and delivers state-of-the-art performance on long term memory tasks.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;🆕 &lt;strong&gt;&lt;a href="https://hindsight.vectorize.io/blog/2026/11/03/hindsight-models" rel="nofollow noopener noreferrer"&gt;Introducing Hindsight Models&lt;/a&gt;&lt;/strong&gt;: decision, rerank and embedding models built for agent memory. Open weights on &lt;a href="https://huggingface.co/hindsight-ai" rel="nofollow noopener noreferrer"&gt;Hugging Face&lt;/a&gt;, or hosted on Hindsight Inference. &lt;a href="https://hindsight.vectorize.io/blog/2026/11/03/hindsight-models" rel="nofollow noopener noreferrer"&gt;Read the post →&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Contents&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/vectorize-io/hindsight#memory-performance--accuracy" rel="noopener noreferrer"&gt;Memory Performance &amp;amp; Accuracy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/vectorize-io/hindsight#quick-start" rel="noopener noreferrer"&gt;Quick Start&lt;/a&gt; — &lt;a href="https://github.com/vectorize-io/hindsight#1-start-a-server" rel="noopener noreferrer"&gt;server&lt;/a&gt; · &lt;a href="https://github.com/vectorize-io/hindsight#2-connect-a-client" rel="noopener noreferrer"&gt;clients&lt;/a&gt; · &lt;a href="https://github.com/vectorize-io/hindsight#supported-platforms" rel="noopener noreferrer"&gt;platforms&lt;/a&gt; · &lt;a href="https://github.com/vectorize-io/hindsight#python-embedded-no-server-required" rel="noopener noreferrer"&gt;embedded&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/vectorize-io/hindsight#adding-hindsight-to-your-agent" rel="noopener noreferrer"&gt;Adding Hindsight to Your Agent&lt;/a&gt; — &lt;a href="https://github.com/vectorize-io/hindsight#llm-wrapper-2-lines-of-code" rel="noopener noreferrer"&gt;LLM Wrapper&lt;/a&gt; · &lt;a href="https://github.com/vectorize-io/hindsight#integrations" rel="noopener noreferrer"&gt;integrations&lt;/a&gt; · &lt;a href="https://github.com/vectorize-io/hindsight#coding-agents" rel="noopener noreferrer"&gt;coding agents&lt;/a&gt; · &lt;a href="https://github.com/vectorize-io/hindsight#mcp-server" rel="noopener noreferrer"&gt;MCP&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/vectorize-io/hindsight#core-concepts" rel="noopener noreferrer"&gt;Core Concepts&lt;/a&gt; — &lt;a href="https://github.com/vectorize-io/hindsight#memory-types" rel="noopener noreferrer"&gt;memory types&lt;/a&gt; · &lt;a href="https://github.com/vectorize-io/hindsight#the-three-operations" rel="noopener noreferrer"&gt;retain / recall / reflect&lt;/a&gt; · &lt;a href="https://github.com/vectorize-io/hindsight#observations" rel="noopener noreferrer"&gt;observations&lt;/a&gt; · &lt;a href="https://github.com/vectorize-io/hindsight#mental-models--knowledge-pages" rel="noopener noreferrer"&gt;mental models &amp;amp; knowledge&lt;/a&gt;…&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/vectorize-io/hindsight" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;Every memory has an ID, like &lt;code&gt;HB-02&lt;/code&gt; for a body fact or &lt;code&gt;PC-102&lt;/code&gt; for a past drug. The language model (Groq, running &lt;code&gt;openai/gpt-oss-120b&lt;/code&gt;) must &lt;strong&gt;cite the ID&lt;/strong&gt; for every claim. That makes each point traceable, and the app shows exactly what was recalled in a side panel, so reviewers can check the evidence themselves.&lt;/p&gt;


&lt;h2&gt;
  
  
  ✨ The moment it clicked
&lt;/h2&gt;

&lt;p&gt;Our demo drug is a made-up cancer medicine called &lt;strong&gt;HLV-772&lt;/strong&gt;. Its plan hides a few quiet problems: patients with weak livers are allowed in, six people are dosed on the same day, and no other medicines are banned.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fj0w2shybaac69ymogniw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fj0w2shybaac69ymogniw.png" alt="Same drug, same question, with and without memory" width="800" height="376"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;😶 &lt;strong&gt;Memory OFF:&lt;/strong&gt; a generic answer with no evidence.&lt;/li&gt;
&lt;li&gt;🧠 &lt;strong&gt;Memory ON:&lt;/strong&gt; it flagged a &lt;strong&gt;liver risk&lt;/strong&gt;, citing &lt;code&gt;HB-02&lt;/code&gt; (weak livers can mean 2–3× more drug in the blood) and &lt;code&gt;PC-102&lt;/code&gt; (a similar drug where certain common medicines raised levels 2.5×). It suggested banning those medicines before the first dose, which is exactly the fix that worked last time.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then I &lt;strong&gt;taught it one new result&lt;/strong&gt;: a sister drug that affected heart rhythm in animal tests (&lt;code&gt;PC-702&lt;/code&gt;). I ran the same review again and a brand-new &lt;strong&gt;❤️ Heart&lt;/strong&gt; row appeared, citing &lt;code&gt;PC-702&lt;/code&gt; and asking for ECG monitoring and heart tests before dosing.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8l8zvf3fxi5k5a2p3h05.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8l8zvf3fxi5k5a2p3h05.png" alt="One new result, and the next review is better" width="800" height="344"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;🌱 &lt;strong&gt;One new result, saved once, and every future review gets better.&lt;/strong&gt; That learning loop is the whole point.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🛠️ What I learned building it
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Better memory beats more memory.&lt;/strong&gt;&lt;br&gt;
At first I sent &lt;em&gt;everything&lt;/em&gt; recalled to the model. The prompt grew with every saved review until the model refused it. Recalling a tighter set of the most relevant records fixed the errors and made the reports sharper.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Show the evidence.&lt;/strong&gt;&lt;br&gt;
The side panel of recalled memories became the most convincing part of the app. People trust a review more when they can see what it's based on.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Honest framing is a feature.&lt;/strong&gt;&lt;br&gt;
"Here are the known risks and how to reduce them" is more useful, and far more responsible, than a confident yes or no.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔭 What's next
&lt;/h2&gt;

&lt;p&gt;Right now the memory holds a small, curated set of example records. A real version would be filled from a company's own trial history, published safety data and regulator reports, with access controls and expert sign-off on every review. I'd also love reviewers to mark which suggestions they accepted, so the agent learns which advice actually helps.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔗 Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;🚀 &lt;strong&gt;Live demo:&lt;/strong&gt; &lt;a href="https://trialsleuthai.streamlit.app/" rel="noopener noreferrer"&gt;trialsleuthai.streamlit.app&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;💻 &lt;strong&gt;Source code:&lt;/strong&gt; &lt;a href="https://github.com/Sohapatel-26/trialsleuth-production" rel="noopener noreferrer"&gt;github.com/Sohapatel-26/trialsleuth-production&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🧠 &lt;strong&gt;Hindsight on GitHub:&lt;/strong&gt; &lt;a href="https://github.com/vectorize-io/hindsight" rel="noopener noreferrer"&gt;github.com/vectorize-io/hindsight&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📚 &lt;strong&gt;Hindsight docs:&lt;/strong&gt; &lt;a href="https://hindsight.vectorize.io/" rel="noopener noreferrer"&gt;hindsight.vectorize.io&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📖 &lt;strong&gt;What is agent memory?&lt;/strong&gt; &lt;a href="https://vectorize.io/what-is-agent-memory" rel="noopener noreferrer"&gt;vectorize.io/what-is-agent-memory&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;If you're building AI agents that should get better with experience instead of starting from zero every time, give agent memory a try. I'd love to hear what you build!&lt;/em&gt; 🙌&lt;/p&gt;

</description>
      <category>ai</category>
      <category>python</category>
      <category>healthcare</category>
      <category>machinelearning</category>
    </item>
  </channel>
</rss>
