Hacker Newsnew | past | comments | ask | show | jobs | submit | lelele's commentslogin

> The main difference between my workflow and the authors, is that I have the LLM "write" the design/plan/open questions/debug/etc. into markdown files, for almost every step. > > This is mostly helpful because it "anchors" decisions into timestamped files, rather than just loose back-and-forth specs in the context window.

Would you please expand on this? Do you make the LLM append their responses to a Markdown file, prefixed by their timestamps, basically preserving the whole context in a file? Or do you make the LLM update some reference files in order to keep a "condensed" context? Thank you.


Not the GP, but I currently use a hierarchy of artifacts: requirements doc -> design docs (overall and per-component) -> code+tests. All artifacts are version controlled.

Each level in the hierarchy is empirically ~5X smaller than the level below. This, plus sharding the design docs by component, helps Claude navigate the project and make consistent decision across sessions.

My workflow for adding a feature goes something like this:

1. I iterate with Claude on updating the requirements doc to capture the desired final state of the system from the user's perspective.

2. Once that's done, a different instance of Claude reads the requirements and the design docs and updates the latter to address all the requirements listed in the former. This is done interactively with me in the loop to guide and to resolve ambiguity.

3. Once the technical design is agreed, Claude writes a test plan, usually almost entirely autonomously. The test plan is part of each design doc and is updated as the design evolves.

3a. (Optionally) another Claude instance reviews the design for soundness, completeness, consistency with itself and with the requirements. I review the findings and tell it what to fix and what to ignore.

4. Claude brings unit tests in line with what the test plan says, adding/updating/removing tests but not touching code under test.

4a. (Optionally) the tests are reviewed by another instance of Claude for bugs and inconsistencies with the test plan or the style guide.

5. Claude implements the feature.

5a. (Optionally) another instance reviews the implementation.

For complex changes, I'm quite disciplined to have each step carried out in a different session so that all communinications are done via checked-in artifacts and not through context. For simple changes, I often don't bother and/or skip the reviews.

From time to time, I run standalone garbage collection and consistency checks, where I get Claude to look for dead code, low-value tests, stale parts of the design, duplication, requirements-design-tests-code drift etc. I find it particularly valuable to look for opportunities to make things simpler or even just smaller (fewer tokens/less work to maintain).

Occasionally, I find that I need to instruct Claude to write a benchmark and use it with a profiler to opimise something. I check these in but generally don't bother documenting them. In my case they tend to be one-off things and not part of some regression test suite. Maybe I should just abandon them & re-create if they're ever needed again.

I also have a (very short) coding style guide. It only includes things that Claude consistently gets wrong or does in ways that are not to my liking.


> Sure sounds like another fad diet.

Yeah! A fad lasting millions of years of human evolution, however.


The fad lasting millions of years is "eat what you can get, what is fibre?"

Practically advocates of every fad diet claim so.

With the crucial difference that now you have some leeway in firing one/some of your bosses.


Indeed! Also accepting projects/clients you actually want to work with.


Thanks for sharing. Would you mind expanding on a few points?

> 2. sell what makes customers feel good buying

What did you have in mind? What would make a purchase feel good or bad for a customer?

> 3. Never compete, focus on service with a novel niche product. Stupid people by their nature destroy everything around them regardless of long term benefit.

I'm not sure how the second sentence connects to the first - could you clarify what you mean there?

> 9. Stay quiet (especially online in a sea of cons), and only talk about the distant past when people try to goad you into telling them how you make revenue

You mean staying quiet about the specifics of your current products and strategy, as opposed to sharing general advice like here, right?

> Never let technical staff talk with the customers, or vendors.

Could you elaborate on the reasoning behind this?

Thanks again.


>What did you have in mind?

Whether computational efficiency for traditional problems on a bizarre Neuromorphic computing architecture would remain feasible.

>What would make a purchase feel good or bad for a customer?

An intangible asset heavily associated with brand reputation.

https://en.wikipedia.org/wiki/Goodwill_(accounting)

The business reasons deal with pricing fluctuations and human behavior.

https://www.ted.com/talks/dan_gilbert_the_surprising_science...

>could you clarify what you mean there?

Difficult to put a thesis on a road sign, but in general people make mistakes when building a business:

i. desperately grasping at low hanging fruit in a fragmented market. Where people burn enormous amounts of cash to bid down their own sectors perceived value.

ii. trying to innovate their way out of a bad business plan, instead of studying the market for what folks actually wanted.

iii. cognitive offloading, and premature labor cost-minimization using LLM isomorphic plagiarism to poison public discourse

https://harmful.cat-v.org/people/basic-laws-of-human-stupidi...

>You mean staying quiet about the specifics of your current products

One wants to limit contact with potential competitors/cloners, and focus on paying customers in a sales context.

>Could you elaborate on the reasoning behind this?

Flagging a "liability" is part of managing good workmanship standards:

https://www.gutenberg.org/files/26184/26184-h/26184-h.htm

Some people are ignorant, some are evil, and some are naive... One can't afford to make a distinction when restructuring divisions. =3


Thank you very much for taking the time to reply.


I don't know about others, but I switched to Reddit or forums for asking and answering questions because it offered a much smoother experience.


What do you mean?


I think it means they'd like to have a baby with me, and the more agents we can add, the faster the baby can incubate. Usual stuff :)


.


There is no such thing as "desktop Linux". What we have instead is a large collection of distros, each with its own UX, unlike Windows or macOS which present a relatively unified platform.

I switched to Linux many years ago because a new laptop was unusably slow under the Windows Vista it came with, and I have not looked back since, yet I'd never recommend Linux to "the masses". Linux can work well for people who just browse the web and read email. Beyond that, the experience quickly becomes dependent on having a knowledgeable person nearby to help with choosing software and supported hardware or troubleshooting it.

To me, articles like this show how disconnected many technically inclined people are from average users' experience. Things like bloated software or aggressive advertising may be annoying to us, but to most users they are just part of using a computer.


- AI Chat in VS Code

- ChatGPT Web interface


Would you mind sharing your current workflow?

For example, do you begin with a rough design and refine it into concrete steps with the AI, or take another approach? Do you switch models based on task complexity to manage costs?


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: