Mmm it sounds like you’re using it in a very different way to me; by the time I’m using an LLM, I generally have way more than a general feel for what I’m looking for. People rag on ai for being a “fancy autocomplete”, but that’s literally what I like to use it for. I’ll feed it a detailed spec for what I need, give it a skeleton function with type definitions, and tell the ai to fill it in. It generally fills in basic functions pretty well with that level of definition (ymmv depending on the scope of the function).
This lets me focus more on the code design/structure and validation, while the ai handles a decent amount of grunt work. And if it does a bad job, I would have written the spec and skeleton anyways, so it’s more like bonus if it works. It’s also very good at imitation, so it can help to avoid double-work with similar functionalities.
Kind of shortened/naive example of how I use:
/* Example of another db update function within the app */
/* UnifiedEventUpdate and UnifiedEvent type definitions */
Help me fill in this function
/// Updates event properties, and children:
/// - If `event.updated` is newer than existing, update as normal
/// - If `event.updated` is older than existing, error
/// - If no `event.updated` is provided, assume updated to be now()
/// For updating Content(s):
/// - If `content.id` exists, update the existing content
/// - If `content.id` does not exist, create a new content
/// - If an existing content isn't present, delete the content
pub fn update_event(
conn: &mut Conn,
event: UnifiedEventUpdate,
) -> Result<UnifiedEvent, Error> {
I would say deep thinking work, I average around 3-4 hours, but range between 0-8 hours. Like if I really feel in zone, it’s easy to go hard, but if I didn’t sleep well, or had too much caffeine, or didn’t eat enough, it’s just joever. I think months of grinding is possible with the right motivation, but I find that trying to force that motivation is pretty hard; I think that’s often more environment-based, rather than solely individual effort (ala being in a class of very motivated individuals)
The important part for me is trying to start every day (or whatever your schedule is), because it can be hard to know how well I’ll concentrate until I try for 30 minutes or so. And consistency over a long period of time is key.
edit: oh, fwiw, specifically for Chinese, I have been building this recently… although it’s not done yet. https://hanzi.bpev.me/