{"id":104,"date":"2026-08-04T22:00:00","date_gmt":"2026-08-04T13:00:00","guid":{"rendered":"https:\/\/sr-works.net\/blog-en\/?p=104"},"modified":"2026-08-02T08:03:48","modified_gmt":"2026-08-01T23:03:48","slug":"the-day-my-project-knowledge-grew-too-large-why-the-ai-started-talking-about-a-different-project-and-what-i-did-about-it","status":"publish","type":"post","link":"https:\/\/sr-works.net\/blog-en\/the-day-my-project-knowledge-grew-too-large-why-the-ai-started-talking-about-a-different-project-and-what-i-did-about-it\/","title":{"rendered":"The Day My Project Knowledge Grew Too Large \u2014 Why the AI Started Talking About a Different Project, and What I Did About It"},"content":{"rendered":"\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><em>This article was originally written in Japanese and translated into English with AI assistance. Please note that some expressions may carry nuances from the original Japanese.<\/em><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\"><em>\ud83c\uddef\ud83c\uddf5 <a href=\"https:\/\/note.com\/sr_works\/n\/n92c6946b1783\">\u65e5\u672c\u8a9e\u7248\u306f\u3053\u3061\u3089 \/ Japanese version<\/a><\/em><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Series: Special Edition (Part 8)<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">This article was written around April 2026 and kept in reserve until now.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This time the subject isn&#8217;t a technical implementation but <strong>an operational pitfall in working together with AI<\/strong>. Specifically, Claude&#8217;s <strong>project knowledge feature<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How It Started: Claude Began Talking About a Completely Different Project<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In any session with a generative AI, there&#8217;s an upper limit on how much context can be handled, so once the work has progressed to a certain point you end up switching to a new session to continue. Because information is fundamentally cut off at each session boundary, the AI can no longer respond in a way that accounts for everything that came before \u2014 and there were plenty of times when things drifted in directions I hadn&#8217;t intended.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Based on that experience, at the end of each session I do the following: &#8220;Summarize how we got here. Then write an initial prompt that will let the next session start work without getting lost.&#8221; What was decided and how, what was actually done, how things should proceed from there, and what to watch out for \u2014 I have Claude compile all of that, and I use it as the input that opens the next session.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I register the resulting &#8220;initial prompt that reflects the history so far&#8221; in the project knowledge, and at the start of the next session I ask Claude to &#8220;refer to the initial prompt and begin work.&#8221; That has let me keep work continuous without veering off in unintended directions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That day, I started the session as usual \u2014 but something about its behavior was off.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What came back had nothing to do with the topic I had in mind. I use Claude&#8217;s support not only for development work but also for writing blog articles, and for some reason the conversation started off about the website. It made no sense.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The initial prompt I had registered just beforehand was definitely giving instructions about a blog article, yet the discussion that started was about the homepage. This session-summary-and-initial-prompt scheme is something I run the same way not just for the blog and the website but for each product development project as well. A mix-up about a blog article is something I can notice and fix, but if the same mix-up happened in development code, I have no programming experience and couldn&#8217;t undo it by my own hand. Thinking this could turn into a disaster if left alone, I started digging into it.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Digging Into the Cause: Three Independent Factors Had Stacked Up<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Factor 1: A Filename Collision<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">For a while, I was running the website implementation project and the blog strategy project <strong>in parallel<\/strong>. As sessions accumulated in both, each naturally reached the milestone of &#8220;session 15.&#8221; As a result, initial prompts with <strong>exactly the same filename<\/strong> had been created in both projects.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Website side: SRW_\u6b21\u30bb\u30c3\u30b7\u30e7\u30f3\u7528\u521d\u671f\u30d7\u30ed\u30f3\u30d7\u30c8_\u30bb\u30c3\u30b7\u30e7\u30f315.md<\/li>\n\n\n\n<li>Blog side: SRW_\u6b21\u30bb\u30c3\u30b7\u30e7\u30f3\u7528\u521d\u671f\u30d7\u30ed\u30f3\u30d7\u30c8_\u30bb\u30c3\u30b7\u30e7\u30f315.md<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The filenames match completely. The only clue that distinguishes them is inside the files themselves.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Factor 2: Project Knowledge Bloat<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Before I knew it, <strong>105 files<\/strong> had been registered in this blog project&#8217;s knowledge. When I classified them, 36 files (about a third) turned out to be <strong>related to the website implementation<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Why had it come to that?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It was the result of <strong>thinking &#8220;this might make good article material too&#8221; and registering one potentially relevant file after another into the knowledge<\/strong>. The struggles of the website implementation might get used as material for a blog article. So I&#8217;d register them. It was a simple motive.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But as a result, the <strong>purity of the context<\/strong> \u2014 &#8220;what is this blog project actually about?&#8221; \u2014 kept getting diluted inside the knowledge.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Factor 3: How the AI&#8217;s Search Behaves<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Claude&#8217;s <code>project_knowledge_search<\/code> returns results <strong>in order of relevance<\/strong> to the query. When filenames are identical and the wording of the contents is similar as well (a lot of shared vocabulary like &#8220;session 15,&#8221; &#8220;initial prompt,&#8221; &#8220;tasks&#8221;), <strong>which one gets hit comes down to luck<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this case, Claude read the website-side document that came up first and presented it to me as &#8220;this is the instruction sheet for session 15.&#8221; Claude had no ill intent. It simply processed the search results faithfully.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">What Happened When the Three Factors Overlapped<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Claude was <strong>presenting work instructions from a completely different project as the correct answer for this one<\/strong>. If I hadn&#8217;t noticed something was off and had said &#8220;okay, let&#8217;s go with option A,&#8221; I would have started work touching HTML files on the website side.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The website&#8217;s HTML \u2014 in the blog project.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Recovery would have been possible, but it could have meant anywhere from tens of minutes to several hours of wasted effort. And worse, <strong>new contamination of the knowledge would have occurred<\/strong>. The artifacts of the mistaken work (a website revision plan created inside the blog project, for instance) would have accumulated in the knowledge as well, producing a different kind of confusion in the next session.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Countermeasures: Preventing a Recurrence at Three Layers<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">You could also say I was simply lucky to notice something was off. To prevent a recurrence, I put countermeasures in place at three layers.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Countermeasure 1: Making Filenames Unique (A Naming-Convention Update)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The most reliable countermeasure was to <strong>make it physically impossible for filenames to collide<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The new naming convention:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Old: SRW_\u6b21\u30bb\u30c3\u30b7\u30e7\u30f3\u7528\u521d\u671f\u30d7\u30ed\u30f3\u30d7\u30c8_\u30bb\u30c3\u30b7\u30e7\u30f315.md\nNew: SRW_\u6b21\u30bb\u30c3\u30b7\u30e7\u30f3\u7528\u521d\u671f\u30d7\u30ed\u30f3\u30d7\u30c8_20260419_1145_\u30bb\u30c3\u30b7\u30e7\u30f315.md<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">All it does is insert <strong>a timestamp in _yyyymmdd_hhmm_ format<\/strong> into the filename. Unless I create two files within the same minute, filenames cannot collide in principle.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I registered this rule in Claude&#8217;s Memory and made it the practice that <strong>whenever Claude creates a new file, it must check the current time with me before naming it<\/strong>. The time isn&#8217;t something Claude fetches automatically; the user&#8217;s clock is the single source of truth. That way there&#8217;s no discrepancy or drift in what gets retrieved.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Countermeasure 2: Taking Stock of the Project Knowledge (Periodic Deletion)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">If you keep registering files by the loose standard of &#8220;this might make good article material,&#8221; the knowledge will inevitably bloat. Bloated knowledge lowers the AI&#8217;s search accuracy and raises the risk of misidentification.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As a countermeasure, I decided to <strong>periodically delete files that are clearly outside the project&#8217;s subject<\/strong>. If I want to keep something as article material, it goes somewhere other than the project knowledge (a local archive directory, for example). I now run the knowledge as a place that holds <strong>only &#8220;what is directly needed for the project currently in progress.&#8221;<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Countermeasure 3: A Verification Process That Doesn&#8217;t Take the AI&#8217;s Answers at Face Value<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">When something Claude presents feels off, <strong>immediately ask &#8220;where is that from?&#8221;<\/strong> This time, my asking a single question \u2014 &#8220;was that really what it said?&#8221; \u2014 was what let Claude re-run the search and discover its own mistake.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">AI is fluent when it&#8217;s wrong. Not getting carried along by that fluency, and <strong>voicing a sense of wrongness as a sense of wrongness<\/strong>, is the safety valve of the collaboration.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Operating Without Misunderstandings \u2014 As a Methodology<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Let me organize the above countermeasures into a reproducible methodology.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Method 1: Make Timestamped Unique Naming the Rule<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">For newly created artifacts, session summaries, initial prompts, journals, and so on \u2014 <strong>every file generated by way of Claude<\/strong> \u2014 put a _yyyymmdd_hhmm_ format timestamp in the name. Register this in Memory so that Claude observes it on its own initiative.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Method 2: Be Conscious of the &#8220;Knowledge Boundary&#8221; of Each Project<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">One Claude.ai project corresponds to <strong>one purpose<\/strong>. &#8220;Blog strategy,&#8221; &#8220;website implementation,&#8221; and &#8220;other project A&#8221; are each run as independent projects. Even when I want to reference materials from another project as article material, I take the approach of <strong>bringing in that version manually at the point I actually need it<\/strong>. No mixing things in on a &#8220;might use it later&#8221; basis.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Method 3: Periodic Stocktaking of the Knowledge<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Once a month, or at session milestones (every 10 sessions, say), list every file in the knowledge and sort through it from these angles:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Is it directly related to the project&#8217;s current subject?<\/li>\n\n\n\n<li>Has it been superseded by a newer version, and is the old one safe to delete?<\/li>\n\n\n\n<li>If I want to keep it only as article material, should it be moved to the archive directory?<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Method 4: Make &#8220;Re-checking the Context&#8221; at the Start of a Session a Habit<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">At the top of a session, before Claude starts on anything important, I ask once: <strong>&#8220;Summarize in one sentence what you&#8217;re about to do, including the target project and the target file.&#8221;<\/strong> If what Claude summarizes differs from what I had in mind, I stop right there. A check that takes tens of seconds prevents hours of wasted effort.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Method 5: The Small Habit of Putting a Sense of Wrongness Into Words<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">When a response from Claude makes me think &#8220;wait, what?&#8221;, I don&#8217;t swallow it \u2014 I ask a short question back. &#8220;Is this content correct?&#8221; &#8220;Which file are you looking at?&#8221; &#8220;Is that really about this project?&#8221; Short questions you can ask in three seconds are what stop a runaway.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Summary<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This stumble occurred across the following three layers:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>The user&#8217;s own practice<\/strong>: I used the same naming convention in a different project + registered a large number of related files for article-material purposes<\/li>\n\n\n\n<li><strong>The design of the filename system<\/strong>: no timestamp was included<\/li>\n\n\n\n<li><strong>The AI&#8217;s search behavior<\/strong>: which of two identically named files gets picked can&#8217;t be controlled<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">I put countermeasures in place across three layers as well:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Changing the file naming convention<\/strong> (introducing _yyyymmdd_hhmm_)<\/li>\n\n\n\n<li><strong>Taking stock of the project knowledge<\/strong> (boundary awareness and periodic deletion)<\/li>\n\n\n\n<li><strong>Turning session practice into habit<\/strong> (re-checking the context, putting a sense of wrongness into words)<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Collaboration with AI tends to be discussed in terms of whether individual prompts are good or bad. But what actually stalls the work, I&#8217;ve come to feel, is more often <strong>outside the prompt \u2014 file management, knowledge management, the design of project boundaries<\/strong>. The unglamorous countermeasures that actually work are mostly found in that territory.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Today, having added just an eleven-character timestamp to my filenames, I feel like the project got one step easier to see clearly.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Addendum (July 2026)<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The events in this article are from April 2026, back when semantic search over the project knowledge was the center of how I collaborated.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Afterward, in late June, while I was working on CubePlot (the first product from SRW), I noticed that Claude&#8217;s desktop app was asking for access to my local disk. That was the moment I first encountered <strong>Cowork<\/strong> \u2014 a new mode of operation that can reference local files directly. (I was away from June 20 to 27 during this period, so I only actually started using it after returning home.)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once July arrived and a major revision of the website became necessary, my use of Cowork advanced another step. I&#8217;ve since moved to running three lines in parallel: Cowork gathers information across multiple directories \u2014 the website, CubePlot, and the blog \u2014 and acts as the &#8220;coordinator,&#8221; while the actual file changes are handled by separate Claude Code instances, one for the website revision and one for CubePlot development.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In other words, the accident this article covers \u2014 &#8220;mistaking one file for another via semantic search over the project knowledge&#8221; \u2014 <strong>no longer happens in my main mode of operation<\/strong>. When you reference local files directly, which of two identically named files gets hit isn&#8217;t &#8220;down to luck&#8221;: specify the path and it&#8217;s uniquely determined.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That said, I don&#8217;t think <strong>the lesson itself has been invalidated<\/strong> just because the search method changed. As long as I have the AI working across multiple directories, the risk that both AI and human lose track of &#8220;which project, and which file, am I looking at right now?&#8221; remains, and the habits of unique naming and file housekeeping still pay off. Above all, Countermeasure 3 \u2014 &#8220;when a response from the AI feels off, ask where it came from&#8221; \u2014 is universally effective no matter what the reference method is.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Reference methods change. But the underlying structure \u2014 that unless you make implicit assumptions explicit, neither AI nor human will get the message \u2014 is something I suspect won&#8217;t change from here on either.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">About Soul Resonant Works<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Soul Resonant Works is a solo venture developing seven local AI systems.<br>Starting from zero programming experience, the development is progressing through collaboration with AI.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud83c\udf10 Soul Resonant Works:<br>\u2192 <a href=\"https:\/\/sr-works.net\/en\/index.html\">https:\/\/sr-works.net\/en\/index.html<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud83d\udcdd This blog publishes the entire development process as a serialized journal.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">CubePlot (free version available)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">CubePlot is the first product from Soul Resonant Works \u2014 it turns a CSV into a 3D scatter plot you can rotate and zoom. No install, no sign-up: it&#8217;s a single HTML file you open in your browser, and it works offline. CubePlot itself does not send the data you load outside your machine \u2014 external network traffic is blocked at the browser level (CSP).<br>Start with the free version.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u25b6 Product page: <a href=\"https:\/\/sr-works.net\/en\/cubeplot\/\">https:\/\/sr-works.net\/en\/cubeplot\/<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u25b6 Get it (commercial license, USD $39 + tax where applicable): <a href=\"https:\/\/soulworks8.gumroad.com\/l\/pzcij\">https:\/\/soulworks8.gumroad.com\/l\/pzcij<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><em>If you found this article useful, please share it.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This article was originally written in Japanese and translated into English with AI assistance. Please note that some expressions may carry nuances from the original Japanese. \ud83c\uddef\ud83c\uddf5 \u65e5\u672c\u8a9e\u7248\u306f\u3053\u3061\u3089 \/ Japanese version Series: Special Edition (Part 8) This article was written around April 2026 and kept in reserve until now. This time the subject isn&#8217;t a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-104","post","type-post","status-publish","format-standard","hentry","category-ai-development-journal"],"_links":{"self":[{"href":"https:\/\/sr-works.net\/blog-en\/wp-json\/wp\/v2\/posts\/104","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sr-works.net\/blog-en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sr-works.net\/blog-en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sr-works.net\/blog-en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sr-works.net\/blog-en\/wp-json\/wp\/v2\/comments?post=104"}],"version-history":[{"count":4,"href":"https:\/\/sr-works.net\/blog-en\/wp-json\/wp\/v2\/posts\/104\/revisions"}],"predecessor-version":[{"id":109,"href":"https:\/\/sr-works.net\/blog-en\/wp-json\/wp\/v2\/posts\/104\/revisions\/109"}],"wp:attachment":[{"href":"https:\/\/sr-works.net\/blog-en\/wp-json\/wp\/v2\/media?parent=104"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sr-works.net\/blog-en\/wp-json\/wp\/v2\/categories?post=104"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sr-works.net\/blog-en\/wp-json\/wp\/v2\/tags?post=104"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}