Post: Designing Software in the Large -- What I've learned recently about designing large long-lived maintainable software programs: https://t.co/xvdFfH0dgx #programming#coding
+1 for "context engineering" over "prompt engineering".
People associate prompts with short task descriptions you'd give an LLM in your day-to-day use. When in every industrial-strength LLM app, context engineering is the delicate art and science of filling the context window with just the right information for the next step. Science because doing this right involves task descriptions and explanations, few shot examples, RAG, related (possibly multimodal) data, tools, state and history, compacting... Too little or of the wrong form and the LLM doesn't have the right context for optimal performance. Too much or too irrelevant and the LLM costs might go up and performance might come down. Doing this well is highly non-trivial. And art because of the guiding intuition around LLM psychology of people spirits.
On top of context engineering itself, an LLM app has to:
- break up problems just right into control flows
- pack the context windows just right
- dispatch calls to LLMs of the right kind and capability
- handle generation-verification UIUX flows
- a lot more - guardrails, security, evals, parallelism, prefetching, ...
So context engineering is just one small piece of an emerging thick layer of non-trivial software that coordinates individual LLM calls (and a lot more) into full LLM apps. The term "ChatGPT wrapper" is tired and really, really wrong.
Crystal 1.10.0 is released, making large websites even easier to download!
Reopening a project now resumes previous downloads; helpful when a site requires multiple days to download. And fewer clicks to perform several common actions.
Check it out at: https://t.co/q3MEQydBml
Thinking of adding #VueJS to your #Django web app? My guide for using Django & Vue together is updated for 2024! I also open-sourced a repository with example integration code. 1. https://t.co/dYtJZxBJBl 2. https://t.co/U2qZlFJjF4
trycast 1.2.0 is released, with a new checkcast() function that explains validation errors, and with support for "type" statements from Python 3.12 https://t.co/awR1HP0JpP #typechecking
I find the fire & heat around Redis changing licensing surprising. Maintaining Redis takes effort which cannot be free in a sustainable fashion.
I wrote more here: https://t.co/shAMvlQfOQ
Crystal 1.8.0 is released, with workflow improvements for quickly downloading large websites, and improved error handling! https://t.co/0vwyV3Hy7p #archival#digitalpreservation
🚨BREAKING: The European Parliament has just APPROVED the AI Act. What everyone should know:
➵ The AI Act follows a risk-based approach. Some AI systems are banned, such as those involving:
- Cognitive behavioral manipulation of people or specific vulnerable groups;
- Social scoring: classifying people based on behavior, socioeconomic status, or personal characteristics;
- Biometric identification and categorization of people;
- Real-time and remote biometric identification systems, such as facial recognition.
➵ Some AI systems fall in the "high-risk" category, such as those involving:
- Critical infrastructures (e.g. transport) that could put the life and health of citizens at risk;
- Educational or vocational training that may determine the access to education and professional course of someone’s life (e.g. scoring of exams);
- Safety components of products (e.g. AI application in robot-assisted surgery);
- Employment, management of workers, and access to self-employment (e.g. CV-sorting software for recruitment procedures);
- Essential private and public services (e.g. credit scoring denying citizens opportunity to obtain a loan);
law enforcement that may interfere with people’s fundamental rights (e.g. evaluation of the reliability of evidence);
- Migration, asylum, and border control management (e.g. automated examination of visa applications);
- Administration of justice and democratic processes (e.g. AI solutions to search for court rulings).
➵ High-risk AI systems will be assessed before being put on the market and also throughout their lifecycle. People will have the right to file complaints about AI systems to designated national authorities.
➵ Generative AI, like ChatGPT, will not be classified as high-risk but will have to comply with transparency requirements and EU copyright law. Some of the obligations are:
- Disclosing that the content was generated by AI;
- Designing the model to prevent it from generating illegal content;
- Publishing summaries of copyrighted data used for training.
➵ The AI Act is expected to officially become law by May or June, and its provisions will start taking effect in stages:
- 6 months later: countries will be required to ban prohibited AI systems;
- 1 year later: rules for general-purpose AI systems will start applying;
- 2 years later: the whole AI Act will be enforceable.
➵ Fines for non-compliance can be up to 35 million Euros or 7% of worldwide annual turnover.
➵ If you want to learn more about the AI Act, including challenges, opportunities, and practical insights, join my live session with @BertuzLuca, @JcMalgieri & @RistoUuk on April 4th (register using the link below).
Crystal 1.7.0b is released, now with even better support for downloading large websites up to ~10 million URLs, about the size of Wikipedia! https://t.co/0vwyV3Hy7p #archival#digitalpreservation
trycast 1.1.0 is released, supporting recognition of TypedDicts with extra items, which is common in JSON formats that get extended over time https://t.co/awR1HP0JpP #python#typechecking
Just released v1.6.0 of Crystal, my website downloader. Now efficiently downloads sites up to 10 million pages! https://t.co/0vwyV3Hy7p #archival#digitalpreservation
@lemire Durable ideas from object-oriented programming IMHO include encapsulation (defining modules/classes at all; minimizing public surface area) and programming to interfaces vs implementations. Inheritance, however, is better replaced with delegation in my experience.