DeepSeek Coder: Let the Code Write Itself

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • aider

    aider is AI pair programming in your terminal

  • Thanks for trying aider, and sorry to hear you had trouble getting the hang of it. It might be worth looking through some of the tips on the aider github page:

    https://github.com/paul-gauthier/aider#tips

    In particular, this is one of the most important tips: Large changes are best performed as a sequence of thoughtful bite sized steps, where you plan out the approach and overall design. Walk GPT through changes like you might with a junior dev. Ask for a refactor to prepare, then ask for the actual change. Spend the time to ask for code quality/structure improvements.

    Not sure if this was a factor in your attempts? But it's best not to ask for a big sweeping change all at once. It's hard to unambiguously and completely specify what you want, and it's also harder for GPT to succeed at bigger changes in one bite.

  • developer

    the first library to let you embed a developer agent in your own app!

  • > much of the work is repetitive, but it comes with its edge cases that we need to look out for

    Then don't use AI for it.

    Bluntly.

    This is a poor use-case; it doesn't matter what model you use, you'll get a disappointing result.

    These are the domains where using AI coding currently shines:

    1) You're approaching a new well established domain (eg. building an android app in kotlin), and you already know how to build things / apps, but not specifically that exact domain.

    Example: How do I do X but for an android app in kotlin?

    2) You're building out a generic scaffold for a project and need some tedious (but generic) work done.

    Example: https://github.com/smol-ai/developer

    3) You have a standard, but specific question regarding your code, and although related Q/A answers exist, nothing seems to specifically target the issue you're having.

    Example: My nginx configuration is giving me [SPECIFIC ERROR] for [CONFIG FILE]. What's wrong and how can I fix it?

    The domains where it does not work are:

    1) You have some generic code with domain/company/whatever specific edge cases.

    The edge cases, broadly speaking, no matter how well documented, will not be handled well by the model.

    Edge cases are exactly that; edge cases; the common medium of 'how to x' does not cover edge cases; the edge cases will not be covered and the results will require you to review and complete them manually.

    2) You have some specific piece of code you want to refactor 'to solve xxx', but the code is not covered well by tests.

    LLMs struggle to refactor existing code, and the difficulty is proportional to the code length. There are technical reasons for this (mainly randomizing token weights), but tldr; it's basically a crap shot.

    Might work. Might not. If you have no tests who knows? You have to manually verify both the new functionality and the old functionality, but maybe it helps a bit, at scale, for trivial problems.

    3) You're doing some obscure BS or using a new library / new version of the library.

    The LLM will have no context for this, and will generate rubbish / old deprecated content.

    ...

    So. Concrete advice:

    1) sigh~

    > a friend of mine came and suggested that I use Retrieval-Augmented Generation (RAG), I have yet to try it, with a setup Langchain + Ollama.

    Ignore this advice. RAG and langchain are not the solutions you are looking for.

    2) Use a normal coding assistant like copilot.

    This is the most effective way to use AI right now.

    There are some frameworks that let you use open source models if you don't want to use openAI.

    3) Do not attempt to bulk generate code.

    AI coding isn't at that level. Right now, the tooling is primitive, and large scale coherent code generation is... not impossible, but it is difficult (see below).

    You will be more effective using an existing proven path that uses 'copilot' style helpers.

    However...

    ...if you do want to pursue code generation, here's a broad blueprint to follow:

    - decompose your task into steps

    - decompose you steps in functions

    - generate or write tests and function definitions

    - generate an api specification (eg. .d.ts file) for your function definitions

    - for each function definition, generate the code for the function passing the api specification in as the context. eg. "Given functions x, y, z with the specs... ; generate an implementation of q that does ...".

    - repeated generate multiple outputs for the above until you get one that passes the tests you wrote.

    This approach broadly scales to reasonably complex problems, so long as you partition your problem into module sized chunks.

    I personally like to put something like "you're building a library/package to do xxx" or "as a one file header" as a top level in the prompt, as it seems to link into the 'this should be isolated and a package' style of output.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Overture Maps Foundation Releases Beta of Its First Open Map Dataset

    1 project | news.ycombinator.com | 17 Apr 2024
  • Overture Maps Parquet Files Now Ordered by Location

    1 project | news.ycombinator.com | 14 Mar 2024
  • Overture Maps Foundation Releases Its First World-Wide Open Map Dataset

    1 project | news.ycombinator.com | 26 Jul 2023
  • Overture Maps Alpha.0 Release Notes

    1 project | news.ycombinator.com | 26 Jul 2023
  • May 8, 2024 AI, Machine Learning and Computer Vision Meetup

    2 projects | dev.to | 1 May 2024